Neo St. Petersburg Competence Centre (NeoSPCC) has released an updated version of NeoGo, a Neo node implementation written in Go. The latest release, dubbed Constellation, includes full support for dBFT consensus, allowing developers to run their own NeoGo private networks.
With the changes, NeoGo has become the second consensus-ready node implementation for the Neo blockchain.
Currently in the blockchain space, few projects offer multiple independently developed node implementations. The most prominent example of this is Ethereum, with approximately 75.25% of nodes using the core client, Go Ethereum (Geth), and 23.71% using the Parity client, written in Rust.
Alternate implementations of blockchain nodes are very important for increasing the security of the blockchain. This is due to the risk of a common mode failure—if all nodes on the network depend on the same software, they could also share the same weaknesses or bugs. When multiple independently developed clients are used to participate in network operations, a bug that affects one node implementation is less likely to affect all the others.
Other changes in the new NeoGo release include improved support for contract handling. Previous versions would only allow contracts to be compiled, however the new release also adds support for deployment and invocation.
Together, these features allow NeoGo to be used as a complete alternative to the core Neo implementation, neo-cli. Go developers may also prefer using this option over other developer-tailored clients that are frequently used for contract deployment, invocation, or RPC services, such as neo-python.
To accompany the release, NeoSPCC also published a NeoGo smart contract workshop. The workshop provides information about the role of a node in a blockchain network, and offers instructions on how to compile smart contracts, run a private network, and deploy or invoke contracts.
More information on the release can be found in the original article below: