(實作)在 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
Leave (實作)在 Windows 10 上使用 Golang 存取以太坊 Rinkeby 測試網 to:
Read more #go posts
Best Posts From oneleo
We have not curated any of oneleo's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From oneleo
- Solidity 智能合約 Constructor 的執行順序
- 在 Windows 內安裝單機版 Ethereum 節點 Ganache
- 【筆記】在 Windows 作業系統中建立 Node.js for ethereumjs-wallet 開發環境
- 橢圓曲線加密演算法 ECDSA 與 RFC6979 改進提案
- 詳解 HD Wallet、BIP-0032、BIP-0039、BIP-0043 及 BIP-0044
- ★【筆記】在 VHD 內安裝 Windows 10
- 【筆記】在 VHD 內安裝 Windows 10【Part 08】接下來要演示如何設置預設的開機選項,以及如何從開機選單中刪除開機選項。在這邊我們選擇進入「Windows 10 Test 02」(由 Vhd_Test_2.vhd 製作)作業系統中
- 【筆記】在 VHD 內安裝 Windows 10【Part 07】在 Vhd_Test.vhd 虛擬磁碟內完成安裝 Windows 10 後,我們可以複製 Vhd_Test.vhd 來製作第三個開機選項,並且演示如何設置開機選項的顯示名稱
- 【筆記】在 VHD 內安裝 Windows 10【Part 06】接下來電腦會自動在 MBR 分割表模式下使用 Windows 10 安裝隨身碟來開機,開始在 VHD 虛擬磁碟內安裝 Windows 10
- 【筆記】在 VHD 內安裝 Windows 10【Part 05】建立完成 VHD 檔後,因 Windows 10 預設開啟「快速啟動」功能導致無法再進入 BIOS/UEFI 畫面重新設置使用安裝隨身碟開機,故要使用特殊的方法