ckb 0.118.0-rc1 (63ae338 2024-08-19)
Pre-releaseThis is an RC version to preview the changes in the next release.
See details in #4598
Compatibility Table
Network | Consensus Version | Minimal CKB Version |
---|---|---|
dev | ckb2023 since epoch 0 | |
testnet | ckb2021 since epoch 3113 | v0.101.0 |
mainnet | ckb2021 since epoch 5414 | v0.103.0 |
Downloads
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.15 or above | zip | PGP |
macOS (Portable) | x64 | macOS 10.15 or above | zip | PGP |
macOS | ARM64 | macOS 10.15 or above | zip | PGP |
macOS (Portable) | ARM64 | macOS 10.15 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
Linux (Portable) | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++ | tarball | PGP |
CentOS (Portable) | x64 | glibc, libstdc++ | tarball | PGP |
Windows | x64 | VC++ Redistributable | zip | PGP |
Linux | ARM64 | glibc, libstdc++ | tarball | PGP |
The .asc
files are signatures. It is wise and more secure to check out for the files integrity.
Try the portable variants if the binaries complains about illegal instructions.
Changes since v0.117.0
Features
-
#4365: Asynchronous Block Download and Verification (@eval-exec)
This PR introduces several enhancements to the CKB Synchronizer to reduce synchronization time
during the initial block download (IBD) phase. Key changes include:- Asynchronous Operations: The Synchronizer sliding window movement is now decoupled from the block verification process in the ChainService, allowing asynchronous handling. This improves the efficiency of block requests and verification.
- Changes to sync_state RPC:
- Added
tip_hash
andtip_number
to represent the current chain tip. - Added
unverified_tip_hash
andunverified_tip_number
to track the latest received but not yet verified blocks. - Removed the
orphan_blocks_size
field.
- Added
- Log Format Update: The format of CKB logs has been updated, specifically changing the prefix and content of log entries to provide clearer and more structured information.
These updates lead to a more efficient synchronization process, reducing the overall time
required for IBD. Note that removing theorphan_blocks_size
field constitutes a BREAKING CHANGE
in thesync_state
RPC. -
#4380: New spawn with scheduler (@mohanson)
This change is only available in the next version of CKB consensus rules.
In this PR, we refactored the implementation of spawn. The refactored syscall API is defined as follows: https://github.com/XuJiandong/ckb-c-stdlib/blob/syscall-spawn/ckb_syscall_apis.h#L54-L68.
Review Introduction: #4380 (comment)
Documentation: nervosnetwork/rfcs#436
-
#4291: New script verify with ckb-vm pause (@chenyukang)
- Use a job queue for pending transactions waiting for verifying
- Multiple workers trigger the verification process by picking task from queue
- Verification is changed to
async
style - Use channel to resume/suspend vm
- No snapshot from VM machines
- No
Suspend
state from cache - All transactions from remote peer will be added into queue
Bug Fixes
-
#4576: Add limit to get cells (@driftluo)
This is a breaking change to RPC. The RPC to get cells may fail when exceeding the limit.
Improvements
-
#4529: Add jsonrpc batch request limit (@chenyukang)
-
#4583: Add
tx_index
toTxStatus
forget_transaction
RPC (@eval-exec)This is a breaking change to the RPC.
-
#4591:
VerifyQueue
: re_notify other Worker whenOnlySmallCycleTx
received a large cycle tx (@eval-exec)