CKB Hard Fork History
This page contains a timeline of all the hard forks, and updates to the Nervos CKB.
2nd Hard Fork β CKB Edition Meepo (2024)β
Mainnet Launch
π
Date: TBD
β³ Epoch number: TBD
Testnet Launch
π
Date: TBD
β³ Epoch number: TBD
Meepo (2024) Summaryβ
The CKB Edition Meepo (2024) introduces a range of enhancements into CKB Script development, with one major innovation being Spawn. Spawn enables direct cross-script calls, simplifying development process while offering greater control and optimization. This update significantly enhances the flexibility of CKB Script.
Important Featuresβ
CKB-VM V2
- One notable addition is the inclusion of a new system call called "Spawn," which can be further explored in the RFC50: CKB-VM Syscalls 3. In essence, Spawn serves as an alternative to dynamic library calls and Exec. With Spawn, a Script can create a child Script with an independent memory area, and data can be passed between the parent and child Scripts without restriction.
- Implemented more macro-op fusions to reduce cycle consumption, making Scripts run more efficiently.
- Added a new
data2
value in the Scripthash_type
field to smoothly manage different VM versions, ensuring a seamless upgrade path.
Tools & Upgrade Requirementsβ
Below is a comprehensive checklist for updating tools, libraries, and SDKs related to the Meepo hardfork. Ensure all components are updated and tested as per the specified versions and notes below.
Core Componentsβ
- ckb (crate): v0.119.0 (supports data2 and Spawn)
Standard Librariesβ
- ckb-std: v0.16.1
- ckb-c-stdlib
SDKsβ
- ckb-rust-sdk: v3.4.1 (supports data2 and CKB preview)
- ckb-go-sdk: v2.3.0
- ckb-sdk-java: https://github.com/nervosnetwork/ckb-sdk-java/pull/683
Development Toolsβ
- ckb-cli: v1.6.0 (supports data2 and CKB preview)
- ccc (common chain connector): v0.0.2
- ckb-testtool: v0.14.0
- ckb-standalone-debugger: v0.119.0
- ckb-script-template: https://github.com/cryptape/ckb-script-templates/pull/14
Virtual Machinesβ
- ckb-lua-vm: https://github.com/nervosnetwork/ckb-lua-vm/pull/15
- ckb-js-vm: https://github.com/nervosnetwork/ckb-js-vm/pull/14
Resourcesβ
- CKB2023
- RFC48: Remove Block Header Version Reservation Rule
- RFC49: CKB VM version2
- RFC50: CKB VM Syscalls 3