v0.20 Mitten Crab
CHANGELOG
We are pleased to announce that CITA v0.20 is released! In this season of eating crabs, we brought a new version of Mitten Crab.
In this new version, we finally supported the fork! This means that our following version will always be forward compatible. At the same time, the new version also supports for TLS communication encryption based on self-signed certificates, so the communication between nodes will become more secure. In the new version, we further optimized the network, upgraded the related infrastructure (rustc compiler and rocksdb, etc.), fixed some bugs, and added a lot of documentation.
Compatibility
- You need to upgrade all the nodes at the same time, follow the steps below:
- Stop all the nodes;
- Upgrade all the nodes;
- Use the
bft-wal
tool to manually convert the log format of BFT wal; - Restart all the nodes.
DATA_PATH=./test-chain/0/data ./bin/bft-wal
Protocol
- [Feature] Add the support for
v1
protocol.
More details can be found in the document: Protocol Upgrade From V0 to V1.
Bootstrap
- [Optimization] Force the use of
--super_admin
to configure the administrator account when usingcreate_cita_config.py
to create a new chain.
Framework
- [Upgrade] Upgrade rustc to
nightly-2018-10-05
, and update the docker image (latest imagecita/cita-run:ubuntu-18.04-20181009
).
Executor
- [Deprecated] Deprecate the use of
delay_block_number
. - [Refactor] Use
BlockID
explicitly in methods that require the use ofBlockID
instead of using a fuzzy Default value. - [Refactor] Refactor duplicated codes in both of Executor and Chain.
- [Refactor] Refactor some unsafe codes.
Chain
- [Upgrade] Upgrade RocksDB.
Auth
- [Feature] Add the check of the version field in the transaction.
Network
- [Refactor] Refactor network client.
- [Upgrade] Upgrade network server.
- [Feature] Support for TLS communication encryption based on self-signed certificate.
- [Fix] Parsing will stop immediately when the body of messages between nodes is too large.
RPC
- [Fix] Fix the problem that the website returned by the
getMetaData
interface is incorrect. - [Fix] The error information returned by the
sendRawTransaction
interface may be inconsistent when there are duplicate transactions. - [Feature] Add the pending type in the
BlockTag
type. - [Fix] The exit code caused by the configuration file exception is corrected to
2
.
System Contract
- [Fix] Fix user authentication problem inside the group when the permission management is enabled.
Test
- [Optimization] Optimize the efficiency of system contract testing.
Doc
- [Docs] Add system contract interface documents.
- [Docs] Add more English document.