- 以太坊技術詳解與實戰
- 閆鶯 鄭凱 郭眾鑫
- 860字
- 2019-01-04 01:32:20
1.5 以太坊的主流開源項目
以太坊作為一個由全世界區塊鏈愛好者共同開發的開放式區塊鏈平臺,目前有許多與之相關的開源項目,本節將介紹幾類主流的開源項目,包括多種語言版本的以太坊客戶端、以太坊瀏覽器和拓展工具,以及以太坊開發工具等。
1.以太坊客戶端
目前,以太坊協議及其客戶端有多種語言版本的實現,其中最受歡迎的包括Go-ethereum、CPP-ethereum、Parity和Pyethapp等,這些開源項目均可在以太坊的官方GitHub目錄下找到(https://github.com/ethereum/)。
1)Go-ethereum:以太坊協議Go語言實現的版本,既包括了一個獨立的以太坊客戶端,也可作為一個Go版本的以太坊庫被調用。Go-ethereum客戶端又稱Geth,是目前使用最為廣泛的以太坊客戶端。
2)CPP-ethereum:以太坊協議C++語言實現的版本,也是目前最受歡迎的以太坊客戶端之一。CPP-ethereum的最大特點是可移植性強,適用于Windows、Linux和OS X等各個版本的操作系統以及多種硬件平臺。
3)Parity:以太坊協議Rust語言實現的版本。Parity客戶端實現了以太坊錢包功能,可用于創建和管理以太坊賬戶,管理賬戶中的以太幣和各種代幣以及創建智能合約等。
4)Pyethapp:以太坊協議Python語言實現的版本,其主要特點為創建了一個易擴展的以太坊核心代碼版本。
2.以太坊瀏覽器和折展工具
1)Mist:由以太坊官方開發的工具,用于瀏覽各類DApp項目。
2)MetaMask:一個用于接入以太坊去中心化網絡的瀏覽器插件,目前適用于Chrome和Brave瀏覽器。用戶無需在本地安裝運行以太坊節點,只需通過MetaMask便可在瀏覽器上連接以太坊網絡,運行以太坊DApp。
3.以太坊開發工具
1)Web3.js:一個兼容了以太坊核心功能的JavaScript庫,為以太坊客戶端及DApp提供了一系列以太坊功能調用的JavaScript API接口。
2)Remix:又稱為Browser-Solidity,是一個基于網頁瀏覽器的Solidity IDE和編譯器。Remix網頁終端整合了Solidity代碼的編寫、調試和運行等功能,為用戶提供了開發以太坊智能合約的綜合環境。
3)Truffle:一套針對以太坊DApp的開發框架,本身是基于Node.js編寫的。Truffle框架對Solidity智能合約的開發、測試、部署等進行全流程管理,幫助開發者更專業地開發以太坊DApp。
4)ENS-registrar:以太坊域名服務(Ethereum Name Service, ENS)是為以太坊賬戶提供簡單、易記域名的服務,類似于互聯網的DNS。ENS-registrar是一個基于以太坊的開源DApp項目,在以太坊區塊鏈上為以太坊賬戶提供域名注冊服務。