mchainjs-lib

0.1.0 • Public • Published

mchainjs-lib

This is an extend lib for bitcoinjs-lib. It extends the network type of bitcoinjs-lib. It also provides an useful lib to help you building MAR transactions.

Installation

npm install https://github.com/mchainnetwork/mchainjs-lib.git

Setup

Node.js

var mchainjs = require('mchainjs-lib');

New features

Network

{
  mchain: {
    messagePrefix: '\x17Mchain Signed Message:\n',
    bech32: 'bc',
    bip32: {
      public: 0x0488b21e,
      private: 0x0488ade4
    },
    pubKeyHash: 0x32, //50 M
    scriptHash: 0x3a, //58 Q
    wif: 0x80 //128
  },
  mchain_testnet: {
    messagePrefix: '\x17Mchain Signed Message:\n',
    bech32: 'tb',
    bip32: {
      public: 0x043587cf,
      private: 0x04358394
    },
    pubKeyHash: 0x6e, //110 m
    scriptHash: 0x78, //120 q
    wif: 0xef
  }
}


Utils

Utils.selectTxs

/**
 * This is a function for selecting MAR utxos to build transactions
 * the transaction object takes at least 3 fields, value(unit is 1e-8 MAR) , confirmations and isStake
 *
 * @param [transaction] unspentTransactions
 * @param Number amount(unit: MAR)
 * @param Number fee(unit: MAR)
 * @returns [transaction]
 */
function selectTxs(unspentTransactions, amount, fee)

Utils.buildPubKeyHashTransaction

/**
 * This is a helper function to build a pubkeyhash transaction
 * the transaction object takes at least 5 fields, value(unit is 1e-8 MAR), confirmations, isStake, hash and pos
 *
 * @param bitcoinjs-lib.KeyPair keyPair
 * @param String to
 * @param Number amount(unit: MAR)
 * @param Number fee(unit: MAR)
 * @param [transaction] utxoList
 * @returns String the built tx
 */
function buildPubKeyHashTransaction(keyPair, to, amount, fee, utxoList)

Utils.buildCreateContractTransaction

/**
 * This is a helper function to build a create-contract transaction
 * the transaction object takes at least 5 fields, value(unit is 1e-8 MAR), confirmations, isStake, hash and pos
 *
 * @param bitcoinjs-lib.KeyPair keyPair
 * @param String code The contract byte code
 * @param Number gasLimit
 * @param Number gasPrice(unit: 1e-8 MAR/gas)
 * @param Number fee(unit: MAR)
 * @param [transaction] utxoList
 * @returns String the built tx
 */
function buildCreateContractTransaction(keyPair, code, gasLimit, gasPrice, fee, utxoList)

Utils.buildSendToContractTransaction

/**
 * This is a helper function to build a send-to-contract transaction
 * the transaction object takes at least 5 fields, value(unit is 1e-8 MAR), confirmations, isStake, hash and pos
 *
 * @param bitcoinjs-lib.KeyPair keyPair
 * @param String contractAddress The contract address
 * @param String encodedData The encoded abi data
 * @param Number gasLimit
 * @param Number gasPrice(unit: 1e-8 MAR/gas)
 * @param Number fee(unit: MAR)
 * @param [transaction] utxoList
 * @returns String the built tx
 */
function buildSendToContractTransaction(keyPair, contractAddress, encodedData, gasLimit, gasPrice, fee, utxoList)

Package Sidebar

Install

npm i mchainjs-lib

Weekly Downloads

2

Version

0.1.0

License

MIT

Unpacked Size

784 kB

Total Files

9

Last publish

Collaborators

  • mchain