概述: 這本迷你書可以幫助你學習如何用Go語言部署,編譯,與智能合約交互,發交易,使用Swarm和Whisper協議。就這么簡單:)

用Go來做以太坊開發

這本迷你書的本意是給任何想用Go進行以太坊開發的同學一個概括的介紹。本意是如果你已經對以太坊和Go有一些熟悉,但是對于怎么把兩者結合起來還有些無從下手,那這本書就是一個好的起點。你會學習如何用Go與智能合約交互,還有如何完成一些日常的查詢和任務。

這本書里有很多我希望我當初學習用Go以太坊開發的時候能有的代碼范例。你上手Go語言以太坊開發的大部分所需知識,這本書里面都會手把手介紹到。

當然了,以太坊還是一直在飛速的發展的進化的。所以難免會有些過期的內容,或者你認為有可以值得提升的地方.

:-: images

介紹

以太坊是一個開源,公開,基于區塊鏈的分布式計算平臺和具備智能合約(腳本)功能的操作系統。它通過基于交易的狀態轉移支持中本聰共識的一個改進算法。

-維基百科

以太坊是一個區塊鏈,允許開發者創建完全去中心化運行的應用程序,這意味著沒有單個實體可以將其刪除或修改它。部署到以太坊上的每個應用都由以太坊網絡上每個完整客戶端執行。

Solidity

Solidity是一種用于編寫智能合約的圖靈完備編程語言。Solidity被編譯成以太坊虛擬機可執行的字節碼。

go-ethereum

本書中,我們將使用Go的官方以太坊實現go-ethereum來和以太坊區塊鏈進行交互。Go-ethereum,也被簡稱為Geth,是最流行的以太坊客戶端。因為它是用Go開發的,當使用Golang開發應用程序時,Geth提供了讀寫區塊鏈的一切功能。

本書的例子在go-ethereum版本1.8.10-stable和Go版本go1.10.2下完成測試。

Block Explorers

Etherscan是一個用于查看和深入研究區塊鏈上數據的網站。這些類型的網站被稱為區塊瀏覽器,因為它們允許您查看區塊(包含交易)的內容。區塊是區塊鏈的基礎構成要素。區塊包含在已分配的出塊時間內開采出的所有交易數據。區塊瀏覽器也允許您查看智能合約執行期間釋放的事件以及諸如支付的gas和交易的以太幣數量等。

Swarm and Whisper

我們還將深入研究蜂群(Swarm)和耳語(Whisper),分別是一個文件存儲協議和一個點對點的消息傳遞協議,它們是實現完全去中心化和分布式應用程序需要的另外兩個核心。

41317815-2e287afe-6e4b-11e8-89d8-4ec959988b64.png

圖片來源

尋求幫助

尋求Go(Golang)幫助可以加入gophers slack上的#ethereum頻道。


介紹部分足夠了,讓我們開始吧。