bcsjs-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 BCSChain transactions.
Installation
npm install bcsjs-lib
Setup
Node.js
var bcsjs =
New features
Network
{
bcs: {
messagePrefix: '\x18BCS Signed Message:\n',
bech32: 'bc',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
},
pubKeyHash: 0x19,
scriptHash: 0x32,
wif: 0x80
},
/*bcs_testnet: {
messagePrefix: '\x18BCS Signed Message:\n',
bech32: 'tq',
bip32: {
public: 0x043587cf,
private: 0x04358394
},
pubKeyHash: 0x78,
scriptHash: 0x6e,
wif: 0xef
}*/
}
Utils
Utils.selectTxs
/** * This is a function for selecting BCS utxos to build transactions * the transaction object takes at least 3 fields, value(unit is 1e-8 BCS) , confirmations and isStake * * @param [transaction] unspentTransactions * @param Number amount(unit: BCS) * @param Number fee(unit: BCS) * @returns [transaction] */
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 BCS), confirmations, isStake, hash and pos * * @param bitcoinjs-lib.KeyPair keyPair * @param String to * @param Number amount(unit: BCS) * @param Number fee(unit: BCS) * @param [transaction] utxoList * @returns String the built tx */
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 BCS), 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 BCS/gas) * @param Number fee(unit: BCS) * @param [transaction] utxoList * @returns String the built tx */
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 BCS), 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 BCS/gas) * @param Number fee(unit: BCS) * @param [transaction] utxoList * @returns String the built tx */