如果你是以太坊区块链的新手,那么你可能会不知所措(至少我是),并试图了解以太坊生态系统中的所有工具和技术。因此,我决定在开始学习以太坊时简要描述下你经常遇到的各种组件。希望这将有助于你全面了解以太坊生态系统以及所有部分如何组合在一起。
1.以太坊
以太坊是一个智能合约区块链,你可以在其上构建去中心化的应用程序(称为智能合约)。如果你是技术专家,本白皮书值得一读:https://github.com/ethereum/wiki/wiki/White-Paper。
如果你之前已经构建了Web应用程序,我写了一篇文章,比较以太坊区块链和Web应用程序架构,这可能有助于在更高层次上理解以太坊。
2.Geth
Geth是以太坊基金会提供的官方客户端软件。它是用Go编程语言编写的。该软件包含一些值得理解的组件:
- 客户端守护程序
当你启动此客户端守护程序时,它将连接到网络中的其他客户端(也称为节点)并下载区块链的副本。它将不断与其他节点通信,以使其区块链的副本保持最新。它还能够挖掘块并向区块链添加交易,验证块中的交易并执行交易。它还通过公开可以通过RPC与之交互的API充当服务器。
- geth控制台
这是一个命令行工具,可让你连接到正在运行的节点,并执行各种操作,如创建和管理帐户,查询区块链,签署并向区块链提交交易等。
- mist浏览器
这是用于与节点通信的桌面应用程序。你使用geth控制台执行的任何操作都可以通过此图形用户界面完成。
3.Parity
Parity是以太坊协议的另一个很好的实现,用Rust编程语言编写。它是一个非官方的客户端,由一家名为Parity Inc.的公司维护。任何人都可以实现客户端软件并加入以太坊网络。你可以按照本黄皮书中的规范来实施你自己的客户端!