After having a much better understanding of blockchain technology and how NEO works underlying, it was time to start over the core parts from scratch and implement it with the correct semantics and code engineering practices.
- Created package wire which will handle the network protocol
- Created new crypto package
- Started writing the core fundamentals for the light node
- Made each module, independently importable
Link to the Github repository of neo storm
After NEO announced that it's going to change some core semantics on the NEO protocol, I was thinking that developers would be better of with a nice and easy to use framework for smart contracts. It makes more sense to focus on smart contract development than continueing writing the port to Golang. Currently almost all NEO developers are using Python or C# for writing their contracts. However, some of NEO strongest points are the ability to write smart contracts in multiple languages, so why not improve the Golang compiler so it can be equal to it's brothers (Python and C#).
neo-storm is more then just a Golang to AVM compiler
- Golang to AVM bytecode compiler
- Fully stubbed NEO virtual machine (no node needed)
- Smart contract debugger
- Tooling (SDK) for deploying to test and production environments
- Package manager for smart contract modules that are written in Go
Neo storm reached it's release candidate 4 which makes it a fully working Golang to AVM compiler. This is not yet suitable for production due to not fully stress tested enough.
I started a new version of the VM with improved security and the ability to work fully independent. This means that developers using neo-storm will not have to spin up a private net to be able testing out their contracts. The VM will have all runtime and NEO API's build in and mocked like it was a fully working blockchain.