46 个版本 (破坏性)

0.37.0 2024年7月23日
0.35.0 2024年5月10日
0.34.0 2024年3月18日
0.31.0 2023年11月27日
0.3.0 2021年7月12日

#6 in #icp

Download history 105/week @ 2024-05-04 40/week @ 2024-05-11 10/week @ 2024-05-18 1/week @ 2024-05-25 127/week @ 2024-06-01 21/week @ 2024-06-08 2/week @ 2024-06-15 107/week @ 2024-07-20 83/week @ 2024-07-27 1/week @ 2024-08-03

每月下载量 191

Apache-2.0

455KB
9K SLoC

icx

A command line tool to use the ic-agent crate directly. It allows simple communication with the Internet Computer.

安装 icx

To install icx you will have to build it locally, using cargo. Make a clone of this repository, then in it simply run cargo build

git clone https://github.com/dfinity/agent-rust.git
cd agent-rust
cargo build

The output executable will be in target/debug/icx.

Using icx

To get help, simply use icx --help.

身份

To read a PEM file, you can pass it with the --pem argument. The PEM file must be a valid key that can be used for the Internet Computer signing and validation.

Root Key

For non-IC networks, pass --fetch-root-key to fetch the root key. When this argument is not present, icx uses the hard-coded public key.

示例

要调用管理 canister 的 create_canister 函数,可以使用以下方法

icx update aaaaa-aa create_canister

如果您有一个 candid 文件,可以使用它来验证参数。使用 --candid=path/to/the/file.did 参数传递它

icx query 75hes-oqbaa-aaaaa-aaaaa-aaaaa-aaaaa-aaaaa-q greet --candid=~/path/greet.did '("World")' 

签名和发送分离

当使用 icx updateicx query 时,通过传递 --serialize 将签名 canister 调用消息序列化为 json。输出将打印到 stdout。当使用 icx update 时,还会生成相应的请求状态消息并打印到 stderr。

使用 dfx new 创建的默认 IC 项目中,本地仿真器已通过 dfx start --background 启动。

签名
icx --fetch-root-key update --serialize rwlgt-iiaaa-aaaaa-aaaaa-cai greet '("everyone")' > output.txt
head -n 1 output.txt > update.json
tail -n 1 output.txt > request_status.json

rwlgt-iiaaa-aaaaa-aaaaa-cai 是默认项目中 hello canister 的 ID。

发送
cat update.json | icx send
...
RequestID: 0x1234....
请求状态
cat request_status.json | icx --fetch-root-key send
...
("Hello, everyone!")

在向 IC 主网发送消息时,不需要所有的 --fech-root-key。因此,签名步骤可以在断网机器上执行。

依赖项

~27–42MB
~761K SLoC