JSPM

vipstarcoinjs-lib

0.0.7
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q9676F
  • License MIT

An extend lib for bitcoinjs-lib, it supports two new network of vipstarcoin and vipstarcoin-testnet, and it can generate contract creating and sending transactions

Package Exports

  • vipstarcoinjs-lib

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (vipstarcoinjs-lib) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

vipstarcoinjs-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 VIPSTARCOIN transactions.

Installation

npm install vipstarcoinjs-lib

Setup

Node.js

var vipstarcoinjs = require('vipstarcoinjs-lib')

New features

Network

{
    vipstarcoin: {
        messagePrefix: '\x18VIPSTARCOIN Signed Message:\n',
        bech32: 'bc',
        bip32: {
            public: 0x0488b21e,
            private: 0x0488ade4
        },
        pubKeyHash: 0x46,
        scriptHash: 0x32,
        wif: 0x80
    },
    vipstarcoin_testnet: {
        messagePrefix: '\x18VIPSTARCOIN Signed Message:\n',
        bech32: 'tb',
        bip32: {
            public: 0x043587cf,
            private: 0x04358394
        },
        pubKeyHash: 0x64,
        scriptHash: 0x6e,
        wif: 0xe4
    }
}

Utils

Utils.selectTxs

/**
 * This is a function for selecting VIPSTARCOIN utxos to build transactions
 * the transaction object takes at least 3 fields, value(unit is 1e-8 VIPS) , confirmations and isStake
 *
 * @param [transaction] unspentTransactions
 * @param Number amount(unit: VIPS)
 * @param Number fee(unit: VIPS)
 * @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 VIPS), confirmations, isStake, hash and pos
 *
 * @param bitcoinjs-lib.KeyPair keyPair
 * @param String to
 * @param Number amount(unit: VIPS)
 * @param Number fee(unit: VIPS)
 * @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 VIPS), 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 VIPS/gas)
 * @param Number fee(unit: VIPS)
 * @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 VIPS), 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 VIPS/gas)
 * @param Number fee(unit: VIPS)
 * @param [transaction] utxoList
 * @returns String the built tx
 */
function buildSendToContractTransaction(keyPair, contractAddress, encodedData, gasLimit, gasPrice, fee, utxoList)