4个版本 (2个重大更改)
0.4.0 | 2023年6月29日 |
---|---|
0.2.5 | 2023年5月1日 |
0.1.1 | 2023年3月30日 |
0.1.0 | 2023年3月30日 |
#32 in #analog
每月 71 次下载
用于 8 个crate (5 个直接使用)
76KB
1.5K SLoC
此入门指南将指导您运行rosetta-client中的示例。
Ethereum
设置节点
-
首先,您需要为连接器构建,如果您在mac上运行,您可能会遇到gcc错误。要解决这个问题,请按照以下步骤操作。
-
在mac上运行
rustup target add x86_64-unknown-linux-musl
。 -
在
~/.cargo/config
中添加以下内容
[target.x86_64-unknown-linux-musl]
linker = "x86_64-linux-musl-gcc"
- 在
build_connectors.sh
中将cargo build
替换为TARGET_CC=x86_64-linux-musl-gcc cargo build
- 运行
./build_connectors.sh
。 - 在构建连接器后,运行
docker compose up
。
编译投票合约
- 我们有一个
voting_contract.sol
我们需要编译并获取其二进制文件以便部署。为此,您需要安装solc
。您可以使用brew install solidity
或sudo apt-get install solc
来安装它。 - 在合约文件夹中运行
solc --combined-json abi,bin --abi --bin voting_contract.sol -o ./voting_contract_files
。 - 您将获得一个包含
voting_contract_files
文件夹的目录,其中包含voting_contract.abi
、voting_contract.bin
和combined_voting_contract.json
文件。由于我们只关注 bin 文件,我们将使用voting_contract.bin
。为了方便,我们已经将其编译并导入到示例文件夹中。
运行投票合同示例
- 本示例演示如何使用 Analog 的钱包与智能合约交互。我们将部署一个基本的合同,用于存储是或否的投票,并显示投票的总数。
- 运行
cargo run --example voting_contract faucet
以获取一些资金来部署合同。 - 要部署合同,运行
cargo run --example voting_contract deploy
。您将获得部署合同的地址作为输出,请确保复制它。 - 要投赞成票,运行
cargo run --example voting_contract vote --contract-address "0x678ea0447843f69805146c521afcbcc07d6e28a2" -v
。要投反对票,运行cargo run --example voting_contract vote --contract-address "0x678ea0447843f69805146c521afcbcc07d6e28a2"
,您将获得包含 n 数组的CallResponse
输出,第一个 uint 是合同中yes
投票的总数,第二个是no
投票的总数。
运行以太坊示例
- 本示例演示如何使用 Analog 的钱包与以太坊交互。
- 确保您已经部署了投票合同。如果没有,请按照投票合同示例的第 2 和第 3 步操作。
- 运行
cargo run --example ethereum -- --contract-address "0x678ea0447843f69805146c521afcbcc07d6e28a2"
- 它运行钱包所有可用的方法,并返回有效的输出。
依赖项
~22–37MB
~628K SLoC