Neo SPCC has released a newly updated version of its Go node for N3. Ready for use on MainNet and TestNet, the update includes a number of improvements over the previous N3-compatible releases.

The most significant change in the new version is an update to the NEP-17 balance tracking code, which diverts from the implementation in the core C# client. Rather than maintaining a persistent store of NEP-17 balances, the updated NeoGo release will directly invoke the balanceOf method of each NEP-17 token contract for the latest balance information.

Only contracts that declare the NEP-17 standard in it’s manifest supported standards list will be shown in the list of balances. This is important to note; developers that are building NEP-17 tokens on N3 should be careful to properly declare any standards they abide by in the manifest to ensure correct behavior with NeoGo nodes.

Despite the changes to getnep17balances, the getnep17transfers RPC call will still return the transfer logs of any token that emits standard NEP-17 Transfer notifications.

The team included some new documentation with the update, defining how contract manifest permissions function and how they can be specified in a YAML config file for use with the NeoGo compiler.

V0.97.0 also includes two bug fixes: the first corrects a potential deadlock in nodes that have the optional notary service enabled, and the second ensures wallet files are cleaned up properly after keys are removed.

Users can download the latest version at the link below. Due to database format changes, existing Go nodes will need to resynchronize from the genesis block:
https://github.com/nspcc-dev/neo-go/releases/tag/v0.97.0