使用bitcoinjs发送比特币交易

wor*_*ama 6 javascript transactions bitcoin

有人可以解释我如何使用bitcoinjs发送比特币交易??? 我使用bitcoinjs设置了两个钱包.

我想从这里发送100000 satoshis: 1G4iprWu7Q8tNbQLA8UBM2GearcnzwFrxM

到这里: 1HsrKvboax8J3X1sgsRdWybEwnUNWsDw4Y

如果这里需要它是1G4iprWu7Q8tNbQLA8UBM2GearcnzwFrxM的最后一笔交易

我使用的代码来自bitcoinjs.org网站:

var tx = new bitcoin.TransactionBuilder()

// Add the input (who is paying):
// [previous transaction hash, index of the output to use]
var txId = 'aa94ab02c182214f090e99a0d57021caffd0f195a81c24602b1028b130b63e31'
tx.addInput(txId, 0)

// Add the output (who to pay to):
// [payee's address, amount in satoshis]
tx.addOutput("1Gokm82v6DmtwKEB8AiVhm82hyFSsEvBDK", 15000)

// Initialize a private key using WIF
var privateKeyWIF = 'L1uyy5qTuGrVXrmrsvHWHgVzW9kKdrp27wBC7Vs6nZDTF2BRUVwy'
var keyPair = bitcoin.ECPair.fromWIF(privateKeyWIF)

// Sign the first input with the new key
tx.sign(0, keyPair)

// Print transaction serialized as hex
console.log(tx.build().toHex())
// => 0100000001313eb630b128102b60241ca895f1d0ffca21 ...

// You could now push the transaction onto the Bitcoin network manually
// (see https://blockchain.info/pushtx)
Run Code Online (Sandbox Code Playgroud)

现在我假设var txId这里的最后一笔交易的交易ID

是`tx.addInput``我在哪里付费?如果是这样足够100?

tx.addOutput 是obvs所以我很好!

就是var privateKeyWIF*在那里,我把从发送地址的私有密钥?

不知道什么var keyPairtx.sign做!

任何能够帮助告诉我详细信息去哪里的人都将不胜感激!对于此示例,假设我的私钥为发件人地址为5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF.

干杯

Fi3*_*Fi3 -1

无线网络

首先了解一下wif格式是什么。

输入

从github我们有:

Transaction.prototype.addInput = function (hash, index, sequence, scriptSig)

所以你必须传递交易的哈希值和索引(哪个输出将是你的输入)你应该检查比特币交易是什么

密钥对

没有验证过,但可能keyPair是你的Pk和pk。

签名

还请验证,因为我没有,但逻辑上应该使用 中的私钥对输入tx.sign(index, keyPair) 进行签名 tx (SIGHASH_ALL)。如果您有多个输入,当然您必须为每一个输入提供签名。看看掌握比特币indexkeyPair

  • 感谢您提供的信息,尽管这没有解释如何将交易推送到网络上 (3认同)