BLOG April 21, 2020
Neo, a leading community-driven blockchain platform, launched Neo3 Preview2 to further empower its developers with a set of optimized features and capabilities. Marking yet another milestone, Preview2 will accelerate the future by encouraging developers to jointly advance Neo3’s infrastructure.
With Preview2, Neo will deliver an enhanced developer experience with bolstered features, including:
Upgraded NeoVM and Neo Core
Offering instruction performance which is up to 16 times more powerful than prior versions, NeoVM has also been decoupled from the chain with a modular design which will enhance the extensibility of Neo’s protocol.
More flexible and powerful Neo3 smart contract system
Aside from offering complete support for Neo3 smart contracts, Preview2 also includes various improvements such as permission control, contract ID, and JSON friendliness to facilitate Neo3 migration and tool development.
Accelerated Neo3 infrastructure development
As Neo3 nears completion, developers are increasingly migrating their SDKs, developer tools, wallets, explorers, and applications to Neo3. With Preview2’s powerful functionality, projects will be further empowered to help shape Neo3’s infrastructure and the next-gen Internet (NGI).
Following on from the release of Preview1 just six months prior, Neo3 now features significantly optimized features and functions, including:
- Redesigned opcodes with simplified instruction sets.
- New internal primitive / compound type.
- Introduced reference counting for better resource management.
Improved compiler friendliness
- Added variable slots and removed AltStack.
Decoupled NeoVM from blockchain
Removed blockchain verify methods to expand the use cases of NeoVM.
Improved smart contract development experience
- Added function pointers.
- Added exception instructions.
- TPS has been improved by optimizing transaction validation, caching calculation data, and removing Linq syntax. Parallel signature verification is also under experiment which could further increase TPS up to 8 times from Preview1.
- Enhanced the communication protocol, added automatic data compression function, new index synchronization mechanism, etc.
Smart Contract optimization
- Permission control:
- Manifest level
- Contract level
- Contract ID:
- Global unique identifiers
- Data migration no longer required during contract updates.
- Contract functionalities expanded with methods supporting JSON parsing, GAS balance enquiry, address conversion, etc.
Economic model adjustment
- Support for keeping decimals for system fees, which will be burnt directly.
- Incremental fees for contract storage to lower contract cost.
- Decoupled the storage layer and added support for a variety of storage schemes, such as LevelDB, RocksDB, memory, etc.
- Decoupled the RPC module and added support for user-defined modules.
Light node design
Prepared for the implementation of light nodes by limiting the height of transactions and blocks that can be accessed by smart contracts.
Please follow the link for the detailed changelog of this release.
All developers are welcome to test this release and begin using it to build infrastructure and tools. More details can be found in our official Neo3 Documentation Portal and the comprehensive Neo3 Development Guide.
Neo is an open-source platform driven by the community. It utilizes blockchain technology and digital identities to digitize and automate the management of assets using smart contracts. Using a distributed network, it aims to create a smart economy by building infrastructures of the next-gen Internet and creating a solid foundation for mass blockchain adoption.
Launched in 2016, the Neo MainNet has been in stable operation for more than 3 years. Neo is expecting to launch Neo3 in 2020 - a robust implementation with high throughput, enhanced stability and security, an optimized smart contract system, and a feature-packed infrastructure set to empower developer adoption and to accelerate enterprise-grade blockchain innovations.