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

Download history 27/week @ 2024-03-11 24/week @ 2024-03-18 26/week @ 2024-03-25 48/week @ 2024-04-01 10/week @ 2024-04-08 14/week @ 2024-04-15 23/week @ 2024-04-22 12/week @ 2024-04-29 16/week @ 2024-05-06 25/week @ 2024-05-13 13/week @ 2024-05-20 33/week @ 2024-05-27 14/week @ 2024-06-03 17/week @ 2024-06-10 13/week @ 2024-06-17 23/week @ 2024-06-24

每月 71 次下载
用于 8 个crate (5 个直接使用)

MIT 许可证

76KB
1.5K SLoC

此入门指南将指导您运行rosetta-client中的示例。

Ethereum

设置节点

  1. 首先,您需要为连接器构建,如果您在mac上运行,您可能会遇到gcc错误。要解决这个问题,请按照以下步骤操作。

  2. 在mac上运行 rustup target add x86_64-unknown-linux-musl

  3. ~/.cargo/config 中添加以下内容

[target.x86_64-unknown-linux-musl]
linker = "x86_64-linux-musl-gcc"
  1. build_connectors.sh 中将 cargo build 替换为 TARGET_CC=x86_64-linux-musl-gcc cargo build
  2. 运行 ./build_connectors.sh
  3. 在构建连接器后,运行 docker compose up

编译投票合约

  1. 我们有一个 voting_contract.sol 我们需要编译并获取其二进制文件以便部署。为此,您需要安装 solc。您可以使用 brew install soliditysudo apt-get install solc 来安装它。
  2. 在合约文件夹中运行 solc --combined-json abi,bin --abi --bin voting_contract.sol -o ./voting_contract_files
  3. 您将获得一个包含 voting_contract_files 文件夹的目录,其中包含 voting_contract.abivoting_contract.bincombined_voting_contract.json 文件。由于我们只关注 bin 文件,我们将使用 voting_contract.bin。为了方便,我们已经将其编译并导入到示例文件夹中。

运行投票合同示例

  1. 本示例演示如何使用 Analog 的钱包与智能合约交互。我们将部署一个基本的合同,用于存储是或否的投票,并显示投票的总数。
  2. 运行 cargo run --example voting_contract faucet 以获取一些资金来部署合同。
  3. 要部署合同,运行 cargo run --example voting_contract deploy。您将获得部署合同的地址作为输出,请确保复制它。
  4. 要投赞成票,运行 cargo run --example voting_contract vote --contract-address "0x678ea0447843f69805146c521afcbcc07d6e28a2" -v。要投反对票,运行 cargo run --example voting_contract vote --contract-address "0x678ea0447843f69805146c521afcbcc07d6e28a2",您将获得包含 n 数组的 CallResponse 输出,第一个 uint 是合同中 yes 投票的总数,第二个是 no 投票的总数。

运行以太坊示例

  1. 本示例演示如何使用 Analog 的钱包与以太坊交互。
  2. 确保您已经部署了投票合同。如果没有,请按照投票合同示例的第 2 和第 3 步操作。
  3. 运行 cargo run --example ethereum -- --contract-address "0x678ea0447843f69805146c521afcbcc07d6e28a2"
  4. 它运行钱包所有可用的方法,并返回有效的输出。

依赖项

~22–37MB
~628K SLoC