subql icon indicating copy to clipboard operation
subql copied to clipboard

Rosetta Support

Open stwiname opened this issue 1 year ago • 1 comments

Background

Rosetta is a specification for interacting with blockchains. Being able to use this specification will allow integration with any blockchain that supports this specification.

Cardano

The primary goal is to add support for Cardano using Rosetta and we can use this for reference

Requirements

  • A new repo setup in the same way as other network SDKs
  • Naming schemes using rosetta. e.g @subql/node-rosetta
  • Support for block/transaction/operation handlers with filters
  • An example starter project that demonstrates all handlers and filters
  • It should support fetching block transactions through /block and fallback to /block/transactions if they are not included in the block
  • Metadata types should be generic
  • Filtering should support the following fields
    • type
    • status
    • account
    • metadata, it should be possible to filter via dot notation to build a path. e.g. receipt.address
  • Users should be able to provide an openApi spec file to help generate extra types such as Operation and Transaction metadata. Example file
  • Dictionary support is not required but should be designed so it is easy to implement

stwiname avatar Feb 25 '24 21:02 stwiname

This would allow us to support all implementations of Rosetta https://github.com/coinbase/mesh-ecosystem/blob/master/implementations.md

jamesbayly avatar Feb 26 '24 01:02 jamesbayly