習慣不同語言以太坊開發人員可選擇用戶端
來源:互聯網
上載者:User
## 為什麼會有多種類型的用戶端?在以太坊早期的工程中,已經在多種不同的作業系統上實現了多個不同的用戶端,這對整個以太坊的生態系統來說是巨大的勝利。它讓我們驗證了協議的明確性(在以太坊 [黃皮書](https://github.com/ethereum/yellowpaper) 中指明),向新的革新敞開大門,也讓我們都保持誠實。然而,這也讓很多新使用者倍感困擾,因為自始至終也沒有一個“以太坊安裝包”讓他們直接使用。截止到2016年9月,最受歡迎的兩個用戶端分別是: [Go用戶端(go-ethereum)](http://ethdoc.cn/ethereum-clients/go-ethereum/index.html#go-ethereum) 和 [Rust用戶端(Parity)](http://ethdoc.cn/ethereum-clients/parity/index.html#parity)。| Client | Language | Developers | Latest release || --- | --- | --- | --- || [Go用戶端(go-ethereum)](http://ethdoc.cn/ethereum-clients/go-ethereum/index.html#go-ethereum) | Go | [Ethereum Foundation](https://ethereum.org/foundation) | [go-ethereum-v1.4.18](https://github.com/ethereum/go-ethereum/releases/tag/v1.4.18) || [Rust用戶端(Parity)](http://ethdoc.cn/ethereum-clients/parity/index.html#parity) | Rust | [Ethcore](https://ethcore.io/) | [Parity-v1.4.0](https://github.com/ethcore/parity/releases/tag/v1.4.0) || [C++用戶端(cpp-ethereum)](http://ethdoc.cn/ethereum-clients/cpp-ethereum/index.html#cpp-ethereum) | C++ | [Ethereum Foundation](https://ethereum.org/foundation) | [cpp-ethereum-v1.3.0](https://github.com/bobsummerwill/cpp-ethereum/releases/tag/v1.3.0) || [python用戶端(pyethapp)](http://ethdoc.cn/ethereum-clients/pyethapp/index.html#pyethapp) | Python | [Ethereum Foundation](https://ethereum.org/foundation) | [pyethapp-v1.5.0](https://github.com/ethereum/pyethapp/releases/tag/v1.5.0) || [JavaScript庫(ethereumjs-lib)](http://ethdoc.cn/ethereum-clients/ethereumjs-lib/index.html#ethereumjs-lib) | Javascript | [Ethereum Foundation](https://ethereum.org/foundation) | [ethereumjs-lib-v3.0.0](https://github.com/ethereumjs/ethereumjs-lib/releases/tag/v3.0.0) || [Java用戶端(Ethereum(J))](http://ethdoc.cn/ethereum-clients/ethereumj/index.html#ethereum-j) | Java | [<ether.camp>](http://www.ether.camp/) | [ethereumJ-v1.3.1](https://github.com/ethereum/ethereumj/releases/tag/1.3.1) || [Ruby用戶端(ruby-ethereum)](http://ethdoc.cn/ethereum-clients/ruby-ethereum/index.html#ruby-ethereum) | Ruby | [Jan Xie](https://github.com/janx/) | [ruby-ethereum-v0.9.6](https://rubygems.org/gems/ruby-ethereum/versions/0.9.6) || [Haskell工具(ethereumH)](http://ethdoc.cn/ethereum-clients/ethereumh/index.html#ethereumh) | Haskell | [BlockApps](http://www.blockapps.net/) | no Homestead release yet |## 我在案頭電腦/筆記本上應該裝哪種用戶端呢?大多數使用者會選擇安裝 [Mist / Ethereum Wallet](https://github.com/ethereum/mist) ,這足夠滿足大多數需求了。以太坊錢包(Ethereum Wallet)起源於家園版本(Homestead),是大都會版本(Metropolis)重點開發的對象,它可以算是MistBrowser的一個應用。Mist 會附帶一個 [Go用戶端(go-ethereum)](http://ethdoc.cn/ethereum-clients/go-ethereum/index.html#go-ethereum) 或 [C++用戶端(cpp-ethereum)](http://ethdoc.cn/ethereum-clients/cpp-ethereum/index.html#cpp-ethereum) 項目編譯出的二進位檔案執行檔,如果你沒有運行命令列版本的以太坊用戶端,那麼Mist啟動後會調用其中一個來同步區塊鏈資料(預設使用geth)。如果你想讓Mist配合Parity用戶端使用,或者讓Mist執行在一個私人鏈上,那麼在啟動Mist前先啟動你的Parity用戶端,那麼Mist啟動後就會串連到Parity節點上而不去啟動自己內建的用戶端節點。**將Parity或其他用戶端添加到Mist中的工作進行中中。**如果你想直接使用命令列工具和以太坊進行互動,並且使用Javascript控制台進行互動,那麼你可以直接安裝一個用戶端程式,連結請參考上面的表格。如果你想進行挖礦,那麼Mist就不能勝任了,你需要參考這個章節第文檔: the [挖礦](http://ethdoc.cn/mining.html#mining) section.## 我在手機/平板上安裝哪種用戶端呢?我們對手機行動裝置的支援還處於非常初期的階段,Go項目組發布了iOS和Android實驗版本的開發庫,部分開發人員可以基於這個庫進行[以太坊開發](http://xc.hubwiz.com/course/5a952991adb3847553d205d1),但是目前還沒有可以使用的移動版本的用戶端。以太坊移動版用戶端最大的阻礙在於,目前以太坊對於輕量級的支援還不完備。目前只在Go用戶端的私人鏈上完成了支援,在接下來的幾個月中將針對C++開發輕量級的用戶端。## 我在單板機上裝哪種用戶端呢?根據你的技能等級還有用途,有以下幾種方案供你選擇:* 下載一個現成的鏡像 * 如果你剛接觸以太坊和單板機(比如:樹莓派Raspberry Pi [https://www.raspberrypi.org](https://www.raspberrypi.org/))那麼這種方案就最適合你。只需要下載一個裝置對應的鏡像檔案,燒錄到裝置的SD卡中,啟動你的裝置,運行以太坊。* 下載一個預先編譯的應用程式 * 如果你的單板機已經安裝好你需要的系統,並且已經設定完畢,那麼這種方案就很適合你。根據你的系統平台,你從下載頁下載合適的執行檔,然後設定依賴庫和環境變數,就可以在現有的環境下運行以太坊了。* 使用定製的指令碼從原始碼編譯(通過這個連結查看更多細節 [https://github.com/ethembedded](https://github.com/ethembedded)) * 尋找自訂安裝的方法?我們會提供可以在在“源裝置”上編譯的指令碼。指令碼包括自動安裝用戶端需要的依賴項。允許你安裝指定版本的以太坊用戶端(例如:開發版、主線版等),可以編譯你自己分支的用戶端代碼。164 次點擊