Raw-Transaction

getnewaddress 對比獲取原始更改地址

  • July 14, 2016

我正在使用 Golang btcsuite/btcd 庫編寫一個在區塊鏈中創建自定義OP_RETURNTX 的比特幣應用程序。

我從高層次理解比特幣(工作證明共識、Merkle 樹、成員資格、簽名等),但我迷失在(不必要的?)其 RPC 介面的複雜細節中。

我正在用 Go 編寫程式碼來創建一個具有 1 個輸入和 2 個輸出(一個 OP_RETURN 輸出和一個更改輸出)的自定義事務。以下是我的問題:

  1. 這是否被視為原始交易?(如果是,究竟什麼是原始交易?是不是所有交易都不是通過sendfrom/sendmany/sendtoaddressRPC 創建的?)
  2. getnewaddressgetrawchangeaddress在語義層面有什麼區別?似乎兩者都生成了一個密鑰對,但是為什麼需要兩個不同的呼叫呢?
  3. 如果我正在創建如上所述的原始getnewaddress事務,我應該將更改發送到密鑰還是getrawchangeaddress密鑰?

謝謝你,

阿林

  1. rawtransaction介面接受並返回“原始”十六進制編碼的 p2p 兼容事務。使用非 rawtransaction 方法(如sendtoaddres, 不會讓您檢查或更改創建的字節數組。
  2. 該**getrawchangeaddress方法將從密鑰池中檢索密鑰並返回其 pubkey(編碼為 p2pkh 地址)。與 不同getrawchangeaddressgewnewaddress**將創建一個地址簿條目,使您可以更好地檢查/區分您從該地址收到的資金,從而增加重複使用地址的機會。
  3. **getrawchangeaddress**如果您想使用給定地址作為原始交易的更改輸出,您應該使用。

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