31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
var bitcoin = require('../src/index.js')
|
|
var bscript = bitcoin.script
|
|
var crypto = bitcoin.crypto
|
|
var networks = bitcoin.networks
|
|
var TransactionBuilder = bitcoin.TransactionBuilder
|
|
var TxSigner = bitcoin.TxSigner
|
|
|
|
var network = networks.testnet
|
|
var entropy = new Buffer('14bdfeac14bdfeac14bdfeac14bdfeac14bdfeac14bdfeac14bdfeac14bdfeac')
|
|
var root = bitcoin.HDNode.fromSeedBuffer(entropy, network)
|
|
|
|
var txid = '06fc7b675a31bfe3f05dab40d0cd8c044a9b2e890c696a53449d970a4adc6d52'
|
|
var vout = 0
|
|
var receivePK = bscript.pubKeyHash.output.encode(crypto.hash160(root.keyPair.getPublicKeyBuffer()))
|
|
var receiveAmount = 22000
|
|
|
|
var fundP2shScript = bscript.witnessPubKeyHash.output.encode(crypto.hash160(root.keyPair.getPublicKeyBuffer()))
|
|
var fundScriptPubKey = bscript.scriptHash.output.encode(crypto.hash160(fundP2shScript))
|
|
|
|
var txb = new TransactionBuilder(network)
|
|
txb.addInput(txid, vout, 0xffffffff)
|
|
txb.addOutput(fundScriptPubKey, receiveAmount - 5000)
|
|
|
|
var unsigned = txb.buildIncomplete()
|
|
var signer = new TxSigner(unsigned)
|
|
signer.sign(0, root.keyPair, {
|
|
scriptPubKey: receivePK
|
|
})
|
|
var tx = signer.done()
|
|
console.log(tx.toBuffer().toString('hex'))
|