v3.0.0¶
v2.x Upgrade to v3.0.0
Comprehensive upgrade Reference ‘Building the First Blockchain Network<../../quick_start/air_installation.html>’_ Build a new chain, resubmit all historical transactions to the new node, the upgraded node contains the new v3.0.0-rc3 features
v3.0.0 and v3.0.0-rc*Incompatible, interversion compatibility support starting with this version
New Architecture¶
Air / Pro / Max Meet different deployment scenarios
AirTraditional blockchain architecture, all functions in one blockchain node (all-in-one), to meet the deployment needs of developers and simple scenarios
Pro: Gateway+ RPC + Blockchain nodes to meet the needs of isolated deployment of internal and external environments
Max: Gateway+ RPC + Blockchain node (master / standby)+ Multiple transaction executors to meet the demand for high availability and extreme performance
new mechanism¶
Process: Pipeline Consensus
Generate blocks in a pipelined manner to improve performance
Divide the block generation process into four stages: packaging, consensus, execution, and placement -Continuous blocks go through four stages in a pipelined manner during execution (103 in packaging, 102 in consensus, 101 in execution, and 100 in drop) -When continuously out of blocks, the performance approaches the performance of the longest execution time in the pipeline
Execution: deterministic multi-contract parallelism
Mechanisms for implementing parallel execution and scheduling of inter-contract transactions
Efficient: Transactions on different contracts can be executed in parallel, improving transaction processing efficiency
Easy to use: transparent to developers, automatic transaction parallel execution and conflict processing
Universal: Supports EVM, WASM, Precompiled or other contracts
Storage: KeyPage
Cache mechanism for reference memory pages for efficient blockchain storage
Store key-value by organizing it into pages
Improve the locality of memory access and reduce the storage space occupation
Inheritance and Upgrade
DAG parallel execution: no longer rely on the parallel programming framework, can automatically generate conflict parameters based on the solidity code, to achieve parallel execution of transactions within the contract
PBFT consensus algorithm: immediate consensus algorithm for second-level confirmation of transactions
For more information, please refer to the online documentation
New Features¶
Blockchain File System
Use the command line to manage blockchain resources, such as contracts, tables, etc
Commands: pwd, cd, ls, tree, mkdir, ln -Function: bind the contract address to the path, you can call the contract with the path
Permission governance
After the blockchain is enabled, multi-party voting is required to allow
Roles: Administrator, Administrator, User
Controlled operations: deployment contracts, contract interface calls, system parameter settings, etc
WBC-Liquid:WeBankBlockchain-Liquid(WBC-Liquid)
It not only supports Soldity to write contracts, but also supports Rust to write contracts
Liquid is a smart contract programming language based on the Rust language
Integrated WASM runtime environment, support WBC-Liquid smart contract。
WBC-Liquid smart contract supports intelligent analysis of conflict fields, automatically open DAG。
Inheritance and Upgrade
Solidity: currently supported up to version 0.8.11
CRUD: Use table structure to store data, which is more friendly to business development, and more easy-to-use interfaces are encapsulated in 3.0
AMOP: On-chain messenger protocol, which enables information transmission and data communication between applications accessing the blockchain through the P2P network of the blockchain
Disk encryption: The private key and data of the blockchain node are encrypted and stored in the physical hard disk, and the physical hardware cannot be decrypted even if it is lost
Cryptographic algorithm: built-in group ring signature and other cryptographic algorithms, can achieve a variety of secure multi-party computing scenarios
For more information, please refer to the online documentation
Compatibility¶
Version 3.0 is not compatible with previous versions of data and protocols, Solidity contract source code compatible。If you want to upgrade from version 2.0 to version 3.0, you need to do data migration。
| Recommended Version | Minimum Version | Description | |
|---|---|---|---|
| Java SDK | 3.0.0 | 3.0.0 | |
| CPP SDK | 3.0.0 | 3.0.0 | |
| Console | 3.0.0 | 3.0.0 | |
| Solidity | 0.8.11 | Minimum 0.4.25, maximum 0.8.11 | The compiler (console) needs to be downloaded according to the contract version |
| WBC-Liquid | 1.0.0-rc3 | 1.0.0-rc3 |