Create offline construction test

Hello,

I have two questions:

  1. Is it possible to run check:construction on a node that is completely offline (or for which only construction endpoints work) - I’ve found this older comment *.ros file questions in recent Construction API configuration - #2 by patrick.ogrady, which makes me think this is not possible

  2. Is there a way to make create_account workflow if algo used is not available in types package - github.com/coinbase/rosetta-sdk-go/types - pkg.go.dev ?

Hi @gimre, Welcome to the Rosetta community. :slightly_smiling_face:

  1. You are right, you have to run both online and offline for passing the construction tests as the test waits for the node to sync at tip.
  2. No, we validate that the curve type should be either of those defined in types, so our asserter will fail if it sees some other curve type. Are there any other curve type you would like us to be supported?
  1. :ok_hand:, thanks for information
  2. we’re trying to add rosetta api for NEM. NEM uses ed25519 curve, but underlying hash function is actually keccak512 (note keccak so same as in eth, not the final sha3).
    NEM Network is running for 6 years already, so this is not something we can change now. Also to quote ed25519 paper:

Well-known length-extension properties prevent secret-prefix SHA-512 from being a PRF, but also do not threaten the security of Ed25519-SHA-512, since r is not visible to the attacker.

All remaining SHA3 candidates are explicitly designed to be PRFs, and we will not hesitate to recommend Ed25519-SHA-3 after SHA-3 is standardized.

We’ll be happy to prepare PR supporting it.

1 Like

@gimre let me get some more clarity from our cryptography team on this and I will get back to you.

Hello @gimre , I have discussed it internally, you can go ahead and create a PR for supporting this curveType in Rosetta. We will also have some work internally in our systems to support it but that work can be done in parallel.

1 Like