Bitcoinj
如何在bitcoinj中獲取發件人的地址
我正在嘗試修改簡單的錢包模板以獲取交易列表中的發件人地址。但是,由於 TransactionInput.getFromAddress() 現在不存在並且 getConnectedOutput().getAddressFromP2PKHScript() 已被棄用,我不知道哪種方法是正確的。
比特幣交易沒有發件人地址。
您所做的是推斷之前控制交易中涉及的部分或全部資金的地址。但:
- 以前控制資金並不意味著您找到了發件人。如果硬幣由託管交易所持有,地址將是交易所,而不是資金的發送者。特別是,將硬幣寄回那裡不會使它們到達合適的人手中。
- 交易可以由多個參與者共同建構。你只能猜測哪個是哪個。
- 之前控制資金的腳本可能根本沒有關聯地址。
如果您想知道交易的發送者地址是什麼,請詢問發送者(例如,如果您需要退款地址,請在顯示付款地址之前詢問)。如果這不是您參與的交易,則可能與您無關。
public Address getFromAddress(TransactionInput txIn) { // get script from connected output TransactionOutput txOut = txIn.getConnectedOutput(); Script txOutScript = txOut.getScriptPubKey(); // get address from script Address fromAddress = txOutScript.getToAddress(MainNetParams.get()); return fromAddress; }