主页 > imtoken唯一官网 > python以太坊开发中的节点和网络选择

python以太坊开发中的节点和网络选择

imtoken唯一官网 2023-04-03 05:06:04

以太坊节点

为什么我需要连接到节点?

以太坊协议定义了人们通过网络与智能合约进行交互的方法。为了获得有关合约、账户余额和新交易状态的最新信息,协议需要与网络上的节点连接。这些节点不断共享最新数据。

Web3.Py 是用于连接这些节点的 Python 库。它不在内部运行自己的节点。

如何选择使用哪个节点?

由于以太坊的性质,这在很大程度上取决于个人喜好,但它会对安全性和可用性产生重大影响。此外,节点软件正在迅速发展,因此请对当前选项进行研究。我们不推荐任何特定的节点,但列出一些流行的选项和一些基本的细节。

最关键的决定之一是使用本地节点还是受管节点。我们来看看本地VS托管节点的简单含义:

本地节点比托管节点具有更好的安全性。恶意托管节点可能会为您提供不正确的信息,记录您使用 IP 地址发送的交易,或者只是离线运行。不正确的信息会导致各种问题一个节点放多少个以太坊地址好,包括资产损失。

另一方面,在本地节点上,您的机器正在逐一验证网络上的所有交易,提供最新状态。不幸的是,这意味着使用大量磁盘空间,有时还需要大量带宽和计算。此外,下载完整的区块链历史记录需要大量前期成本。

如果您想让节点管理密钥(一个流行的选项),您必须使用本地节点。请注意,即使您在自己的机器上运行节点,您仍然必须信任节点软件以及您在该节点上创建的任何帐户。

自运行节点最流行的选项是:

您可以在 ethdocs.org 找到更完整的节点软件列表。

有些人认为从头开始同步本地节点需要很长时间,特别是如果他们刚刚开始学习以太坊。解决此问题的一种方法是使用受管节点。

最受欢迎的托管节点选项是 Infura。您可以像连接本地节点一样连接它,但有一些注意事项。它不能(也不应该)给你私钥,这意味着一些常见的方法,如 w3.eth.sendTransaction() 不能直接使用。要将事务发送到受管节点,请阅读。

决定选择哪个节点选项后,您需要选择要连接的网络。通常,您在公共链和测试链之间进行选择。

我可以使用 MetaMask 作为节点吗?

MetaMask 不是一个节点。它是与节点交互的接口。基本上,如果将 Web3.Py 变成浏览器扩展,MetaMask 就类似于 web3.py。

默认情况下,MetaMask 连接到 Infura 节点。也可以设置 MetaMask 以使用本地运行的节点。

如果您尝试使用已在 MetaMask 中创建的帐户,请查看如何

我应该连接到哪个网络?

一旦你回答我如何选择使用哪个节点?您必须选择要连接的网络。对于某些场景,这很容易:如果你有以太币并且想使用它,或者你想与任何生产网络上的智能合约进行交互,那么你连接到以太坊公共链网络。

如果你想在不使用真实以太的情况下测试这些东西,那么你需要连接到测试链。有几个测试链可供选择。测试网络 Ropsten,与生产网络最相似。但是,当您想要测试智能合约时,已经有垃圾邮件和攻击发生了,这是具有破坏性的。

有一些替代网络可以限制垃圾邮件和攻击造成的损害一个节点放多少个以太坊地址好,但它们并没有完全标准化节点软件。geth 运行自己的 (Rinkeby), Parity 运行自己的 (Kovan)。请参阅此 Stackexchange 问答中的完整比较。

所以我们简单说一下,选择这种方式:

他们的每个网络都有自己的以太版本。生产网络,公链以太币,必须购买,自然,测试链上的以太币通常是免费的。

确定要连接到哪个网络并为该网络设置节点后,您需要决定如何连接它。大多数节点都有一些选项。.

分享我们的python以太坊教程,主要供python工程师使用web3.py详细开发区块链以太坊。

其他需要学习的以太坊教程:

这是原版