runebasejs-lib
v0.0.7
Published
An extend lib for bitcoinjs-lib, it supports two new network of runebase and runebase-testnet, and it can generate contract creating and sending transactions
Downloads
10
Maintainers
Readme
runebasejs-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 RUNEBASE transactions.
Installation
npm install runebasejs-lib
Setup
Node.js
var runebasejs = require('runebasejs-lib')
New features
Network
{
runebase: {
messagePrefix: '\x18Runebase Signed Message:\n',
bech32: 'bc',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
},
pubKeyHash: 0x3a,
scriptHash: 0x32,
wif: 0x80
},
runebase_testnet: {
messagePrefix: '\x18Runebase Signed Message:\n',
bech32: 'tb',
bip32: {
public: 0x043587cf,
private: 0x04358394
},
pubKeyHash: 0x78,
scriptHash: 0x6e,
wif: 0xef
}
}
Utils
Utils.selectTxs
/**
* This is a function for selecting RUNEBASE utxos to build transactions
* the transaction object takes at least 3 fields, value(unit is 1e-8 RUNEBASE) , confirmations and isStake
*
* @param [transaction] unspentTransactions
* @param Number amount(unit: RUNEBASE)
* @param Number fee(unit: RUNEBASE)
* @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 RUNEBASE), confirmations, isStake, hash and pos
*
* @param bitcoinjs-lib.KeyPair keyPair
* @param String to
* @param Number amount(unit: RUNEBASE)
* @param Number fee(unit: RUNEBASE)
* @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 RUNEBASE), 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 RUNEBASE/gas)
* @param Number fee(unit: RUNEBASE)
* @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 RUNEBASE), 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 RUNEBASE/gas)
* @param Number fee(unit: RUNEBASE)
* @param [transaction] utxoList
* @returns String the built tx
*/
function buildSendToContractTransaction(keyPair, contractAddress, encodedData, gasLimit, gasPrice, fee, utxoList)