1. 程式人生 > >以太坊Go、Java、Python、Ruby、JS客戶端介紹

以太坊Go、Java、Python、Ruby、JS客戶端介紹

git 跟蹤 處理 p2p 純java eth 前綴 成功 contents

作者:HPB_汪曉明(HPB Team)

Go Ethereum 簡介

go-ethereum客戶端通常被稱為geth,它是個命令行界面,執行在Go上實現的完整以太坊節點。通過安裝和運行geth,可以參與到以太坊前臺實時網絡並進行以下操作:

  • 挖掘真的以太幣

  • 在不同地址間轉移資金

  • 創建合約,發送交易

  • 探索區塊歷史

  • 及很多其他

Go Ethereum 鏈接:

網站: http://ethereum.github.io/go-ethereum/

Github: https://github.com/ethereum/go-ethereum

維基百科: https://github.com/ethereum/go-ethereum/wiki/geth

Gitter: https://gitter.im/ethereum/go-ethereum

Pyethapp介紹

Pyethapp是以python為基礎的客戶端,實現以太坊加密經濟狀態機。python實現旨在提供一個更容易刪節和擴展的代碼庫。Pyethapp利用兩個以太坊核心組成部分來實現客戶端。

Pyethereum —— 核心庫,以區塊鏈、以太坊模擬機和挖礦為特征。

pydevp2p —— 點對點網絡庫,以節點發現和運輸多碼復用和加密連接為特征鏈接。

Github: https://github.com/ethereum/pyethapp

維基百科: https://github.com/ethereum/pyethapp/wiki/Getting-StartedGitter

聊天: https://gitter.im/ethereum/pyethappethereumjs-lib

正如黃皮書中所說,ethereumjs-lib是核心以太坊功能的javascript庫。這是個簡單的元模塊,提供以下模塊。大部分JS模塊都在ethereumjs上有跟蹤。

  • 虛擬機 – 以太坊虛擬機和狀態處理功能

  • 區塊鏈 – 區塊鏈管理

  • 區塊 – 區塊模式定義和驗證

  • 交易 – 交易模式定義和驗證

  • 賬戶 – 賬戶模式定義和驗證

  • rlp – 循環長度前綴序列化

  • Trie – 改良的Merkle Patricia樹

  • Ethash – 以太坊工作量證明算法

  • utils – 多樣輔助功能

  • devp2p – 網絡協議

  • devp2p-dpt – 有爭議的對等端表

常用鏈接:

Github: https://github.com/ethereumjs/ethereumjs-lib

Gitter: https://gitter.im/ethereum/ethereumjs-libEthereum(J)

Ethereum(J) 是以太坊協議的純Java實現。它作為可以嵌入任何Java/Scala項目的庫提供,並為以太坊協議及附屬服務提供完全支持。Ethereum(J)最開始由Roman Mandeleil開發,現在受 <ether.camp>資助。

Ethereum(J)支持CPU挖礦。目前它由純Java實現,可用於私人和測試網絡。你甚至可以在實時以太坊網絡上挖礦,但是這樣從經濟角度來說不劃算。

博客鏈接:

博客: http://ethereumj.io/Github: https://github.com/ethereum/ethereumjGitter

聊天: https://gitter.im/ethereum/ethereumjethereumH

這個程序包提供了寫在Haskell上的工具,能使你連接到以太坊區塊鏈。

工具鏈接:

Github: https://github.com/blockapps/ethereumHBlockApps: http://www.blockapps.net/

Parity

Parity 聲稱是世界上最快速最輕便的客戶端。它用Rust語言寫成,可靠性、性能和代碼清晰度都有所增強。Parity由Ethcore開發。Ethcore由以太坊基金會的幾個會員創建。

網站: https://ethcore.io/parity.htmlGithub: https://github.com/ethcore/parityGitter

聊天: https://gitter.im/ethcore/parityArch

https://aur.archlinux.org/packages/parity/ (穩定,最新版本)

https://aur.archlinux.org/packages/parity-git/ (不穩定,最新開發),已經有人報告在樹莓派2上成功運行了Parity。

Ruby-ethereum介紹:

ruby-ethereum是以太坊虛擬機上的一個實現,用Ruby語言寫成。

鏈接:

Github: https://github.com/janx/ruby-ethereum

Gem: https://rubygems.org/gems/ruby-ethereum

另外ruby-serpent是捆綁在以太坊 Serpent編譯器上的Ruby語言. ethereum-ruby: 一個pure-Ruby JSON-RPC包裝,用於和以太坊節點交流。要使用這個庫,你需要有運行的以太坊節點和可行的IPC支持(默認),目前支持go-ethereum 客戶端。

參考資料:文章中的列表對應的鏈接可以參考《Ethereum Homestead Documentation》第41頁1.2.4 go-ethereum。

以太坊Go、Java、Python、Ruby、JS客戶端介紹