Introduction
We are excited to announce the go-nebulas v0.3.0 release. We have integrated Chrome V8 into NVM, that means JavaScript is the first Smart Contract Language in Nebulas. And developers can write smart contracts in JavaScript to run on Nebulas.Supporting JavaScript is the first step, we will support more popular high-level languages, such as Python and Ruby, then developers can implement their ideas with the most familiar languages.
Change details
NVM
Implemented Protocol Code execution engine, based on LLVM.
Implemented Smart Contract execution engine, based on Chrome V8.Developers can use TypeScript/JavaScript to write smart contracts.
Implemented storage type in V8 engine.
Implemented smart contract creation & execution in NVM.
Common
Implemented Batch Tree to process batch task in merkle tree, support begin, commit & rollback operations.
Implemented Iterator for merkle trie to traverse leaf nodes in a trie, support traversing a trie with a given key prefix.
Net
Refactor NetService & SyncManager.
Implemented message relay strategy.
Added P2P network streamstore cache & Regularly cleaned.
RPC
Added mapping gRPC to HTTP.
Implemented deploy & call contract by JSON-RPC.
Storage
Implemented disk storage based on LevelDB, supporting cache & bloom filter for fast read.