以太坊节点
为什么我需要连接到一个节点?
以太坊协议定义了一种方法,用于人们通过网络与智能合约相互作用。为了获得关于合约、账户余额和新交易状态等最新的信息,协议需要与网络上的节点进行连接。这些节点不断地共享最新的数据。
Web3.Py是用于连接这些节点的Python库。它不在内部运行它自己的节点。
如何选择使用哪个节点?
由于以太坊的特点,这在很大程度上由个人的偏好来决定,但它会对安全性和可用性有重大影响。此外,节点软件正在快速发展,所以请需要对当前可选项进行研究。我们不推荐任何特定的节点,但列出一些流行的选项和一些基本细节。
最关键的决定之一是使用本地节点还是托管节点。来看看本地VS托管节点的简单含义:
- 本地节点:本地节点由你自己启动并控制。它的安全和你的环境安全性一样,在于你自身。当你在机器上运行
geth
或parity
时,你就是在运行本地节点。 - 托管节点:托管节点由其他人控制。当连接到
Infura
时,连接到托管节点。
本地节点比托管节点有更好的安全性。恶意托管节点可以给你提供不正确的信息,用IP地址记录你发送的交易,或者只是脱机运行。不正确的信息会引起各种各样的问题,甚至包括资产流失。
另一方面,在本地节点上,你的机器正在逐个验证网络上的所有交易,并提供最新状态。不幸的是,这意味着使用大量的磁盘空间,有时显著的带宽和计算。另外,下载完整的区块链历史记录有很大的前期成本。
如果希望让节点管理密钥(流行的选项),则必须使用本地节点。注意,即使在