初始以太坊(二)

以太坊客户端

  • 以太坊客户端是一个软件应用程序,它实现以太坊规范并通过p2p网络与其他以太坊客户端进行通信。如果不同的以太坊客户端符合参考规范和标准化通信协议,则可以进行相互操作。
  • 以太坊是一个开源项目,由“黄皮书”正式规范定义。除了各种以太坊改进提案之外,此正式规范还定义了以太坊客户端的标准行为。
  • 因为以太坊有明确的正式规范,以太网客户端有了许多独立开发的软件实现,它们之间又可以彼此交互。

以太坊全节点

  • 全节点是整个主链的一个副本,存储并维护链上的所有数据,并随时验证新区块的合法性。
  • 区块链的健康和扩展弹性,取决于具有许多独立操作和地理上分散的全节点。每个全节点都可以帮助其他新节点获取区块数据,并提供所有交易和合约的独立验证。
  • 运行全节点将耗费巨大的成本,包括硬件资源和贷款。
  • 以太坊开发不需要在实时网络上运行的全节点。我们可以使用测试网络的节点来代替,也可以用本地私链,或者使用服务商提供的基于云的以太坊客户端;这些几乎都可以执行所有操作。

全节点的优缺点

优点

  • 为以太坊网络的灵活性和抗审查性提供有力的支持
  • 权威地验证所有的交易
  • 可以直接与公共区块链上的任何合约交互
  • 可以离线查询区块链状态(账户,合约等)
  • 可以直接把自己的合约部署到公共区块链中

缺点

  • 需要巨大的硬件和宽带资源,而且会不断增长
  • 第一次下载往往需要几天才能完全同步
  • 必须及时维护,升级并保持在线状态以同步区块

本地私链的优缺点

优点

  • 磁盘上几乎没有数据,也不同步别的数据,是一个完全“干净”的环境
  • 无需获取测试以太,你可以任意分配以太,也可以随时自己挖矿获得
  • 没有其他用户,也没有其他合约,没有任何外部干扰
    缺点
  • 没有其他用户意味着与公链的行为不同,发送的交易并不存在空间或交易顺序的竞争
  • 除自己之外没有矿工意味着挖矿更容易预测,因此无法测试公链上发生的某些情况
  • 没有其他合约,意味着你必须部署要测试的所有内容,包括所有的依赖项合约库

远程客户端和轻节点

  • 远程客户端
    不存储区块链的本地副本或验证块和交易。这些客户端一般只提供钱包的功能,可以创建和广播交易。远程客户端可用于连接到现有网络,MetaMask就是这样一个的客户端。
  • 轻节点
    不保存链上的区块历史数据,只保存区块链当前的状态。轻节点可以对块和交易进行验证。

猜你喜欢

转载自blog.csdn.net/baldicoot_/article/details/124819863
今日推荐