Neo SPCC has released NeoGo v0.98.1, featuring new optimizations, bug fixes, and a number of changes to the compiler. The changes were accompanied by documentation updates and a new NEP-11 example, demonstrating how divisible NFTs can be implemented on Neo N3 using Go.

New additions to NeoGo functionality included a CLI command for changing wallet passwords and improved state root support. The getstateroot method can now be accessed in the RPC client, and error reporting was improved for the findstates method. Additionally, a helper script was provided to allow for quick comparison between the state of two RPC nodes, finding the block at which they differ in the event of a fault.

One notable optimization was the merger between storage of transaction and application logs. The change was another divergence from the C# implementation, prompted by a desire to further boost the node’s performance. This halves the number of keys inserted to the DB, resulting in an approximate 13% TPS gain.

The consensus process received some improvements to ensure it always receives incoming transactions, potentially helping throughput as the memory pool approaches max capacity. Improvements to DB seek have resulted in an estimated 27% increase in chain processing speed, a nice benefit for node runners who will need to resynchronize the blockchain with this update.

The test framework recently launched by the team was also further updated. Migration of native contract API tests was completed, and improved handling for signers was implemented.

The full changelog and new version can be accessed at the link below:
https://github.com/nspcc-dev/neo-go/releases/tag/v0.98.1