Nimble Pirate Monitor

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

    3.0.0 • Public • Published

    Symbol-SDK

    lint test vectors

    This is minimal Javascript SDK for Symbol and NEM. The architecture and programming paradigm of this SDK are consistent with those for other languages. Old typescript SDK - symbol-sdk v2.0.0 - has been deprecated.

    Note, at this point NEM support should be considered experimental.

    SDK

    NEM and Symbol features are grouped under facades.

    1. Transactions can be created using so called 'descriptors'.

    Symbol:

    const { SymbolFacade } = require('symbol-sdk').facade;
    ...
    const facade = new SymbolFacade('testnet');
    const transaction = facade.transactionFactory.create({
    	type: 'transfer_transaction',
    	signerPublicKey: '87DA603E7BE5656C45692D5FC7F6D0EF8F24BB7A5C10ED5FDA8C5CFBC49FCBC8',
    	fee: 1000000n,
    	deadline: 41998024783n,
    	recipientAddress: 'TCHBDENCLKEBILBPWP3JPB2XNY64OE7PYHHE32I',
    	mosaics: [
    		{ mosaicId: 0x7CDF3B117A3C40CCn, amount: 1000000n }
    	]
    });

    NEM:

    const { NemFacade } = require('symbol-sdk').facade;
    ...
    const facade = new NemFacade('testnet');
    
    const transaction = facade.transactionFactory.create({
    	type: 'transfer_transaction_v1',
    	signerPublicKey: 'A59277D56E9F4FA46854F5EFAAA253B09F8AE69A473565E01FD9E6A738E4AB74',
    	fee: 0x186A0n,
    	timestamp: 191205516,
    	deadline: 191291916,
    	recipientAddress: 'TALICE5VF6J5FYMTCB7A3QG6OIRDRUXDWJGFVXNW',
    	amount: 5100000n
    });
    1. Signature should always be attached via transaction factory, sample:
    const privateKey = new PrivateKey('EDB671EB741BD676969D8A035271D1EE5E75DF33278083D877F23615EB839FEC');
    const signature = facade.signTransaction(new NemFacade.KeyPair(privateKey), transaction);
    
    const jsonPayload = facade.transactionFactory.constructor.attachSignature(transaction, signature);

    jsonPayload can then be pushed to appropriate REST endpoints:

    • nem: POST /transaction/announce
    • symbol: PUT /transactions
    1. NEM transaction names are aligned with the names used in catapult schemas catapult schemas.

    Cheat sheet:

    "old" name (used in docs) descriptor name
    ImportanceTransfer transaction account_key_link_transaction
    MosaicDefinitionCreation transaction mosaic_definition_transaction
    MosaicSupplyChange transaction mosaic_supply_change_transaction
    MultisigAggregateModification transaction multisig_account_modification_transaction_v1
    MultisigAggregateModification transaction multisig_account_modification_transaction
    MultisigSignature transaction or Cosignature transaction cosignature
    Multisig transaction multisig_transaction
    ProvisionNamespace transaction namespace_registration_transaction
    Transfer transaction transfer_transaction_v1
    Transfer transaction transfer_transaction

    Keywords

    none

    Install

    npm i symbol-sdk@3.0.0

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    905 kB

    Total Files

    105

    Last publish

    Collaborators

    • symbol-npm
    • rg911
    • heybaha
    • bassem94
    • wayonblair