Go-Ethereum
解碼原始交易
如何使用 Go / go-ethereum 解碼原始交易?沒有將原始字節或十六進制讀取到交易中的方法/功能https://godoc.org/github.com/ethereum/go-ethereum/core/types。基本上我只想提取目標地址和發送的金額。
使用官方的 go-ethereum 包:
import ( "encoding/hex" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/rlp" ) func GetToAddressFromRawTransaction(rawTxHex string) (*common.Address, error) { rawTxData, err := hex.DecodeString(rawTxHex[2:]) // Remove hex prefix "0x..." if err != nil { return nil, err } var tx types.Transaction err = rlp.DecodeBytes(rawTxData, &tx) if err != nil { return nil, err } return tx.To(), nil }
查看該
Transaction
類型的方法來訪問 tx 對像中的數據。
這是我從這個答案中找到的一個包:
https://github.com/ConsenSys/abi-decoder
請參閱標題為Decode Tx data的程式碼塊。我認為這應該做你想要的。