symbol-uri-scheme
TypeScript icon, indicating that this package has built-in type declarations

0.6.1 • Public • Published

Symbol URI Scheme

npm version Build Status Coverage Status Slack

URI Scheme library to serve Symbol transactions ready to be signed.

This is a PoC to validate the proposed NIP2 Transaction URI Scheme. When stable, the repository will be moved to the nemtech organization.

Requirements

  • Node.js 12 LTS

Installation

npm install symbol-uri-scheme

Usage

Generate URI from Transaction

// examples/TransactionToURI.ts

import { Account, Deadline, EmptyMessage, Currency, NetworkType, TransferTransaction, TransactionMapping } from 'symbol-sdk';

import { TransactionURI } from '../src/uris/TransactionURI';

const epochAdjustment = 1637848847;
const serializedTransaction = TransferTransaction.create(
    Deadline.create(epochAdjustment),
    Account.generateNewAccount(NetworkType.TEST_NET).address,
    [Currency.PUBLIC.createRelative(10)],
    EmptyMessage,
    NetworkType.TEST_NET
).serialize();

const generationHash = 'ABC'; // replace with network generation hash
const nodeUrl = 'http://localhost:3000';
const webhookUrl = 'http://myapp.local/id';

const transactionURI = new TransactionURI(serializedTransaction, TransactionMapping.createFromPayload, generationHash, nodeUrl, webhookUrl);
console.log(transactionURI.build());

Create Transaction from URI

// examples/URIToTransaction.ts

import { TransactionMapping } from 'symbol-sdk';
import { TransactionURI } from '../src/uris/TransactionURI';

const serializedTransaction = 'B600000000000000000000000000000000000000000' +
'0000000000000000000000000000000000000000000000000000000000000000000000000' +
'0000000000000000000000000000000000000000000000000000000000000000000000000' +
'0000000000000000000000000000190544100000000000000005816E98404000000900FFE' +
'A45AEA2EE9B880D5E4F9B91B75857F444F1766CDCB0600010000000000CC403C7A113BDF7' +
'C80969800000000000068656C6C6F';

const URI = 'web+symbol://transaction?data=' + serializedTransaction + '&generationHash=test' +
    '&nodeUrl=http://localhost:3000&webhookUrl=http://myapp.local/id';
const transactionURI = TransactionURI.fromURI(URI, TransactionMapping.createFromPayload);

const transaction = transactionURI.toTransaction();
console.log(transaction);

Getting help

Use the following available resources to get help:

Contributing

Contributions are welcome and appreciated. Check CONTRIBUTING for information on how to contribute.

License

Copyright 2019-present NEM

Licensed under the Apache License 2.0

Readme

Keywords

none

Package Sidebar

Install

Weekly Downloads

46

Version

0.6.1

License

Apache 2.0

Unpacked Size

40.6 kB

Total Files

28

Last publish

Collaborators

  • evias.be
  • nemfoundation