32 个版本 (10 个重大更新)
新版本 0.15.1 | 2024 年 8 月 16 日 |
---|---|
0.15.0 |
|
0.14.1 | 2024 年 8 月 16 日 |
0.14.0 |
|
0.1.1 |
|
#684 在 神奇豆子
每月 70,667 次下载
用于 127 个 crate (112 个直接使用)
160KB
2.5K SLoC
ic-cdk
互联网计算机的 Canister 开发工具包。
背景
在互联网计算机上,智能合约以 canister 的形式出现,它们是 WebAssembly 模块。
Canister 提供了入口点,可以由其他 canister 和 IC 外部实体调用。
这个库旨在提供 Rust 优化的抽象来实现 Canister 入口点。
使用 ic-cdk
在 Cargo.toml 中
[lib]
crate-type = ["cdylib"]
[dependencies]
ic-cdk = "0.15"
# Only necessary if you want to define Candid data types
candid = "0.10"
然后在 Rust 源代码中
#[ic_cdk::query]
fn hello() -> String {
"world".to_string()
}
这将注册一个名为 hello
的 查询 入口点。
宏定义
这个库重新导出在 ic-cdk-macros
crate 中定义的宏。
这些宏分为两类
- 将函数注册为 canister 入口点
- 导出 Candid 定义
将函数注册为 canister 入口点
这些宏与 互联网计算机规范 直接相关。
导出 Candid 定义
请查阅为 Rust canisters 生成 Candid 文件以获取更多详细信息。
更多示例
在稳定内存中管理数据结构
使用 ic_cdk::storage::{stable_save, stable_restore}
API 很简单,但它扩展性不佳。
当处理具有较大数据集的多个数据结构时,推荐使用 ic-stable-structures
。
依赖项
~1.1–2MB
~41K SLoC