0、要在 Windows 10 上使用 Golang 存取以太坊網路,請先完成以下設置:
https://steemit.com/go/@oneleo/windows-10-golang-rinkeby
https://steemkr.com/go/@oneleo/windows-10-golang-rinkeby
1、編譯並執行以下 Golang 程式碼:
// 設定套件名稱,若設置為 main 則為程式執行入口。
package main
// 匯入需要用的套件。
import (
"context"
"fmt"
"log"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/ethclient"
)
// main 函數為程式執行入口第一個會執行的函數
func main() {
// 連線至指定的以太坊位址:https://mainnet.infura.io
client, err := ethclient.Dial("https://mainnet.infura.io")
// 確認連線是否有誤
if err != nil {
// 若連線錯誤則將錯誤訊息紀錄後,強制結束程式執行。
log.Fatal(err)
}
// 設置要查詢的 Transaction 交易 Hash 碼。
// 這次要查詢的交易可至此查看:https://etherscan.io/tx/0x2d6a7b0f6adeff38423d4c62cd8b6ccb708ddad85da5d3d06756ad4d8a04a6a2
txHashTku := common.HexToHash("0x2d6a7b0f6adeff38423d4c62cd8b6ccb708ddad85da5d3d06756ad4d8a04a6a2")
// 從上述指定的以太坊地址找到指定的交易資訊。
txTku, _, err := client.TransactionByHash(context.Background(), txHashTku)
// 確認是否有找到指定的交易。
if err != nil {
// 若沒有找到指定的交易則將錯誤訊息紀錄後,強制結束程式執行。
log.Fatal(err)
}
// 將交易資訊中的 Input Data 取出後,轉換成文字形式並印出。
fmt.Println("【Transaction Hash】",txHashTku.Hex())
fmt.Println("【The transaction tx data string】\n", string(txTku.Data()))
fmt.Println("--------------------------------------------------")
// 設置要查詢的 Transaction 交易 Hash 碼。
// 這次要查詢的交易可至此查看:https://etherscan.io/tx/0x3ff976bb56ffd5b56284964596f07157f6b2009dec34373b70091d3eb82ab596
txHashAbs := common.HexToHash("0x3ff976bb56ffd5b56284964596f07157f6b2009dec34373b70091d3eb82ab596")
// 從上述指定的以太坊地址找到指定的交易資訊。
txAbs, _, err := client.TransactionByHash(context.Background(), txHashAbs)
// 確認是否有找到指定的交易。
if err != nil {
// 若沒有找到指定的交易則將錯誤訊息紀錄後,強制結束程式執行。
log.Fatal(err)
}
// 將交易資訊中的 Input Data 取出後,轉換成文字形式並印出。
fmt.Println("【Transaction Hash】",txHashAbs.Hex())
fmt.Println("【The transaction tx data string】\n", string(txAbs.Data()))
}
輸出:
【Transaction Hash】 0x2d6a7b0f6adeff38423d4c62cd8b6ccb708ddad85da5d3d06756ad4d8a04a6a2
【The transaction tx data string】
(…略)
--------------------------------------------------
【Transaction Hash】 0x3ff976bb56ffd5b56284964596f07157f6b2009dec34373b70091d3eb82ab596
【The transaction tx data string】
(…略)
Donate ADA:
DdzFFzCqrhsup2Q4nnhKJJZ5BRuPkYUSPqDJn72t2dtHtVqsz5kQQmopMQR16Sv9qS5NC4w8Kv5P8XrDH2n2FD2akxtrntjc8hbgAmTz