The Nervos CKB is a public permissionless blockchain, and the layer 1 of Nervos network.
MIT License
Bot releases are hidden (Show)
Published by doitian over 4 years ago
This version is compatible with v0.25.0 and above. However, it is recommended to upgrade the node, since we will only release security patches based on the latest release.
See how to connect to various chains in Wiki.
Highlights:
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
The .asc
files are signatures. It is wise and more secure to check out for the files integrity.
Published by nervos-bot-user over 4 years ago
ckb 0.32.0-pre (80e0bef 2020-05-06)
This is an RC version to preview the changes in the next release.
Highlights:
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
#2002: Avoid explosion of disordering blocks based on BLOCK_DOWNLOAD_WINDOW (@keroro520)
#1999: Optimize block download tasks with a simple task scheduler (@driftluo)
This implementation aims to optimize the task scheduling of the download block.
#2028: Make minor change to PoW algorithm for testnet (@yangby-cryptape)
BREAKING CHANGE: A reset is required in testnet to deploy this version.
#2018: Prof command support specify execution path (@zhangsoledad)
#1968: Simplify network protocols (@TheWaWaR)
#2006: Cache system cell for resolve deps (@zhangsoledad)
The goal of this PR is to optimize transaction resolve.
Currently, transaction resolve is inefficient, cause system-cell is uncached, every transaction depends on system cell will read system-cell from disk repeatedly. this PR proposal a system-cell cache implementation.
This is an RC version to preview the changes in the next release.
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
#2002: Avoid explosion of disordering blocks based on BLOCK_DOWNLOAD_WINDOW (@keroro520)
#1999: Optimize block download tasks with a simple task scheduler (@driftluo)
This implementation aims to optimize the task scheduling of the download block.
Published by doitian over 4 years ago
This version is compatible with v0.25.0 and above. However, it is recommended to upgrade the node, since we will only release security patches based on the latest release.
See how to connect to various chains in Wiki.
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
The .asc
files are signatures. It is wise and more secure to check out for the files integrity.
Published by doitian over 4 years ago
This version is compatible with v0.25.0 and above. However, it is recommended to upgrade the node, since we will only release security patches based on the latest release.
See how to connect to various chains in Wiki.
This version has improved the chain sync speed a lot, see changes log for details.
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
The .asc
files are signatures. It is wise and more secure to check out for the files integrity.
#1954: Add detect-asm feature to script (@xxuejie)
#1955: Bump CKB VM to fix a performance regression (@xxuejie)
#1948: Use module disable error instead of method not found (@driftluo)
#1956: Replace rocksdb wrapper (@zhangsoledad)
#1946: Use same allocator for all (@yangby-cryptape)
#1940: Add a feature to enable jemalloc profiling (@yangby-cryptape)
#1881: Remove memory cellset (@zhangsoledad)
#1923: Network upgrade to async (@driftluo)
#1978: Built-in miner should support https RPC URL (@quake)
#1958: Log more sync and relay metrics (@keroro520)
#1992: Add an option to control how many blocks the miner has to mine (@yangby-cryptape)
ckb miner -C . --limit 10 # Exit after 10 nonces found
ckb miner -C . -l 5 # Exit after 5 nonces found
ckb miner -C . # Run forever
ckb miner -C . --limit 0 # Run forever, too
#1993: Add metrics filter (@keroro520)
Filter metrics via log_enabled!
inside metric!
.
ckb 0.31.0-pre (c900439 2020-04-02)
This is an RC version to preview the changes in the next release.
This is the first RC of the next release, which contains many sync improvements.
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
#1954: Add detect-asm feature to script (@xxuejie)
#1955: Bump CKB VM to fix a performance regression (@xxuejie)
#1948: Use module disable error instead of method not found (@driftluo)
#1956: Replace rocksdb wrapper (@zhangsoledad)
#1946: Use same allocator for all (@yangby-cryptape)
#1940: Add a feature to enable jemalloc profiling (@yangby-cryptape)
#1881: Remove memory cellset (@zhangsoledad)
#1923: Network upgrade to async (@driftluo)
#1978: Built-in miner should support https RPC URL (@quake)
#1958: Log more sync and relay metrics (@keroro520)
#1992: Add an option to control how many blocks the miner has to mine (@yangby-cryptape)
ckb miner -C . --limit 10 # Exit after 10 nonces found
ckb miner -C . -l 5 # Exit after 5 nonces found
ckb miner -C . # Run forever
ckb miner -C . --limit 0 # Run forever, too
#1993: Add metrics filter (@keroro520)
Filter metrics via log_enabled!
inside metric!
.
Published by nervos-bot-user over 4 years ago
This version is compatible with v0.25.0 and above. However, it is recommended to upgrade the node, since we will only release security patches based on the latest release.
See how to connect to various chains in Wiki.
This version has backported several fixings on synchronization issues.
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
The .asc
files are signatures. It is wise and more secure to check out for the files integrity.
build_skip
performance bug (@TheWaWaR)ckb 0.31.0-pre (81951c5 2020-03-27)
This is an RC version to preview the changes in the next release.
This is another preview which contains several chain sync improvements.
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
#1985: Speed up fetch collect (@driftluo)
Speed up fetch collect
#1979: Fix build_skip
performance bug (@TheWaWaR)
When build skip list want a header not exists in header map, we should get it from main chain directly, otherwise it will search it by parent hash linearly.
Published by doitian over 4 years ago
This version is compatible with v0.25.0 and above. However, it is recommended to upgrade the node, since we will only release security patches based on the latest release.
See how to connect to various chains in Wiki.
This release resets testnet aggron genesis hash to 0x63547ecf6fc22d1325980c524b268b4a044d49cda3efbd584c0a8c8b9faaf9e1
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
The .asc
files are signatures. It is wise and more secure to check out for the files integrity.
This is an RC version to preview the changes in the next release.
This preview contains many improvements to the block sync.
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
#1947: Repair using of snapshot (@zhangsoledad)
#1957: Concurrent download blocks on ibd (@driftluo)
As the chain height rises gradually, the synchronization duration increases linearly. This PR is the beginning of improving the synchronization time.
#1966: Enhanced locator (@driftluo)
After allowing ibd multi-node download, the premise of enabling multi-node download is to update the best-known header of the corresponding node as soon as possible.
#1961: Fix bug on last common marked (@driftluo)
Fix the stuttering problem of multi-node download on ibd concurrent download and no-ibd concurrent download.
#1959: Improve get_ancestor efficiency (@keroro520)
#1954: Add detect-asm feature to script (@xxuejie)
#1948: Use module disable error instead of method not found (@driftluo)
#1946: Use the same memory allocator for all codes (@yangby-cryptape)
#1940: Add a feature to enable jemalloc profiling (@yangby-cryptape)
#1881: Remove memory cellset (@zhangsoledad)
memory cellset is useless burden, ckb-bench#9 shows it didn't have much effect, but will increasing amounts of memory infinity.
Published by doitian over 4 years ago
This version is compatible with v0.25.0 and above. However, it is recommended to upgrade the node, since we will only release security patches based on the latest release.
See how to connect to various chains in Wiki.
#1939: Add new response field min_fee_rate
in RPC tx_pool_info
(@driftluo)
BREAKING CHANGE: RPC interface
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
The .asc
files are signatures. It is wise and more secure to check out for the files integrity.
#1848: Add a new json rpc method get_block_economic_state
(@yangby-cryptape)
Replace the JSON-RPC method [get_cellbase_output_capacity_details
].
#1915: Reject new scripts with known bugs (@xxuejie)
For compatibility reasons, there're certain bugs that we have to leave
to the next hardfork to fix. However those bugs, especially VM bugs
might lead to surprising unexpected behaviors. This change adds a new
checker that checks against newly created cells for scripts with bugs,
and reject those transaction when we can. This way we can alert users
about the bugs as early as we can.
#1856: Define StatusCode to indicate the result of sync operation (@keroro520)
Learned from HTTP Response, use StatusCode
to indicate the result of sync-operation, try to replace original Result<T, future::Error>
.
#1941: Uses feature flags to enable deadlock detection (@zhangsoledad)
we should disable deadlock detection by default.
use the deadlock_detection
feature flag enable deadlock detection.
#1931: Collect metrics by logger (@keroro520)
CKBProtocolContext#connected_peers
should filter peers by protocol id (@quake)This is an RC version to preview the changes in the next release.
#1939: Add new response field min_fee_rate
in RPC tx_pool_info
(@driftluo)
BREAKING CHANGE: RPC interface
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | macOS 10.12 or above | zip | PGP |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
#1848: Add a new json rpc method get_block_economic_state
(@yangby-cryptape)
Replace the JSON-RPC method [get_cellbase_output_capacity_details
].
#1915: Reject new scripts with known bugs (@xxuejie)
For compatibility reasons, there're certain bugs that we have to leave
to the next hardfork to fix. However those bugs, especially VM bugs
might lead to surprising unexpected behaviors. This change adds a new
checker that checks against newly created cells for scripts with bugs,
and reject those transaction when we can. This way we can alert users
about the bugs as early as we can.
#1856: Define StatusCode to indicate the result of sync operation (@keroro520)
Learned from HTTP Response, use StatusCode
to indicate the result of sync-operation, try to replace original Result<T, future::Error>
.
#1941: Uses feature flags to enable deadlock detection (@zhangsoledad)
we should disable deadlock detection by default.
use the deadlock_detection
feature flag enable deadlock detection.
#1931: Collect metrics by logger (@keroro520)
CKBProtocolContext#connected_peers
should filter peers by protocol id (@quake)Published by doitian over 4 years ago
This version is compatible with v0.25.0 and above. However, it is recommended to upgrade the node, since we will only release security patches based on the latest release.
See how to connect to various chains in Wiki.
#1928: Null outputs_validator means passthrough. (@doitian)
The default behavior is incompatible with v0.28.0, but is compatible with v0.27.1 and older versions.
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | zip | PGP | |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
The .asc
files are signatures. It is wise and more secure to check out for the files integrity.
Published by doitian over 4 years ago
This is an RC version to preview the changes in the next release.
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | zip | PGP | |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
#1928: Null outputs_validator means passthrough. (@doitian)
The default behavior is incompatible with v0.28.0, but is compatible with v0.27.1 and older versions.
#1848: Add a new json rpc method get_block_economic_state
(@yangby-cryptape)
Purpose: Replace the JSON-RPC method [get_cellbase_output_capacity_details
].
#1915: Reject new scripts with known bugs (@xxuejie)
For compatibility reasons, there're certain bugs that we have to leave
to the next hardfork to fix. However those bugs, especially VM bugs
might lead to surprising unexpected behaviors. This change adds a new
checker that checks against newly created cells for scripts with bugs,
and reject those transaction when we can. This way we can alert users
about the bugs as early as we can.
#1856: Define StatusCode to indicate the result of sync operation (@keroro520)
Learned from HTTP Response, use StatusCode
to indicate the result of sync-operation, try to replace original Result<T, future::Error>
.
#1928: Null outputs_validator means passthrough. (@doitian)
Make it backward compatible with the previous version. We should upgrade SDK
to support this flag by default when version is 0.28.0 or above, instead of
introducing the breaking change directly in the RPC.
#1941: Uses feature flags to enable deadlock detection (@zhangsoledad)
We should disable deadlock detection by default.
use the deadlock_detection
feature flag enable deadlock detection.
Published by doitian over 4 years ago
This version is compactible with v0.25.0 and above. However, it is recommended to upgrade the node, since we will only release security patches based on the latest release.
See how to connect to various chains in Wiki.
The RPC send_transaction
will block transactions which does not use the default lock scripts. If you ensure the transaction is valid, set the new added parameter outputs_validator
to passthrough
. See #1879
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | zip | PGP | |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
The .asc
files are signatures. It is wise and more secure to check out for the files integrity.
outputs_validator
to send_transaction
rpc (@quake)Published by doitian over 4 years ago
This version has been yanked because the breaking change must bump the minor version.
This is an RC version to preview the changes in the next release.
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | zip | PGP | |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
outputs_validator
to send_transaction
rpc (@quake)Published by doitian almost 5 years ago
This version is compactible with v0.25.0 and above. However, it is recommended to upgrade the node, since we will only release security patches based on the latest release.
See how to connect to various chains in Wiki.
This only affects the config file which has enabled notify_script
before.
-# [alert_notifier]
-# # Script will be notified when node received an alert, first arg is alert message string.
-# notify_script = "echo"
+# [notifier]
+# # Execute command when the new tip block changes, first arg is block struct in json format string.
+# new_block_notify_script = "your_new_block_notify_script.sh"
+# # Execute command when node received an network alert, first arg is alert message string.
+# network_alert_notify_script = "your_network_alert_notify_script.sh"
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | zip | PGP | |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
The .asc
files are signatures. It is wise and more secure to check out for the files integrity.
#1882: Add tcp and websocket to rpc service (@quake). This is required for #1867.
#1890 spec: Configurable block bytes limit (@zhangsoledad)
Provide max_block_bytes
option supports configurable block bytes limit.
#1891: Notify service (@quake)
This PR resolve #1860 and refactor network alert script notification by adding a notify service, and it's required to implement #1867.
configuration file breaking change
-# [alert_notifier]
-# # Script will be notified when node received an alert, first arg is alert message string.
-# notify_script = "echo"
+# [notifier]
+# # Execute command when the new tip block changes, first arg is block struct in json format string.
+# new_block_notify_script = "your_new_block_notify_script.sh"
+# # Execute command when node received an network alert, first arg is alert message string.
+# network_alert_notify_script = "your_network_alert_notify_script.sh"
get_cell_meta
should return None if output index does not exist (@jjyr)#1894: Reduce useless clone / to_owned use (@driftluo)
Reduce useless clone / to_owned use
This is an RC version to preview the changes in the next release.
This only affects the config file which has enabled notify_script
before.
-# [alert_notifier]
-# # Script will be notified when node received an alert, first arg is alert message string.
-# notify_script = "echo"
+# [notifier]
+# # Execute command when the new tip block changes, first arg is block struct in json format string.
+# new_block_notify_script = "your_new_block_notify_script.sh"
+# # Execute command when node received an network alert, first arg is alert message string.
+# network_alert_notify_script = "your_network_alert_notify_script.sh"
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | zip | PGP | |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Windows* | x64 | VC++ Redistributable | zip | PGP |
Docker | dockerhub |
* Windows support is experimental.
#1882: Add tcp and websocket to rpc service (@quake)
This PR adds tcp and websocket support for rpc, this is required for #1867
test tcp:
telnet localhost 18114
> {"id":2,"jsonrpc":"2.0","method":"get_tip_block_number","params":[]}
< {"jsonrpc":"2.0","result":"0x337e","id":2}
test websocket:
let socket = new WebSocket("ws://localhost:28114");
socket.onmessage = function(event) {
console.log(`Data received from server: ${event.data}`);
};
socket.send('{"id":2,"jsonrpc":"2.0","method":"get_tip_block_number","params":[]}');
#1890 spec: Configurable block bytes limit (@zhangsoledad)
Provide max_block_bytes
option supports configurable block bytes limit.
#1891: Notify service (@quake)
This PR resolve https://github.com/nervosnetwork/ckb/issues/1860 and refactor network alert script notification by adding a notify service, and it's required to implement https://github.com/nervosnetwork/ckb/issues/1867
configuration file breaking change
-# [alert_notifier]
-# # Script will be notified when node received an alert, first arg is alert message string.
-# notify_script = "echo"
+# [notifier]
+# # Execute command when the new tip block changes, first arg is block struct in json format string.
+# new_block_notify_script = "your_new_block_notify_script.sh"
+# # Execute command when node received an network alert, first arg is alert message string.
+# network_alert_notify_script = "your_network_alert_notify_script.sh"
#1894: Reduce useless clone / to_owned use (@driftluo)
Reduce useless clone / to_owned use