Transactions

從 UTXO 資訊開始在 BitcoinJ 中離線創建原始交易

  • November 22, 2020

我想在 BitcoinJ 中創建離線原始交易(不簽名)。我所知道的關於 inout 的資訊是 UTXO 的雜湊、索引、數量、地址和腳本。我還知道最終交易的收款人地址、找零地址、金額和費用。

我正在與 TransactionOutput 建構子為我的交易建構輸入。我不知道在哪裡設置 UTXO 雜湊和索引 - 我認為在“父”參數中,但我失敗了。這是我的片段:

Transaction parent = ??? 
Coin value = Coin.valueOf(satoshi(utxo.getAmount()));
Address to = Address.fromBase58(params, utxo.getOwnerAddress());
//where do i put utxo hash and index?
TransactionOutput input = new TransactionOutput(params, parent, value, to);
tx.addInput(input)

我正在與 TransactionOutput 建構子為我的交易建構輸入。我不知道在哪裡設置 UTXO 雜湊和索引

我認為您可以根據之前的交易輸出(outpoint)建構輸入,如下所示:

byte[] scriptBytes = {};
Sha256Hash vinTxId = Sha256Hash.wrap(txId);
TransactionOutPoint outpoint = new TransactionOutPoint(params, index, vinTxId);
Coin value = null;
TransactionInput input = new TransactionInput(params, transaction, scriptBytes, outpoint, value);
transaction.addInput(input);

不確定這是否是最好的方法。

編輯:這與上面的程式碼相同。

transaction.addInput(Sha256Hash.wrap(txId), index, ScriptBuilder.createEmpty());

引用自:https://bitcoin.stackexchange.com/questions/99992