Transactions
創建從地址 A 和 B 發送到地址 C 的交易
我想創建一個從地址A和B發送到地址C的交易
在上面的問題中,我有點困惑(看起來他正在做一筆交易,從地址A和B發送到地址C和D在地址****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(都是我的地址)
您的交易應該是正確的。但是,由於您正在尋找錯誤的概念,因此您會感到困惑。
您不會將資金發送到多重簽名地址,即多個使用者共享的地址,其中一些使用者需要簽署交易或訂單才能從該地址花費資金。您(如果我沒記錯的話)願意從兩個不同的地址(
A
和B
)花費資金,以便將資金發送到第三個地址:C
。因此,您應該建構一個包含來自兩個地址
A
和的輸入的交易B
,其中每個輸入可能由後兩個地址的相應地址簽名。