#ckb #interface #operations #experimental #aims #human-friendly #script

ckbez

CKB Easy is an experimental project that aims to provide human-friendly interfaces for common CKB operations

4 releases

0.118.0 Oct 9, 2024
0.1.4 Sep 24, 2024
0.1.3 Sep 21, 2024
0.1.2 Sep 21, 2024

#29 in #human-friendly

41 downloads per month

MIT license

1.5MB
915 lines

Contains (ELF exe/lib, 3MB) res/spawn_callee, (ELF exe/lib, 3MB) res/spawn_caller, (ELF exe/lib, 1.5MB) res/exit_0

CKB Easy

CKB Easy is an experimental project that aims to provide human-friendly interfaces for common CKB operations. Note that CKB Easy is not a complete SDK, but only implements the CKB functions that I am interested in.

[dependencies]
ckbez = "0.118"

Features:

  • Made the damn molecule, in a human way
  • Implemented a unit testing framework

Usage

examples/molecule.rs

Deserialize a script, modify its args, and reserialize it. If you use the native molecule library from ckb, this will be the worst punishment in hell.

$ cargo run --example molecule

# Raw script in hex: 3900000010000000300000003100000082d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e010400000000010203
# Raw script in obj: Script { code_hash: [130, 215, 109, 27, 117, 254, 47, 217, 162, 125, 251, 170, 101, 160, 57, 34, 26, 56, 13, 118, 201, 38, 243, 120, 211, 248, 28, 243, 231, 225, 63, 46], hash_type: 1, args: [0, 1, 2, 3] }
# New script in obj: Script { code_hash: [130, 215, 109, 27, 117, 254, 47, 217, 162, 125, 251, 170, 101, 160, 57, 34, 26, 56, 13, 118, 201, 38, 243, 120, 211, 248, 28, 243, 231, 225, 63, 46], hash_type: 1, args: [3, 2, 1, 0] }
# New script in hex: 3900000010000000300000003100000082d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e010400000003020100

examples/unittest.rs

Create a transaction whose input is locked by the exit_0 contract, and execute it.

$ cargo run --example unittest

# All cycles: 0.0 M

Licences

MIT

Dependencies

~17–47MB
~759K SLoC