2 个版本

0.1.1 2020年6月15日
0.1.0 2020年6月8日

#112 in #ckb


用于 muta-std

MIT 许可证

11KB
277

ckb-std

Crates.io

此库包含多个模块,可帮助您使用 Rust 编写 CKB 合同。

用法

文档

模块

  • syscalls 模块:定义 CKB 系统调用
  • high_level 模块:定义高级 API
  • dynamic_loading 模块:动态加载原语
  • debug! 宏:类似于 println! 的宏,有助于调试
  • entry! 宏:定义合同入口点
  • default_alloc! 宏:定义无 std Rust 的全局分配器

内存分配器

默认分配器使用混合分配策略

  • 固定块堆,仅分配固定大小(64B)的内存块
  • 动态内存堆,分配任何大小的内存块

用户可以通过带有参数的宏来调用,以自定义堆大小。默认堆大小参数为

(固定堆大小 4KB,动态堆大小 516KB,动态堆最小内存块 64B)

使用带有参数的宏来更改它

default_alloc!(4 * 1024, 516 * 1024, 64)

注意,使用不同的堆大小或内存块大小可能会影响合同的验证结果,可能会出现一些运行时错误,如 内存不足;您在自定义后应始终测试合同。

示例

查看 examples测试 以了解如何使用。

另请参阅 ckb-tool,它可以帮助您编写测试。

依赖项

~35KB