Skip to content

v0.18 Egg Fried Rice

Compare
Choose a tag to compare
@driftluo driftluo released this 30 Aug 11:44
· 1658 commits to develop since this release

We are pleased to announce the release of CITA v0.18!

As the v1.0 release is getting closer, the focus is increasingly on ensuring the stability and reliability of CITA services. During this month's development, we pay lots of efforts on destructive testing to ensure that CITA can provide more reliable services.

In terms of feature, we further improved the usability of the cross-chain by adding the sidechain exit mechanism, in which two RPC interfaces were added to cross-check the data of the side chain.

We also add a system contract to do the batch transaction. when you want to make multiple calls to other contracts and the calls need to be in a strict order, this system contract can be used to ensure that the order of the transactions is exactly the same as expected.

Cryptographic Algorithm of CITA also made some changes. After combing the dependencies, we replace the sha3 algorithm of the C library with Keccak. Library of China Cryptographic Algorithm is also replaced by a new rust implementation with better performance, completed by a collaborative effort between the Cryptape Technology LLC. and BEIHANG KNOC LAB.

v0.18 remains compatible with v0.17. So you can upgrade from v0.17 to v0.18 by following the instructions below.

  1. Compared to v0.17, the v0.18 system contract has been modified. Users can choose to upgrade only binary, that is, replace all executable files in the bin folder in the distribution directory.
  2. scripts/config_tool/config_example/auth.toml added wal_enable, default value is false
  3. For existing nodes, add a line to each node's auth.toml configuration file: wal_enable = false

ps. This release is converted from Egg Fried Rice which is v0.18 release master's favorite homemade meal!
Egg Fried Rice

Change Log:

CITA-Framework

  1. [feature] Replaced sha3 with Keccak algorithm library
  2. [feature] New Library of China Cryptographic Algorithm
  3. [optimize] Remove useless code and dependencies
  4. [optimize] Add more CI

Executor

  1. [fix] Fix potential deadlock, multi-threaded data inconsistency
  2. [fix] Fix state machine state homing problem
  3. [fix] Fix Transaction decode logic error
  4. [fix] Fix blacklist problems that accounts cannot be removed from blacklist automatically when they come to have tokens
  5. [optimize] Add the monitor of chain status
  6. [feature] Modify some log levels
  7. [fix] Automatic synchronization when the Executor state is inconsistent with Chain
  8. [optimize] Optimize state synchronization speed between Executor and Chain
  9. [feature] Add the acquisition and verification of the state certificate

Chain

  1. [optimize] Add a notification of Executor status
  2. [fix] Fix the problem about saving the latest proof when syncing
  3. [fix] Fix some usability issues in the snapshot

Network

  1. [refactoring] Refactoring synchronization logic
  2. [feature] Output status log
  3. [fix] Close the connection to the deleted node when the Network configuration file is hot updated

Bft

  1. [fix] Fix the problem about saving temporary proof

Auth

  1. [feature] Transaction's value field validation is modified to be required to U256 or [u8;32], otherwise, an invalid value is returned.
  2. [fix] Transaction's to field validation is more strict, passing invalid parameters will return an error directly

RPC

  1. [feature] Separate the JSON-RPC type definition library for the client to use

System Contract

  1. [feature] Add cross-chain management contract to the process of state proof
  2. [feature] Supports batch transaction

Doc

  1. [feature] Update the cross-chain document with more description about sidechain exit mechanism.