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项目,在以太坊区块链上为以太坊账户提供域名注册服务。