tpay-js-multisigtx

1.0.0 • Public • Published

tokenpay-wallet-js

A pure JavaScript TokenPay library.

Usage

Fields specifications:

amount must be in TokenPay amount not in satoshis nor bitcoins e.g. 1, 5.5, 10.

fee the minimum value allowed is 0.0001 (10,000).

Note: Values are multiplied by 100,000,000

Private keys

Private keys must be in hex (64 characters).

Spend from a 2-of-3 multisig P2SH address

const Transaction = require('tpay-js-multisig');
 
const publicKeys = ['<public-key-1>', '<public-key-1>', '<public-key-1>'];
 
const inputs = [
  {
    txid: '<transaction-id>',
    vout: <vout>,
    amount: 5.5
    address: '<multisig-address>'
  },
];
 
try {
  const tx = new Transaction()
    .from(inputs, publicKeys, 2)
    .to('<dst-address>', 3)
    .changeTo(<address-receiving-the-change>)
    .setFee(1.5)
    .sign('<private-key-1-for-multisig-address>').
    .sign('<private-key-2-for-multisig-address>');
  const raw = tx.getRaw(); // returns an object {hex: "<hex>", complete: true|false}
} catch (e) {
  console.log(e.message);
}

Get transaction object representation

const Transaction = require('tpay-js-multisig');
 
const publicKeys = ['<public-key-1>', '<public-key-1>', '<public-key-1>'];
 
const inputs = [
  {
    txid: '<transaction-id>',
    vout: <vout>,
    amount: 5.5
    address: '<multisig-address>'
  },
];
 
try {
  const tx = new Transaction()
    .from(inputs, publicKeys, 2)
    .to('<dst-address>', 2)
    .sign('<private-key-for-multisig-address>');
  const obj = tx.toObject();
} catch (e) {
  console.log(e.message);
}

Spend from transaction object representation

const Transaction = require('tpay-js-multisig');
 
const publicKeys = ['<public-key-1>', '<public-key-1>', '<public-key-1>'];
 
const inputs = [
  {
    txid: '<transaction-id>',
    vout: <vout>,
    amount: 5.5
    address: '<multisig-address>'
  },
];
 
try {
  const tx = new Transaction()
    .from(inputs, publicKeys, 2)
    .to('<dst-address>', 2)
    .sign('<private-key-1-for-multisig-address>');
} catch (e) {
  console.log(e.message);
}
 
const obj = tx.toObject();
const tx2 = Transaction.fromObject(obj).sign('<private-key-2-for-multisig-address>');
const raw = tx2.getRaw();

Readme

Keywords

none

Package Sidebar

Install

npm i tpay-js-multisigtx

Weekly Downloads

0

Version

1.0.0

License

ISC

Unpacked Size

32.3 kB

Total Files

12

Last publish

Collaborators

  • cerratoa