32个版本
0.15.3 | 2024年3月25日 |
---|---|
0.15.1 | 2024年1月31日 |
0.14.3 | 2023年8月25日 |
0.14.2 | 2023年7月4日 |
0.1.1 | 2020年3月25日 |
#6 in #ckb
808 每月下载量
用于 4 crates
240KB
6K SLoC
ckb-std
此库包含多个模块,帮助您使用Rust编写CKB合约。
用法
模块
syscalls
模块:定义 CKB 系统调用high_level
模块:定义高级APIdynamic_loading
模块:动态加载原语debug!
宏:类似于println!
的宏,有助于调试entry!
宏:定义合约入口点default_alloc!
宏:定义无标准Rust的全局分配器
内存分配器
默认分配器使用混合分配策略
- 固定块堆,仅分配固定大小(64B)的内存块
- 动态内存堆,分配任何大小的内存块
用户可以通过传递参数调用宏来自定义堆大小。默认堆大小参数为
(固定堆大小 4KB,动态堆大小 516KB,动态堆最小内存块 64B)
使用带参数的宏来更改它
default_alloc!(4 * 1024, 516 * 1024, 64)
请注意,使用不同的堆大小或内存块大小可能会影响合约的验证结果,可能会导致一些运行时错误,如 内存不足;您应该在自定义后始终测试合约。
示例
查看 examples
和 测试 以了解如何使用。
另请参阅 ckb-tool,它可以帮助您编写测试。
依赖项
~1.4–2.6MB
~57K SLoC