Releases: nervosnetwork/ckb
ckb 0.15.0-rc1 (rylai-v4 c08d4eae 2019-06-21)
This is a preview release for v0.15.0, which will be released on Jun 29, 2019. See details in #1091.
Attention: It is not compatible with current testnet, please always use the latest release
ckb 0.14.2 (rylai-v3 v0.14.2 2019-06-21)
- Code Name: rylai-v3
- Genesis Hash: 0xc3b42742ea8658c93de23f16a10c43212bd8b24a6bde5a93b8446dba3fb2a728
- Secp256k1 Code Hash: 0xf1951123466e4479842387a66fabfd6b65fc87fd84ae8e6cd3053edb27fff2fd
- Launch Time: 2019-06-15 UTC 6:00 AM
- End Time: 2019-06-29 UTC 6:00 AM
This is a bug fixing release and is compatible with v0.14.0 and v0.14.1.
If your node stops synchronizing blocks with other nodes, please download this new version.
Downloads
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.
Changes since v0.14.0
Bug Fixes
- #1076:
CellSet
is inconsistent in memory and storage (@zhangsoledad) - #1066: Check new block based on orphan block pool (@keroro520)
ckb 0.14.1 (rylai-v3 v0.14.1 2019-06-16)
- Code Name: rylai-v3
- Genesis Hash: 0xc3b42742ea8658c93de23f16a10c43212bd8b24a6bde5a93b8446dba3fb2a728
- Secp256k1 Code Hash: 0xf1951123466e4479842387a66fabfd6b65fc87fd84ae8e6cd3053edb27fff2fd
- Launch Time: 2019-06-15 UTC 6:00 AM
- End Time: 2019-06-29 UTC 6:00 AM
This is a bug fixing release and is compatible with v0.14.0. The miner log now prints the correct block hash.
Downloads
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.
ckb 0.14.0 (rylai-v3 v0.14.0 2019-06-15)
- Code Name: rylai-v3
- Genesis Hash: 0xc3b42742ea8658c93de23f16a10c43212bd8b24a6bde5a93b8446dba3fb2a728
- Secp256k1 Code Hash: 0xf1951123466e4479842387a66fabfd6b65fc87fd84ae8e6cd3053edb27fff2fd
- Launch Time: 2019-06-15 UTC 6:00 AM
- End Time: 2019-06-29 UTC 6:00 AM
Attention: The default secp256k1 code hash has changed, remember to check the block assembler config.
Ensure you are running the correct node by checking the genesis hash in the log output.
Downloads
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.
Changes since v0.13.0
Features
-
#913: New verification model (@xxuejie)
This is a breaking change: b:consensus, b:database, b:p2p, b:rpc
Based on feedbacks gathered earlier, we are revising our verification
model with the following changes:- When validating a transaction, CKB will grab all lock scripts from
all inputs, and group them based on lock script hash. The script in
each group will only be run once. The lock script itself will have
to do the validation task for all inputs in the same group - CKB will also grab all type scripts from inputs and outputs(notice
different from previous version, the type scripts in inputs are
included here as well), and group them based on type script hash as
well. Each type script in each group will also be run once. The type
script itself needs to handle the validation task within the group - Syscalls are also revised to allow fetching all the
inputs/outputs/witnesses within a single group. - Input args is removed since the functionality can be replicated elsewhere
- When validating a transaction, CKB will grab all lock scripts from
-
#908: Peers handle disconnect (@keroro520)
-
#845: Limit TXO set memory usage (@yangby-cryptape)
This is a breaking change: b:database
-
#874: Revise uncle rule (@zhangsoledad)
This is a breaking change: b:consensus, b:database
- get rid uncle age limit
- try include disconnected block as uncle
-
#920: Tweak consensus params (@zhangsoledad)
This is a breaking change: b:consensus
tweak
block_cycles_limit
andmin_block_interval
-
#897: Wrap the log macros to fix ill formed macros (@yangby-cryptape)
And, we have to update the log filters, add prefix
ckb-
for all our crates. -
#919: Synchronizer and relayer share BlocksInflight (@keroro520)
-
#924: Add a transaction error
InsufficientCellCapacity
(@yangby-cryptape) -
#926: Make a better error message for miner when method not found (@yangby-cryptape)
-
#961: Display miner worker status (@quake)
BREAKCHANGE: config file
ckb-miner.toml
changed -
#1001:
ckb init
supports setting block assembler (@doitian)ckb init
accepts options--ba-code-hash
and--ba-arg
(which can
repeat multiple times) to set block assembler.ckb cli secp256k1-lock
adds an output formatcmd
to prints the
command line options forckb init
to set block assembler.
The two commands can combine into one to init the directory with a secp256k1 compressed pub key:
ckb init $(ckb cli secp256k1-lock <pubkey> --format cmd)
-
#996: Tweak consensus parameters (@doitian)
- Change target epoch duration to 4 hours
- Reduce epoch reward to 1/4
- Increase secondary epoch reward to 600,000 bytes
Bug Fixes
-
#878: Calculate the current median time from tip (@keroro520)
This is a breaking change: b:consensus
Original implementation use
[Tip-BlockMedianCount .. Tip-1]
to calculate the current block median time. According to the notion of BlockMedianTime in bip-0113 , here change to use[Tip-BlockMedianCount+1 .. Tip]
instead. -
#906: Proposal table reload (@zhangsoledad)
-
#983: Uncle number should smaller than block (@zhangsoledad)
This is a breaking change: b:consensus
Improvements
Misc
v0.14.0-rc2
This is a pre-release. It is not compatible with the current testnet, which is running the latest 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.
Changes since v0.14.0-rc1
Features
-
#961: Display miner worker status (@quake)
BREAKCHANGE: config file
ckb-miner.toml
changed- feat: display miner worker status
- refactor: add miner worker trait, prepare for
Cuckoo
cpu and gpu miner plugin
Bug Fixes
-
#983: Uncle number should smaller than block (@zhangsoledad)
This is a breaking change: b:consensus
Improvements
v0.14.0-rc1
This is a preview of v0.14.0, it is not compatible with current testnet.
Changes since v0.13.0
Features
-
#913: New verification model (@xxuejie)
This is a breaking change: b:consensus, b:database, b:p2p, b:rpc
Based on feedbacks gathered earlier, we are revising our verification
model with the following changes:- When validating a transaction, CKB will grab all lock scripts from
all inputs, and group them based on lock script hash. The script in
each group will only be run once. The lock script itself will have
to do the validation task for all inputs in the same group - CKB will also grab all type scripts from inputs and outputs(notice
different from previous version, the type scripts in inputs are
included here as well), and group them based on type script hash as
well. Each type script in each group will also be run once. The type
script itself needs to handle the validation task within the group - Syscalls are also revised to allow fetching all the
inputs/outputs/witnesses within a single group. - Input args is removed since the functionality can be replicated elsewhere
- When validating a transaction, CKB will grab all lock scripts from
-
#908: Peers handle disconnect (@keroro520)
- Handle disconnected inside
Peers
- Rename
n_sync_started
/n_protected_outbound_peers
- Remove imlicitly clone for
Peers
- Handle disconnected inside
-
#891: Secp256k1 multisig (@jjyr)
Used in alert system #887
-
#845: Limit TXO set memory usage (@yangby-cryptape)
This is a breaking change: b:database
Commits
-
feat: add a function to traverse all keys for database
-
feat: save cell set into database (but not used)
BREAKING CHANGE: Add new column to store cell set into database.
-
refactor: loading CellSet do not have to load all blocks
-
perf: delete transactions whose all cells are dead
-
fix: the order to apply cell set diff is very important
Issue
Notes
-
I insist on the opinion: save live cells is better than save transactions which include at least one live cell.
We can use a only-key-and-no-value database (for example, Redis) to store live cells (
CellOutPoint
as key).I tried, but it's too difficult to adapt to current logic, so I gave up.
-
I didn't change current design about how to use
CellSet
, I just made them be persisted. -
All transactions which include at least one live cell, are still kept in memory.
But the transactions which don't have any live cells are removed from memory.
-
-
#874: Revise uncle rule (@zhangsoledad)
This is a breaking change: b:consensus, b:database
- get rid uncle age limit
- try include disconnected block as uncle
-
#920: Tweak consensus params (@zhangsoledad)
This is a breaking change: b:consensus
tweak block_cycles_limit and min_block_interval
-
#897: Wrap the log macros to fix ill formed macros (@yangby-cryptape)
Commits:
- chore: update the log filter template in configuration
- chore: apply new log macros to sync & relay
- chore: apply new log macros to util/* & ckb-bin
- chore: apply new log macros to verification & shared
- chore: apply new log macros to rpc & notify
- chore: apply new log macros to network
- chore: apply new log macros to miner
- chore: apply new log macros to chain
- (important) feat: wrap the log macros to fix ill formed macros
And, we have to update the log filters, add prefix
ckb-
for all our crates, since I usetarget: env!("CARGO_PKG_NAME")
. -
#919: Synchronizer and relayer share BlocksInflight (@keroro520)
-
test: Add test for losing BlockTXN messages
-
fix: Remove relayer's compact_block_filter, filter duplicated compact blocks via BlocksInFlight
Currently, we discard the new arriving compact blocks if we had already received the same one, viaRelayState::compact_block_filter
. The purpose is avoiding re-processing/re-requesting the same compact blocks. But the problem is, if we failed to reconstruct a compact block, we cannot process this compact block anymore, before receiving the corresponding transactions from peer1. That's terrible if peer1's inventory was lost on the way.Here I remove
RelayState::compact_block_filter
, and insteadly usePeers::blocks_inflight
to avoid re-requesting to same peers. -
fix: Cache pending compact block at peer-level, but not global-level
-
-
#924: Add a transaction error
InsufficientCellCapacity
(@yangby-cryptape)For #900.
-
#926: Make a better error message for miner when method not found (@yangby-cryptape)
For #904.
Bug Fixes
-
#878: Calculate the current median time from tip (@keroro520)
This is a breaking change: b:consensus
BREAKING CHANGE: Original implementation use
[Tip-BlockMedianCount .. Tip-1]
to calculate the current block median time. According to the notion of BlockMedianTime in bip-0113 , here change to use[Tip-BlockMedianCount+1 .. Tip]
instead. -
#906: Proposal table reload (@zhangsoledad)
Improvements
-
#909: Move best_known_headers/last_common_headers into peer_state (@keroro520)
best_known_header
andlast_common_header
are both state of peer. So I move them intoPeerState
. And add wrap functions for them, so that hides the locks outside.
Misc
v0.13.0 rylai-v2
- Code Name: rylai-v2
- Genesis Hash: 0xeb897810b75a922309d748c0d16e7a980e0de1cc0ba0e0e3e3bda6f2e03cbc1b
- Launch Time: 2019-06-01 UTC 6:00 AM
- End Time: 2019-06-15 UTC 5:00 AM
Ensure you are running the correct node by checking the genesis hash in the log output.
Downloads
OS | Arch | Runtime Dependencies | Package | Sign |
---|---|---|---|---|
macOS | x64 | zip | PGP | |
Linux | x64 | glibc, libstdc++ | tarball | PGP |
CentOS | x64 | glibc, libstdc++, openssl | tarball | PGP |
Docker | dockerhub |
* Windows support is experimental.
Changes since v0.12.0
Features
-
#762: Live cell block hash (@keroro520)
This is a breaking change: b:rpc
- Return
block_hash
forget_cells_by_lock_hash
- Add
make gen-doc
command
- Return
-
#841: Apply tx_pool limit (@zhangsoledad)
This is a breaking change: b:cli, b:rpc
- apply tx_pool limit
- tx size verify, enforce tx size below block size limit
BREAKING CHANGES:
config
ckb.toml
[tx_pool] - max_pool_size = 10000 - max_orphan_size = 10000 - max_proposal_size = 10000 - max_cache_size = 1000 - max_pending_size = 10000 - txs_verify_cache_size = 100000 + max_mem_size = 20_000_000 # 20mb + max_cycles = 200_000_000_000 + max_verfify_cache_size = 100_000
rpc
tx_pool_info
+ "total_tx_cycles": "2", + "total_tx_size": "156",
-
#890: Revise remainder reward rule (@zhangsoledad)
This is a breaking change: b:consensus
-
#876: Tweak consensus params (@zhangsoledad)
This is a breaking change: b:consensus
-
#854: Calculate median time by tracing parents (@keroro520)
At present, the way calculating the passed median time is that collects block timestamps one by one by block_number. This PR change to collects blocks timestamps by tracing parents. The new way is more robust.
In addition to this, I use assert-style to rewrite the calculation of passed median time.
-
#859: Use snappy to compress large messages (@driftluo)
This is a breaking change: b:p2p
On the test net monitoring, the bandwidth usage is often in a full state. We try to use the snappy compression algorithm to reduce network transmission consumption.
After testing, the compression yield of flatbuffer format is very high, cpu consumption is relatively acceptable.
The following is the data transmission on the test net:
2019-05-20 16:27:41.875 +08:00 tokio-runtime-worker-7 DEBUG compress raw_data len: 625400, compress used time: 3.635121ms, compress_data size: 335401, compression ratio: 0.536298369043812, decompress used time: 1.496667ms 2019-05-20 16:27:42.128 +08:00 tokio-runtime-worker-6 DEBUG compress raw_data len: 633544, compress used time: 3.789752ms, compress_data size: 335462, compression ratio: 0.5295007134468955, decompress used time: 1.490144ms 2019-05-20 16:27:42.340 +08:00 tokio-runtime-worker-6 DEBUG compress raw_data len: 633216, compress used time: 3.998678ms, compress_data size: 333458, compression ratio: 0.5266101930462906, decompress used time: 1.593165ms 2019-05-20 16:27:42.558 +08:00 tokio-runtime-worker-5 DEBUG compress raw_data len: 632992, compress used time: 3.453616ms, compress_data size: 333552, compression ratio: 0.5269450482786512, decompress used time: 1.052606ms 2019-05-20 16:27:42.740 +08:00 tokio-runtime-worker-2 DEBUG compress raw_data len: 633760, compress used time: 1.256847ms, compress_data size: 340022, compression ratio: 0.5365154001514769, decompress used time: 545.473µs 2019-05-20 16:37:43.934 +08:00 tokio-runtime-worker-1 DEBUG compress raw_data len: 186912, compress used time: 659.317µs, compress_data size: 42640, compression ratio: 0.22812874507789763, decompress used time: 515.287µs 2019-05-20 16:37:47.338 +08:00 tokio-runtime-worker-3 DEBUG compress raw_data len: 186520, compress used time: 189.079µs, compress_data size: 42334, compression ratio: 0.22696761741368218, decompress used time: 150.644µs 2019-05-20 16:37:50.729 +08:00 tokio-runtime-worker-3 DEBUG compress raw_data len: 186520, compress used time: 197.656µs, compress_data size: 42336, compression ratio: 0.22697834012438345, decompress used time: 145.5µs 2019-05-20 16:38:52.549 +08:00 tokio-runtime-worker-4 DEBUG compress raw_data len: 95904, compress used time: 217.968µs, compress_data size: 33801, compression ratio: 0.3524461961961962, decompress used time: 95.818µs 2019-05-20 16:39:32.522 +08:00 tokio-runtime-worker-0 DEBUG compress raw_data len: 47320, compress used time: 418.183µs, compress_data size: 17183, compression ratio: 0.363123415046492, decompress used time: 252.148µs
Note that this is a break change, the data is modified as follows:
By default, data above 40k enters compressed mode.
From the current point of view, the high bit 1 is the compressed format and the high bit 0 is the uncompressed format.
If you want to support multiple compression formats in the future, you can simply think that 0b1000 is in snappy format and 0b0000 is in uncompressed format.
# Message in Bytes: +---------------------------------------------------------------+ | Bytes | Type | Function | |-------+------+------------------------------------------------| | 0 | u1 | Compress: true 1, false 0 | | | u7 | Reserved | +-------+------+------------------------------------------------+ | 1~ | | Payload (Serialized Data with Compress) | +-------+------+------------------------------------------------+
-
#921: Upgrade CKB VM to latest version (@xxuejie)
This upgrade contains the following changes:
Refactors
- nervosnetwork/ckb-vm#57 calculate address first before cond operation @xxuejie
Bug fixes
- nervosnetwork/ckb-vm#60 fix broken bench tests @mohanson
- nervosnetwork/ckb-vm#61 VM panics when ELF uses invalid file offset @xxuejie
- nervosnetwork/ckb-vm#63 out of bound read check in assembly VM
Chore
- nervosnetwork/ckb-vm#59 fix a bad way to using machine @mohanson
- nervosnetwork/ckb-vm#61 add an example named is13 @mohanson
Bug Fixes
-
#810: Discard invalid orphan blocks (@keroro520)
When accepts a new block, its descendants should be accepted too if valid. So if an error occurs when we try to accept its descendants, the descendants are invalid.
-
#850: Ensure EBREAK has proper cycle set (@xxuejie)
This is a breaking change: b:consensus
This is a bug reported by @yangby-cryptape. Right now we didn't assign proper cycles for EBREAK, which might lead to potential bugs.
-
#886: Integration test cycle calc (@zhangsoledad)
-
fix: Cuckoo cycle verification bug (@yangby-cryptape)
Improvements
v0.12.2 rylai-v1-p2
Compatible Testnet: rylai-v1
Testnet Genesis Hash: 0xaad9b82caa07f5989dfb8caa44927f0bab515a96ccaaceba82c7bea609fec205
Features
-
#838: Limit name in chainspec (@doitian)
Only
ckb_dev
is allowed in the chainspec loaded from file. -
#840: Modify subcommand
ckb init
. (@doitian)- Export
specs/dev.toml
when init for dev chain. - Deprecate option
--export-specs
. - Rename
spec
tochain
in options.- Add option
--chain
and deprecate--spec
- Add option
--list-chains
and deprecate--list-specs
- Add option
- Rename
export
tocreate
in messages.
- Export
-
#843: Secp256k1 block assembler (@doitian)
- Remove the default block assembler config. If user want to mine, they must configure it.
-
#856: Revamp the secp256k1 support in CKB (@doitian)
- Remove keygen feature added in #843
- Add
ckb cli blake160
andckb cli blake256
utilities to compute hash. - Add
ckb cli secp256k1-lock
to print block assembler config from
a secp256k1 pubkey.
v0.12.1 rylai-v1-p1
Compatible Testnet: rylai-v1
Testnet Genesis Hash: 0xaad9b82caa07f5989dfb8caa44927f0bab515a96ccaaceba82c7bea609fec205
Bug Fixes
v0.12.0 rylai-v1
Compatible Testnet: rylai-v1
Testnet Genesis Hash: 0xaad9b82caa07f5989dfb8caa44927f0bab515a96ccaaceba82c7bea609fec205
Features
-
#633: Remove cycles config from miner (@zhangsoledad)
-
#614: Verify compact block (@keroro520)
-
#642: Incorporate assembly based CKB VM interpreter (@xxuejie)
-
#620: Generalize OutPoint struct to reference headers as well (@xxuejie)
-
#656: Add rpc
get_epoch_by_number
(@keroro520) -
#662: Add txs verify cache (@zhangsoledad)
-
#670: Upgrade CKB VM version (@xxuejie)
The new version contains fixes for 2 bugs revealed in comprehensive testing.
-
#675: Limit sync header timeout by
MAX_HEADERS_LEN
(@keroro520) -
#671: Add rpc get blockchain info (@keroro520)
- Add rpc
get_blockchain_info
- Add rpc
get_peers_state
, currently only return the info of blocks synchronizing in flight.
- Add rpc
-
#653: Add rpc experiment module (@keroro520)
- Add rpc
dry_run_transaction
- Add rpc
_compute_transaction_id
- Enable Experiment moduel by default
- Add rpc
-
#689: Upgrade VM to latest version (@xxuejie)
Noticeable changes here include:
- Shrink VM memory from 16MB to 4MB now for both resource usage and performance
- Use Bytes in VM API to avoid unnecessary copying
- Use i8 as VM return code for better debugging
-
#686: Update default lock script to sign on transaction hash now (@xxuejie)
-
#690: Use script to generate rpc doc (@keroro520)
-
#703: Stringify numbers in rpc (@keroro520)
-
#709: Database save positions of CellOutputs in Transaction (@yangby-cryptape)
-
#720: Move DryRuResult into jsonrpc-types (@keroro520)
- Move
DryRunResult
into jsonrpc-types - Complete rpc-client used in integration testing
- Move
-
#718: Initial NervosDAO implementation (@xxuejie)
Note that this is now implemented as a native module for the ease of experimenting ideas. We will move this to a separate script later when we know more about what the actual NervosDAO implementation should look like.
-
#714: Enforce resolve txs order within block (@zhangsoledad)
Transactions are expected to be sorted within a block
Transactions have to appear after any transactions upon which they depend -
#735: Panic if it's likely to reach a deadlock (@yangby-cryptape)
-
#742: Verify uncle max proposals limit (@zhangsoledad)
-
#736: Transaction since field support epoch-based verification rule (@jjyr)
-
#811: Upgrade CKB VM to latest version with performance improvements (@xxuejie)
-
#579: epoch revision (@zhangsoledad)
-
#632: Ignore staled block (@keroro520)
More Changes
Bug Fixes
-
#643: A bug caused by merging a stale branch (@yangby-cryptape)
-
#641: Spec consensus params (@zhangsoledad)
-
#652: epoch init (@zhangsoledad)
-
#660: Information is inconsistent with the transaction pool display (@driftluo)
-
#673 tx_pool: insertion order when chain reorg (@zhangsoledad)
-
#695: metric transaction header mem size (@zhangsoledad)
-
#698: blocktemplate
size_limit
calculate (@zhangsoledad) -
#699: Use random port (@keroro520)
-
#700: Outpoint memsize (@zhangsoledad)
-
#711: Update p2p to 0.2.0-alpha.11 fix send message timeout bug (@TheWaWaR)
-
#712: Proposal finalize (@zhangsoledad)
-
#744: block inflight timeout (@zhangsoledad)
-
#749 deps: upgrade p2p to 0.2.0-alpha.14 (@TheWaWaR)
- upgrade p2p to 0.2.0-alpha.14
- remove peer from peer store when peer id not match
- Rollback sync/relay notify interval
-
#753: genesis epoch remainder reward (@zhangsoledad)
-
#746: block size calculation should not include uncle's proposal zones (@zhangsoledad)
-
#776 deps: Upgrade p2p fix gracefully shutdown network service (@TheWaWaR)
✨ Silky smooth
Ctrl + C
experience ✨ -
#788: correct
block_median_count
(@keroro520) -
#793: Outbound peer service and discovery service (@TheWaWaR)
-
#819:
load_script_hash
should use script's own hash for lock script (@xxuejie) -
#820: proposal deduplication (@zhangsoledad)
-
#739: next epoch calculate off-by-one (@zhangsoledad)
Improvements
- #729: stop processing all relay messages on IBD mod and avoiding compact block message flood (@quake)
- #640: calculate some hashes when constructing (@yangby-cryptape)
- #734: refactor block verification (@zhangsoledad)
- #634: avoiding unnecessary store lookup and trait bound tweak (@quake)
- #591: specify different structs for JSON-RPC requests and responses (@yangby-cryptape)
- #659: move VM config from chain spec to CKB config file (@xxuejie)
- #657: remove ProposalShortId hash and Proposals root (@yangby-cryptape)
- #668: store transaction hashes into database to avoid computing them again (@yangby-cryptape)
- #706: improve core type fmt debug (@zhangsoledad)
- #715: rename staging to proposed and remove trace RPC (@zhangsoledad)
- #724: don't repeat resolve tx when calculate tx fee (@zhangsoledad)
- #732: move
verification
field from ChainService struct toprocess_block
fn params (@quake) - #723: revise VM syscalls used in CKB (@xxuejie)
- #754 network: Spawn more than 4 tokio core threads when possible (@TheWaWaR)
- #805: only parallelism verify tx in block verifier (@quake)
- #747: make pow verify logic consistent with resolve (@zhangsoledad)
BREAKING CHANGES
- Database version is incompatible, please remove the old data dir.
- Genesis header hash changed.
- Genesis cellbase transaction hash changed.
- System cells start from 1 in the genesis cellbase outputs instead of 0.
- System cells lock changed from all zeros to always fail.
- Always success is no longer included in dev genesis block.
- Header format changed, use proposals hash to replace proposals root.