Releases: nervosnetwork/ckb
ckb 0.120.0 (29456f5 2024-12-11)
Highlights
- #4477 introduced an optional fee estimator with multiple algorithms to enhance transaction fee calculations.
- #4683 added WASM support.
Breaking Changes:
- #4741 breaks config and the executable behavior. The ckb process will enable WS using the old config file.
- #4728 breaks RPC. It removed anyhow's backtrace from RPC response error message.
Compatibility Table
Network | Consensus Version | Minimal CKB Version |
---|---|---|
dev | ckb2023 since epoch 0 | |
preview | ckb2023 since epoch 0 | v0.119.0 |
testnet | ckb2023 since epoch 9690 | v0.119.0 |
mainnet | ckb2021 since epoch 5414 | v0.103.0 |
See how to connect to various chains in Wiki.
Default assume valid target
- Mainnet: 0x323642363d254e830556ba670907d4455c2aeb8a38a227da7401e92a297efede
- Testnet: 0x9674c22c68f4b65ff97944151c39ff3f8108707b4bc86378393b3312a823db77
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 |
Docker | dockerhub |
Deprecation Notice: CentOS has reached its EOL, we will stop providing CentOS binaries in the future. Please use other platforms or build from source.
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.119.0
Features
-
#4477: (experimental) optional fee estimator with different algorithms (@yangby-cryptape)
-
#4741: Let old config node open ws listen by default (@driftluo)
This is a breaking change to the config.
Bug Fixes
Improvements
-
#4694: Support LZ4 rocksdb compression type (@eval-exec)
-
#4700: Generate
default.db-options
file if it not exist (@eval-exec) -
#4702: Don't ban remote peer when VM receives Ctrl-C signal while processing
chunk_tx
(@eval-exec) -
#4728: Remove anyhow's backtrace from RPC response (@eval-exec)
This is a breaking change to RPC where the error messages have changed.
ckb 0.120.0-rc4 (b546f2e 2024-12-04)
This is an RC version to preview the changes in the next release.
See #4715 for details.
Compatibility Table
Network | Consensus Version | Minimal CKB Version |
---|---|---|
dev | ckb2023 since epoch 0 | |
preview | ckb2023 since epoch 0 | v0.119.0 |
testnet | ckb2023 since epoch 9690 | v0.119.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.120.0-rc2
ckb 0.120.0-rc2 (c79c375 2024-11-20)
This is an RC version to preview the changes in the next release.
See #4715 for details.
Compatibility Table
Network | Consensus Version | Minimal CKB Version |
---|---|---|
dev | ckb2023 since epoch 0 | |
preview | ckb2023 since epoch 0 | v0.119.0 |
testnet | ckb2023 since epoch 9690 | v0.119.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 |
Deprecation Notice: CentOS has reached its EOL, we will stop providing CentOS binaries in the future. Please use other platforms or build from source.
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 v1.119.0
ckb 0.119.0 (69d4df8 2024-10-25)
Highlights
This release introduces a new chain designed to provide a preview environment for the upcoming hardfork on the Nervos CKB network.
The hardfork has been activated on the testnet. To participate, please update your testnet nodes to at least version 0.119.0.
Compatibility Table
Network | Consensus Version | Minimal CKB Version |
---|---|---|
dev | ckb2023 since epoch 0 | |
preview | ckb2023 since epoch 0 | v0.119.0 |
testnet | ckb2023 since epoch 9690 | v0.119.0 |
mainnet | ckb2021 since epoch 5414 | v0.103.0 |
See how to connect to various chains in Wiki.
Default assume valid target
- Mainnet: 0x1dc6ebf09bf066b6d4c6b9bf1ded8e4c692c55b14f98bff231a4cb26720412cd
- Testnet: 0xa13450d53528d80fb5886f35386cf0119eea74cc63092c1138c38971416fe445
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 |
Docker | dockerhub |
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.118.0
Features
-
#4635: Intro preview chain (@zhangsoledad)
Introduces a new chain operation to provide a preview environment for the upcoming hardfork on the Nervos CKB network. The new chain allows users and developers to test and review the hardfork changes before they are officially deployed on the mainnet, ensuring all updates and features are thoroughly validated. This preview chain helps improve the security and reliability of the hard fork process, minimizing potential risks before the main deployment.
Bug Fixes
- #4623: Fix atomic ordering in multi-thread (@driftluo)
- #4664 script: Remove isa a in version 2 (@mohanson)
- #4677: fix(script): fixed panic when calling
inherited_fds
in root process (@zhangsoledad)
Improvements
- #4561: Recover possible transaction in conflicted cache when RBF (@chenyukang)
- #4641: Let BlockFilter exit if ckb has received exit signal (@eval-exec)
- #4654:
get_fee_rate_statistics
should awareblock_ext.txs_sizes
length isblock_ext.txs_fees
length + 1 (@eval-exec) - #4509: Improve query performance of
get_cells
in rich-indexer (@EthanYuan) - #4674: Remove empty entry for
OrphanPool
(@eval-exec)
ckb 0.119.0-rc2 (a0a9e7b-dirty 2024-10-22)
This is an RC version to preview the changes in the next release.
See #4673 for details.
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.119.0-rc1
ckb 0.119.0-rc1 (c6f3bf6 2024-10-11)
This is an RC version to preview the changes in the next release.
See #4674 for details.
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.118.0
ckb 0.118.0 (b0bde9f 2024-09-14)
Breaking Changes
RPC
- #4365 removes the
orphan_blocks_size
field in thesync_state
RPC. - #4576 adds limit to the RPC methods to get cells.
- #4583 adds
tx_index
toTxStatus
forget_transaction
RPC.
Highlights
The featured changes in the new release are:
-
Asynchronous Block Download and Verification: This enhancement improves the efficiency of block requests and verification during the initial block download (IBD) phase. It introduces asynchronous operations, changes to the sync_state RPC, and updates to the log format.
-
New spawn with scheduler: This change is only available in the next version of CKB consensus rules. It refactors the implementation of spawn and introduces a new syscall API.
-
New script verify with ckb-vm pause: This change introduces several improvements to the script verification process. It uses a job queue for pending transactions, multiple workers for verification, and changes the verification style to async. It also includes changes related to resuming/suspending the VM, removing snapshots from VM machines, and removing the "Suspend" state from cache. All transactions from remote peers will be added to the queue for verification.
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 |
See how to connect to various chains in Wiki.
Default assume valid target
- Mainnet: 0xd07c7f0fcea6e2a20a51dabbf0caae7ebff49723bcd8bac81a8b8c021a546a32
- Testnet: 0xab6f81474ccbc1cdd5f42cda7029a6f6e52fc242c3487861e8abb62b6a6ea8a9
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 |
Docker | dockerhub |
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.
-
#4612: Verify worker exit when
signal_exit
is cancelled (@chenyukang)
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)
ckb 0.118.0-rc2 (921868e 2024-09-04)
This is an RC version to preview the changes in the next release.
See #4598 for details.
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.118.0-rc1
ckb 0.118.0-rc1 (63ae338 2024-08-19)
This 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)
ckb 0.117.0 (4920ecf 2024-07-29)
Highlights
There are two improvements applied for the RPC:
- #4454: Add
include_tx_pool: Option<bool>
param toChainRpcImpl::get_live_cell
' (@eval-exec) - #4486: Add
assume_valid_target_reached: bool
toNetRpc::sync_state
(@eval-exec)
Please note that these changes are considered breaking changes and may cause compatibility issues with older versions of RPC clients.
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 |
See how to connect to various chains in Wiki.
Default assume valid target
- Mainnet: 0x84ef5fe7cbf4242bdcac76326aa33f15b9cc41958e9d891157b8a6066dad0f31
- Testnet: 0xc39d482e1c9cba7bdef254ff13e430f42cb5407e15464c029284cd5811e4c8df
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 |
Docker | dockerhub |
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.116.1
Features
-
#4454: Add
include_tx_pool: Option<bool>
param toChainRpcImpl::get_live_cell
' (@eval-exec)This is a breaking change to the RPC.
-
#4486: Add
assume_valid_target_reached: bool
toNetRpc::sync_state
(@eval-exec)This is a breaking change to the RPC.
Bug Fixes
- #4484: Fix rich indexer
partial
query by args performance issue (@EthanYuan) - #4505: Fix websocket subscription performance issue (@chenyukang)
Improvements
- #4487: tweak
max_ancestors_count
(@zhangsoledad) - #4459: Use standalone runtime for RPC service (@chenyukang)
- #4511: Modify the record scope of tx-pool reject record and fix rule for orphan tx. (@zhangsoledad)
- #4531: Early return
process_fetch_cmd
if ckb received exit signal (@eval-exec)