Bitcoin-Core
scriptSing 使用 RPC 框架解碼時包含什麼?
我正在嘗試從 scriptSing 和 ScriptPubKey 獲取錢包 ID。當我解碼 scriptSig 時,結果不包含地址地址。但是當我解碼 scriptPubKey 時,它包含地址。
為什麼 scriptSig 不包含地址?
如果它不包含錢包 id,它是否包含對先前交易輸出的任何引用?如果是,RPC 響應中包含對先前輸出的引用的屬性是什麼?
這是文件參考比特幣核心
比特幣實際上並不在內部使用地址。地址只是我們人類指定我們希望錢包軟體創建什麼 scriptPubKey 的一種方式。當交易輸出被花費時,地址不會被包含在任何地方,因為它是不需要的。
Bitcoin Core 的解碼 RPC 將包含比交易、區塊或腳本中實際存在的資訊更多的資訊。這是因為它可以推斷和顯示以不同方式呈現的資訊。
由於地址描述了 scriptPubKey,因此通常可以獲取 scriptPubKey 併計算與其對應的地址。這並不總是可能的,因為並非所有 scriptPubKeys 都對應於地址。但通常他們會這樣做,因此解碼器會向您顯示這一點。
但是 scriptSigs 沒有相應的地址。您無法從地址獲取 scriptSig,反之亦然。事實上,你從一個地址發送的想法是不正確的。這只是向人們描述事物的一種更簡單的方式。這不是比特幣的實際運作方式。
對前一個輸出的引用是通過顯式引用而不是引用某個地址來完成的。每個輸出都由它所包含的交易及其在該交易的輸出數組中的索引唯一標識。Bitcoin Core 將其顯示為每個輸入的
txid
和欄位。vout
比特幣真的沒有錢包ID。與流行的看法相反,地址不是錢包 ID,也不是公鑰。