Transactions
從 UTXO 資訊開始在 BitcoinJ 中離線創建原始交易
我想在 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());