(實作)在 Windows 10 上使用 Golang 存取以太坊 Rinkeby 測試網

0、在 Windows 上安裝 go-ethereum 環境,可參考:
https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum

1、安裝 Git for Windows
下載位址:
https://git-scm.com/downloads

2、安裝 Golang 程式語言:
下載位置:
https://golang.org/dl/

(1)點選【Next】

(2)點選【Next】

(3)點選【Next】

(4)點選【Install】

(5)點選【Finish】

(6)設定 Windows 環境變數(下方指令為腳本,環境變數請至「控制台」→「系統及安全性」→「系統」→「進階系統設定」→「進階」標籤→「環境變數(N)...」→在「XXX 的使用者變數」內新增、編輯)

> set GOROOT="C:\go"
> set GOPATH="%USERPROFILE%\go"
> set GOBIN="%USERPROFILE%\go\bin"
> set PATH="%PATH%;%GOROOT%\bin;%GOBIN%"

2、安裝 MinGW-64(這邊以安裝 msys2-x86_64_20180531.exe 至 C:\msys64 為例)

下載位置:
http://www.msys2.org/

參考:
https://shaochien.gitbooks.io/how-to-use-gcc-to-develop-c-cpp-on-windows/content/shell-select-and-install-gcc.html
https://cwchen.tw/windows-survival/mingw-msys/
https://labs.mediatek.com/zh-tw/faq/FAQ18854

(1)點選【Next】

(2)點選【Next】

(3)點選【Next】

(4)點選【Finish】

(5)此時會自動開啟一個 MSYS 視窗,輸入下方指令更新核心軟體:

$ pacman -Syu --noconfirm

(6)出現「close your terminal window instead of calling exit」訊息,關閉目前的 MSYS 視窗

(7)在【開始】→【MSYS2 64bit】→【MSYS2 MSYS】來啟動 MSYS 視窗

(8)再次輸入下方指令更新核心及其他軟體

$ pacman -Syu --noconfirm
$ pacman -Su --noconfirm

(9)可以使用下方指令搜尋可安裝的 gcc 套件:

$ pacman -Ss gcc
$ pacman -Sl | grep gcc

註:將會看到 msys2 的 gcc 套件有三種類可選,這邊以安裝 Mingw64 版的 gcc:

  • mingw-w64-i686:32 位元套件 (mingw32)
  • mingw-w64-x86_64:64 位元套件 (mingw64)
  • 無字首:僅用於 msys 環境中 (msys)

(5)安裝 gcc、make

$ pacman -S mingw-w64-x86_64-gcc make --noconfirm

(6)MSYS2 會將 gcc 可執行檔放在「C:\msys64\mingw64\bin」內,make 可執行檔會放在「C:\msys64\usr\bin」內。

(7)設定 Windows 環境變數(下方指令為腳本,環境變數請至「控制台」→「系統及安全性」→「系統」→「進階系統設定」→「進階」標籤→「環境變數(N)...」→在「XXX 的使用者變數」內新增、編輯)

> set MINGW64="C:\msys64\mingw64"
> set MSYS64USR="C:\msys64\usr"
> set PATH="%PATH%;%MINGW64%\bin;%MSYS64USR%\bin"

(8)在命令提示字元(C:\WINDOWS\system32\cmd.exe)內輸入下列指令測試 gcc、make 是否有安裝成功

> gcc -v
> make -v

4、安裝 Visual Studio Code 整合編譯環境
https://code.visualstudio.com/download

5、安裝 Go Extension for Visual Studio Code

套件介紹頁面:
https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go

(1)在【礦充功能】頁面下搜尋【go】關鍵字 → 點選【安裝】→【重新啟動】

(2)點選【Ctrl + Shift + P】→ 輸入【Go: Install/Update tools】→【Enter】來安裝 Go Extension for Visual Studio Code 需要的 go 套件

註:要看到「All tools successfully installed. You're ready to Go :).」訊息才算安裝完成

6、安裝 dotNET SDK for Visual Studio Code(可選,非必要)
https://www.microsoft.com/net/learn/get-started/windows#windowscmd

7、在命令提示字元(C:\WINDOWS\system32\cmd.exe)內輸入下列指令來安裝 go-ethereum 編譯環境

> go get -u -v golang.org/x/net/context
> go get -u -v github.com/ethereum/go-ethereum
> cd %GOBIN%\..\src\github.com\ethereum\go-ethereum
> go install -v ./cmd/...

8-1、(使用命令提示字元(C:\WINDOWS\system32\cmd.exe))使用 go 語言連接至以太坊測試網路

(1)建立一資料夾後編輯 %GOBIN%..\src\go-ethereum-test\test\client.go 檔

> md %GOBIN%\..\src\go-ethereum-test\test
> code %GOBIN%\..\src\go-ethereum-test\test\client.go

(2)使用 Visual Studio Code 編輯【client.go】檔,其內容如下

package main

import (
        "fmt"
        "github.com/ethereum/go-ethereum/ethclient"
        "log"
)

func main() {
        //client, err := ethclient.Dial("https://mainnet.infura.io")
        client, err := ethclient.Dial("https://rinkeby.infura.io")
        if err != nil {
                log.Fatal(err)
        }
        fmt.Println("we have a connection")
        _ = client
}

(2)編譯 %GOBIN%..\src\go-ethereum-test\test\client.go 後執行,確認可順利連至以太坊測試網路

> go install go-ethereum-test\test
> test

//-------------------------Content-------------------------
we have a connection
//-------------------------Content-------------------------

8-2、(使用 Visual Studio Code)使用 go 語言連接至以太坊測試網路

(1)建立資料夾「%GOBIN%..\src\go-ethereum-test\test」,並在其內使用 Visual Studio Code 開啟。

(2)新增【client.go】檔,其內容如下

package main

import (
        "fmt"
        "github.com/ethereum/go-ethereum/ethclient"
        "log"
)

func main() {
        //client, err := ethclient.Dial("https://mainnet.infura.io")
        client, err := ethclient.Dial("https://rinkeby.infura.io")
        if err != nil {
                log.Fatal(err)
        }
        fmt.Println("we have a connection")
        _ = client
}

(3)點選【偵錯 Debug】→【啟動偵錯 Start Debugging(F5)】即可開始編譯並在下方看到執行結果。

註:未來可以直接按【F5】鍵來進行「啟動偵錯 Start Debugging」


Donate ADA:
DdzFFzCqrhsup2Q4nnhKJJZ5BRuPkYUSPqDJn72t2dtHtVqsz5kQQmopMQR16Sv9qS5NC4w8Kv5P8XrDH2n2FD2akxtrntjc8hbgAmTz

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center