Narnia Protect Me

    @waves/waves-rest
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.81 • Public • Published

    waves-transactions npm version

    License Coverage badge gree

    Using this library you can easily create and sign transactions for Waves blockchain. It also allows you to multi-sign existing transactions or create them without signature at all.

    This library is a set of transaction constructing functions:

    Check full documentation on GitHub Pages.

    Transactions

    The idea is really simple - you create transaction and sign it from a minimal set of required params. If you want to create Transfer transaction the minimum you need to provide is amount and recipient as defined in Transfer params:

    const { transfer } = require('@waves/waves-transactions')
    const seed = 'some example seed phrase'
    const signedTranserTx = transfer({ 
      amount: 1,
      recipient: '3P6fVra21KmTfWHBdib45iYV6aFduh4WwC2',
      timestamp: 1536917842558, //Timestamp is optional but it was overrided, in case timestamp is not provided it will fallback to Date.now()
    
      //Every function from the list above has a set of required and optional params
      //senderPublicKey: 'Cq5itmx4wbYuogySAoUp58MimLLkQrFFLr1tpJy2BYp1', // By default it is derived from seed, 
      // but if you don't want to sign transaction you have to provide it
      //fee: 100000, //Fee is always optional, in case fee is not provided, it will be calculated for you
      //additionalFee: 400000, //If fee is not set, this value will be added to the auto calculated value
      //feeAssetId: undefined
    }, seed)

    Output will be a signed transfer transaction:

    {
      id: '8NrUwgKRCMFbUbqXKQAHkGnspmWHEjKUSi5opEC6Havq',
      type: 4,
      version: 2,
      recipient: '3P6fVra21KmTfWHBdib45iYV6aFduh4WwC2',
      attachment: undefined,
      feeAssetId: undefined,
      assetId: undefined,
      amount: 1,
      fee: 100000,
      senderPublicKey: '6nR7CXVV7Zmt9ew11BsNzSvVmuyM5PF6VPbWHW9BHgPq',
      timestamp: 1536917842558,
      proofs: [
        '25kyX6HGjS3rkPTJRj5NVH6LLuZe6SzCzFtoJ8GDkojY9U5oPfVrnwBgrCHXZicfsmLthPUjTrfT9TQL2ciYrPGE'
      ]
    }

    Now you are able to POST it to Waves API or store for future purpose or you can add another signature from other party:

    const otherPartySeed = 'other party seed phrase'
    const transferSidnedWithTwoParties = transfer(signedTranserTx, seed)

    So now there are two proofs:

    {
      id: '8NrUwgKRCMFbUbqXKQAHkGnspmWHEjKUSi5opEC6Havq',
      type: 4,
      version: 2,
      recipient: '3P6fVra21KmTfWHBdib45iYV6aFduh4WwC2',
      attachment: undefined,
      feeAssetId: undefined,
      assetId: undefined,
      amount: 1,
      fee: 100000,
      senderPublicKey: '6nR7CXVV7Zmt9ew11BsNzSvVmuyM5PF6VPbWHW9BHgPq',
      timestamp: 1536917842558,
      proofs: [
        '25kyX6HGjS3rkPTJRj5NVH6LLuZe6SzCzFtoJ8GDkojY9U5oPfVrnwBgrCHXZicfsmLthPUjTrfT9TQL2ciYrPGE',
        'CM9emPzpe6Ram7ZxcYax6s7Hkw6698wXCMPSckveFAS2Yh9vqJpy1X9nL7p4RKgU3UEa8c9RGXfUK6mFFq4dL9z'
      ]
    }

    Install

    npm i @waves/waves-rest

    DownloadsWeekly Downloads

    40

    Version

    0.0.81

    License

    MIT

    Unpacked Size

    73.7 kB

    Total Files

    17

    Last publish

    Collaborators

    • vsuharnikov
    • gakhramanov
    • tsigel
    • ebceu4
    • vba2000
    • msmolyakov-waves
    • wavesadmin
    • dvshur
    • jlewka
    • kozhevnikov.peter
    • axepuff
    • okanishcheva
    • vladislav.petushkov
    • d.lobanov
    • emera1d