Elrond Rosetta Client

At Elrond, we’re happy to announce the release of a beta implementation of the Rosetta API.
Elrond Network runs on a sharded architecture - transaction, data and network sharding are leveraged. In the Rosetta implementation, we’ve decided to abstract away the particularities and complexity of our architecture, and provide a single-chain perspective to the API consumer .

This is achieved through our Elrond Proxy, the piece of software that, among others, implements the Rosetta specification and acts as an entry point into the Network, through a set of Observer Nodes. In other words, the Proxy starts as a gateway that resolves the impedance mismatch between the Elrond API (exposed by the Observer Nodes) and the Rosetta API.

The Rosetta deployment for Elrond takes the shape of two Docker images (Elrond Proxy and Elrond Node) - and a Docker Compose definition to orchestrate 4+1 containers: one Elrond Proxy and four Observers Nodes. This 4+1 setup is usually referred to as an Elrond Observing Squad.

Note: An Elrond Observing Squad is defined as a set of N Observer Nodes (one for each Shard, including the Metachain) plus the Elrond Proxy instance (which connects to these Observers and delegates requests towards them). Currently the Elrond Mainnet has 3 Shards, plus the Metachain. Therefore, the Observing Squad is composed of 4 Observers and one Proxy instance.

The Elrond implementation is close to fully cover the Rosetta API. Currently, we put effort into correctly returning the balance-changing operations for execution of Smart Contracts.The code implementing the Rosetta API - in the Proxy - can be inspected here:

For setting up the Elrond Rosetta containers - both for the Testnet or for the Mainnet, please follow:

For more information about the Proxy and the Observing Squad, have a look at:


https://docs.elrond.com/tools/proxy

Thanks for sharing, @miiu96!

You may wish to convert your rosetta-cli construction tests to our new DSL (much easier to maintain):

Our team will reach out with more detailed feedback once we take a look.