Transactions

創建從地址 A 和 B 發送到地址 C 的交易

  • March 24, 2017

相關:使用bitcore創建具有兩個地址的交易並更改地址

我想創建一個從地址AB發送到地址C的交易

在上面的問題中,我有點困惑(看起來他正在做一筆交易,從地址AB發送到地址CD在地址****E接收更改),因為看起來他正在用兩個接收地址簽署它!

通常,當我使用Bitcore創建和簽署 tx 時,我會使用發送地址的私鑰而不是接收地址對其進行簽名(在我的情況下,接收地址將是我個人不認識的使用者)

bitcore 文件說:

要將交易發送到多重簽名地址,API 與上面的範例相同。要花費需要多個簽名的輸出,該過程需要額外的資訊:可以解鎖該輸出的簽名者的公鑰。

var multiSigTx = new Transaction()
.from(utxo, publicKeys, threshold)
.change(address)
.sign(myKeys);

var serialized = multiSigTx.toObject();

讓我感到困惑的兩個部分是:

  • Bitcore 報價 - 將交易發送到多重簽名地址…

這與普通地址不同嗎?我注意到缺少該範例.to(address, amount)

  • 為什麼相關問題中的 Richard 使用接收地址的私鑰簽名?

從邏輯上講,我想要的操作不應該是這樣的嗎?:

var transaction=new Bitcore.Transaction()
.fee(fee)
.from([output_A,output_B])
.to(pubkey_C,satoshis-fee)
.change(address_A)                    //don't loose the change
.sign([privatekey_A,privatekey_B]);

output_A 來自地址 A,而 output_B 來自地址 B(都是我的地址)

您的交易應該是正確的。但是,由於您正在尋找錯誤的概念,因此您會感到困惑。

您不會將資金發送到多重簽名地址,即多個使用者共享的地址,其中一些使用者需要簽署交易或訂單才能從該地址花費資金。您(如果我沒記錯的話)願意從兩個不同的地址(AB)花費資金,以便將資金發送到第三個地址:C

因此,您應該建構一個包含來自兩個地址A和的輸入的交易B,其中每個輸入可能由後兩個地址的相應地址簽名。

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