Application Logic

All requests in the ledger now have an additional field — APIRequestID, which helps associate them with user requests coming from APIs.

If a node redirects a message to another for execution, the initial caller node of this message is defined as the Sender, not the node which redirects the message.

Redirected messages now have the same message ID across nodes when redirected.

System components can now only be stopped if they were previously started. This helps avoid unexpected behavior during the component setup and teardown process.

More logs and traces to the corner cases logic have been added to improve the testing process.

Ledger

Multiple stability fixes have been performed.

Async messaging has been implemented for object and code fetching.

Smart Contracts

Stability fixes and minor performance improvements have been carried out.

Built-in contracts have been added to the platform. This is a new smart contract architecture and the code of these contracts is a part of the platform itself. Built-in contracts work faster and produce less load on the platform than ordinary contracts. These contracts implement base functions that are required by other contracts, like authorization and user and node management.

Business Services

An application for calling smart contracts using a new API mechanism has been created.

Migration Daemon functionality has been improved. Transaction support with multiple receivers, restart from the last block delivered and blocks with a huge number of transaction functionality are now possible.

Pulse ending procedures have been created for the heavy material node (HMN) replication mechanism. This makes certain that all current Pulse data is transferred from light material to heavy material nodes.

HMN data integrity check has been added, meaning we can now identify and correct any mistakes or add data where it is insufficient.

A remake sequence index mechanism has been added, which creates an index of data stored in HMNs with the usage of badgerDB iterator.

_______

Check our Github and leave feedback on the code.

Follow Insolar on social media: