UNPKG

namillum

Version:
82 lines (73 loc) 4.57 kB
--- id: rosetta-construction title: Introduction keywords: - rosetta - middleware - exchanges - zilliqa - API - contruction description: Introduction --- --- ## Construction Construction API enables developers to write to a blockchain (i.e. construct transactions) in a standard format. Implementations are stateless and can operate entirely offline, and support detached key generation and signing. ### Construction Flow The construction flow is in this sequence: 1. [/construction/derive](rosetta-construction-derive.md) 2. [/construction/preprocess](rosetta-construction-preprocess.md) 3. [/construction/metadata](rosetta-construction-metadata.md) 4. [/construction/payloads](rosetta-construction-payload.md) 5. [/construction/parse](rosetta-construction-parse.md) 6. [/construction/combine](rosetta-construction-combine.md) 7. /construction/parse (to confirm correctness) 8. [/construction/hash](rosetta-construction-hash.md) 9. [/construction/submit](rosetta-construction-hash.md) ### Flow of Operations ```text Caller (i.e. Coinbase) + Construction API Implementation +-------------------------------------------------------------------------------------------+ | Derive Address +----------------------------> /construction/derive from Public Key | | X | X Create Metadata Request +---------------------> /construction/preprocess X (array of operations) | + Get metadata needed X | | to construct transaction X +-----------------------------------------------+ X v | X Fetch Online Metadata +-----------------------> /construction/metadata (online) X | | X | X Construct Payloads to Sign +------------------> /construction/payloads X (array of operations) | + X | | Create unsigned transaction X +------------------------------------------------+ X v | X Parse Unsigned Transaction +------------------> /construction/parse X to Confirm Correctness | X | | X | X Sign Payload(s) +-----------------------------> /construction/combine X (using caller's own detached signer) | + X | | Create signed transaction X +-----------------------------------------------+ X v | X Parse Signed Transaction +--------------------> /construction/parse X to Confirm Correctness | X | | X | X Get hash of signed transaction +--------------> /construction/hash Broadcast Signed Transaction X to monitor status | X | X Submit Transaction +--------------------------> /construction/submit (online) X | + ```