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