DigiByte Rosetta Node
Ideally, we would have released and announced the source code weeks in the past.
But here we are, having a very reliable Rosetta Node Implementation of DigiByte.
A UTXO-Indexer Middleware was implemented to enable balance lookups. Historical balance lookups are supported as well. By using the
Syncer class of the Rosetta SDK, the sync has become exceptionally reliable and even reorgs are supported very well. LevelDB (the same database that is being used in Bitcoin and its forks) is used to store the UTXO data. A space efficient encoding was chosen in order to avoid redundancy and to save some disk space (usage: 6.7G, as of 08th September, 2020), as described here.
- Fast, reliable sync
- Space efficient, non-redundant implementation
- Tested with addresses that have more than 399k transactions (historical balance calculation may take several seconds for these accounts)
- Balances are subtracted and UTXOs removed on reorgs (which happen several times a day in livenet)
- Automated Docker Testing environment, which consists of an offline and online environment and will be tested automatically using rosetta-cli.
Check out the instructions on how to deploy a node here: https://github.com/SmartArray/digibyte-rosetta-server.git.
State of Development
The implementation of the Data API is completed and was exhaustively tested using
rosetta-cli and several other tests.
The implementation of the Construction API is not finished yet, as I ran into some issues regarding the automated testing. This should be resolved very soon.
I am looking forward to hear your ideas, criticism and general opinions.