Neo St Petersburg Competence Center (Neo SPCC) has announced support for NGD Seattleā€™s Neo Blockchain Toolkit in the latest version of NeoGo, a Golang node implementation and smart contract compiler.

The Neo Blockchain Toolkit is an all-in-one solution for creating, debugging, and deploying Neo smart contracts. The new update to NeoGo allows the compiler to emit a standardized debug info file, which is interpreted by the debugger included with the Toolkit to provide useful tools such as the newly released disassembly view and time-travel debugging.

Contract metadata such as the author, description, and any attributes such as storage or dynamic invocation can be specific in a separate YAML file. The compiler will use it to create the abi.json file, used in the deploy/invocation flows of the Visual DevTracker to grant Go developers access to the full range of utilities available in the Toolkit.

Go contract debugging (Source: Neo SPCC)

In the announcement, Neo SPCC provided a full walkthrough for the installation of NeoGo, and how to use it to compile a Go smart contract. The tutorial also demonstrates debugging and deploying the contract to a private network using the Neo Blockchain Toolkit, followed by test invocation with the DevTracker UI.

Developers looking for more resources for writing Go contracts are recommended to view the NeoGo smart contract workshop or examples.

Alongside the Toolkit integration, NeoGo v0.75.0 also included a wide range of other improvements, such as support for Go v1.14 and fixes for small differences in the VM and syscall implementations that were causing a storage state mismatch between NeoGo and neo-cli nodes.

In the changelog, the team reports that the new version resolves these issues, making it fully compatible with both the Neo MainNet and TestNet blockchains.

Other new features are also noted, including support for RPC over websocket connections, a new websocket-based notification subsystem, and experimental support for BadgerDB, touted as providing better performance that RocksDB in both reads and writes.