2 个版本
0.1.1 | 2020年6月15日 |
---|---|
0.1.0 | 2020年6月8日 |
#112 in #ckb
用于 muta-std
11KB
277 行
ckb-std
此库包含多个模块,可帮助您使用 Rust 编写 CKB 合同。
用法
模块
syscalls
模块:定义 CKB 系统调用high_level
模块:定义高级 APIdynamic_loading
模块:动态加载原语debug!
宏:类似于println!
的宏,有助于调试entry!
宏:定义合同入口点default_alloc!
宏:定义无 std Rust 的全局分配器
内存分配器
默认分配器使用混合分配策略
- 固定块堆,仅分配固定大小(64B)的内存块
- 动态内存堆,分配任何大小的内存块
用户可以通过带有参数的宏来调用,以自定义堆大小。默认堆大小参数为
(固定堆大小 4KB,动态堆大小 516KB,动态堆最小内存块 64B)
使用带有参数的宏来更改它
default_alloc!(4 * 1024, 516 * 1024, 64)
注意,使用不同的堆大小或内存块大小可能会影响合同的验证结果,可能会出现一些运行时错误,如 内存不足;您在自定义后应始终测试合同。
示例
查看 examples
和 测试 以了解如何使用。
另请参阅 ckb-tool,它可以帮助您编写测试。
依赖项
~35KB