4 releases (2 breaking)
0.4.0 | Jun 29, 2023 |
---|---|
0.2.5 | May 1, 2023 |
0.1.1 | Mar 30, 2023 |
0.1.0 | Mar 30, 2023 |
#31 in #analog
26 downloads per month
Used in 8 crates
(5 directly)
76KB
1.5K
SLoC
This get starter to run example available in rosetta-client.
Ethereum:
Setting up nodes
-
First you need to build connectors for that you can run
./build_connectors.sh
if you are running on mac you might get gcc error. To solve it please do following. -
Run
rustup target add x86_64-unknown-linux-musl
in mac. -
In
~/.cargo/config
add following
[target.x86_64-unknown-linux-musl]
linker = "x86_64-linux-musl-gcc"
- In
build_connectors.sh
replacecargo build
withTARGET_CC=x86_64-linux-musl-gcc cargo build
- Run
./build_connectors.sh
. - After conenctors are build run
docker compose up
.
Compiling voting contract
- We have a
voting_contract.sol
we have to compile and get its binary in order to deploy it. For this you need to havesolc
installed. You can install it usingbrew install solidity
orsudo apt-get install solc
. - Run
solc --combined-json abi,bin --abi --bin voting_contract.sol -o ./voting_contract_files
in contract folder. - You will get
voting_contract_files
folder withvoting_contract.abi
,voting_contract.bin
andcombined_voting_contract.json
which contains both abi and bin since we are only concerned with bin we will usevoting_contract.bin
. and for sake of easiness we have already compiled and imported it in examples folder.
Running voting_contract example
- This example demonstrate how to interact with smart contract using Aanlog's wallet. We will deploy a basic contracts storing yes or no votes and displays total votes on voting.
- Run
cargo run --example voting_contract faucet
. to get some funds to deploy contract. - To deploy contract run
cargo run --example voting_contract deploy
. You will get deployed contract address as output, make sure you copy it. - To vote for yes run
cargo run --example voting_contract vote --contract-address "0x678ea0447843f69805146c521afcbcc07d6e28a2" -v
To vote for no runcargo run --example voting_contract vote --contract-address "0x678ea0447843f69805146c521afcbcc07d6e28a2"
you will getCallResponse
as output containing n array first uint is total ofyes
votes and second forno
votes in contract.
Running ethereum example
- This examples demonstrate how to interact with ethereum using Analog's wallet.
- Make sure you have voting contract deployed. If not please follow voting_contract example steps 2 and 3.
- Run
cargo run --example ethereum -- --contract-address "0x678ea0447843f69805146c521afcbcc07d6e28a2"
- It runs all available methods available for wallet and respond with valid output.
Dependencies
~23–38MB
~631K SLoC