Syscoin Rosetta integration

Hi there,

Syscoin is a fork of Bitcoin with some token platform support on top. We plan to integrate token support in a later version but to start we can integrate Syscoin itself which should be fairly easy since it leverages all of Bitcoin’s structure in a backward compliant way. There are no changes to the transaction structure or block structure but there are some consensus updates with token transfers, however I do not think its a problem for rosetta sdk afaik. I did an initial implementation here: https://github.com/syscoin/rosetta-syscoin

The unit and security checks pass. Is there anything else I need to do for integration?

Thanks,
Jag

Glad to see you could make use of rosetta-bitcoin :rocket:

Have you tried running rosetta-cli check:data and rosetta-cli check:construction on your implementation yet? The “Testing” section of following post provides some details on the rosetta-cli settings we will use to test your implementation:

Hi Patrick,

Please see issue https://github.com/syscoin/rosetta-syscoin/issues/1

I haven’t been able to get it to sync (mainnet) and stay stable, I am not sure where its dying or what the cause of it is. Any help would be appreciated.

Jag

I’ll take a look and respond there!

Hi Patrick,

Now that we have resolved the performance bottleneck (https://github.com/coinbase/rosetta-sdk-go/pull/247#pullrequestreview-536776455) we have run rosetta-cli check:data and it looks good. I think it is ready. I am keen on upgrading it as soon as you update the base SDK with these or like improvements. I can also help you if needed on the designs and implementation on other industry standard performance tricks to further improve the ecosystem. We will look to add our token layer soon after.

Thanks,
Jag

Thanks again for digging into this! With everything happening in Rosetta right now, optimization work doesn’t always get priority.

Appreciate the offer. I’m planning to get the SDK update out in the next week or so (work grinds to a halt around Thanksgiving) but am always interested in hearing any suggestions folks have about improvements.

No problem Patrick!

Enjoy your thanksgiving, for now I have pointed rosetta-syscoin to the SDK with my fix and its happy. Will point it to official SDK once you have some update out and I can verify it works the same or better :slight_smile:

In the short term, is there anything else you need me to look at regarding our integration?

We published our expectations for testing a week or so ago (linked previously):

If it meets these expectations, then you should be good! We just need to hook things up on our side to start testing (we have a service that automatically tests implementations using the rosetta-cli).

If you’re looking for something else to do related to Rosetta, however, I have a few ideas (obviously no pressure to do any of these):

  • /mempool/transaction support in rosetta-bitcoin (could be ported to your implementation)
  • /account/coins mempool support in rosetta-bitcoin (could be ported to your implementation)
  • SQL-based Rosetta Indexer implementation
  • Generic Rosetta Wallet (like Metamask for any Rosetta implementation…maybe powered by Rosetta DSL?)