Python Web3.py和Infura Windows中设置托管以太坊节点

如果你想与以太坊区块链进行交互以获取最新区块的详细信息,可以使用以太网节点、本地节点或托管节点连接到以太坊区块链的交易信息或发送交易。由于有许多第三方插件和应用程序可用于执行此操作,你可能会认为我们为什么需要一个节点。如果要部署智能合约或使用脚本自动与智能合约交互,则需要设置节点,而当前的第三方插件或应用程序可能无法实现这一点。

如果你选择使用像geth这样的客户端设置本地节点,它会将区块链同步到你的计算机,这将占用你的磁盘存储空间。但是,这可以通过设置托管节点来解决这个问题,其中有人控制节点,但你可以自由连接到以太坊区块链并使用它。Infura就是一种有助于建立本地节点的服务。

在这里,我将解释如何为64位Windows操作系统设置本地节点。请注意,本教程适用于64位Windows 8.1版本。但是,我相信其他Windows版本(如Windows 10,Windows 8,Windows 7和Windows Vista)可能没有太大差异。

首先,我将列出假设你尚未安装NPM和Python等依赖项的步骤。代码和详细的解释在本文稍后部分提到。

  • 1.安装CMDER(非强制性)
  • 2.安装Node.js和NPM
  • 3.安装Windows构建工具
  • 4.安装Python最新版本
  • 5.安装Web3.py
  • 6.安装iPython
  • 7.创建infura.io帐户
  • 8.能够与以太坊区块链互动

让我们开始详细说明,包括代码。

第1步:安装CMDER

实际上,这是传统Windows命令提示符的替代品。我个人不喜欢命令提示符,因为它缺乏选项和缺乏吸引力的用户界面。如果你愿意,可以继续使用命令提示符或将CMDER下载到C驱动器中的任何文件夹。

访问http://cmder.net/下载CMDER。

下载后,只需双击cmder.exe文件即可打开CMDER(它不是安装文件,而是一个程序)。当你第一次运行CMDER时,系统会要求你授予在计算机中进行更改的权限。只是授予权限,然后你就可以使用CMDER了。

第2步:安装Node.js和NPM

转到官方Node.js网站并下载Node.js.然后安装它。NPM将与Node.js一起自动安装。NPM将帮助我们下载和安装Windows构建工具。此外,Node.js和NPM将帮助我们使用以太坊区块链(如构建脚本)做很多事情。

Node.js网站:https://nodejs.org/en/

安装完成后,打开CMDER并输入以下代码检查它们是否正常工作。

1
2
3
node -v

npm -v

你应该能够看到每个程序的版本号作为命令输出的结果。

大多数时候,你得到的NPM版本可能会过时,因为这会经常更新。因此,请在CMDER中使用以下命令将NPM升级到最新版本。

1
npm install npm@latest -g

第3步:安装Windows构建工具

通过安装Windows构建工具,你将能够创建运行web3.py的必要环境,这有助于与以太坊区块链进行交互。所以我们这样做吧。首先使用管理员模式打开Windows Powershell。(不要使用命令提示符或CMDER,因为它会提示你有错误)

现在我们需要输入以下代码并按Enter键以安装这些Windows构建工具。

1
npm install --global --production windows-build-tools

这可能需要几分钟才能完成。

NPM将在此步骤中安装Python 2.7。但是,我们需要Python 3.5或更高版本才能使用Web3.py。

第4步:安装Python最新版本

转到官方Python网站并下载适用于Windows的最新3.x可执行版本并运行安装文件。

Python下载页面:https://www.python.org/downloads/windows/

勾选在Python安装步骤中为所有用户选项添加Python到PATH选项和安装启动程序。

在下一步中勾选pip和py启动器选项并安装Python。

Python和pip都应该正常工作了,这样继续Web3.py安装。因此,请检查在CMDER中输入以下命令:

1
python -v

它将运行Python,并应显示如下所示。

你可以使用以下代码退出Python:

1
exit()

现在让我们看看pip是否正常工作。

使用CMDER中的以下代码:

1
pip -v

如果你得到如下所示的响应,它可以正常工作。

第5步:安装Web3.py

你可以在CMDER中使用以下命令轻松安装web3.py:

1
pip install web3

第6步:安装iPython

我们需要一个python解释器,如ipython来运行web3.py代码。我们来安装吧。

在CMDER中输入以下命令:

1
pip install ipython

第7步:创建Infura帐户

现在我们需要在Infura创建一个帐户才能连接到以太坊区块链。

访问infura.io并免费注册一个帐户。验证完电子邮件地址后,就可以登录主页面了。现在只需要在ENDPOINT部分下可用的URL即可。如果需要连接到主网络,请选择该选项并复制该URL。

第8步:启用与以太坊区块链交互

从Infura获得URL后。现在打开CMDER并输入以下代码:

1
2
3
4
5
ipython

from web3 import Web3

web3 = Web3(Web3.HTTPProvider("https://mainnet.infura.io/xxxxxxxxxxxxxxxxx"))

将URL替换为您的个人infura URL

如果在修改上述命令后没有发生错误,那现在可以欢呼,你可以与以太坊区块链进行交互。

让我们测试一下我们是否真可以与以太坊区块链进行交互。

让我们输入以下代码以获取最新的块编号:

1
web3.eth.blockNumber

你应该获得最新的块编号,如下所示:

这意味着你现在可以与以太坊区块链进行交互。

你可以使用以下命令退出ipython

1
exit()

请注意,每次重新运行ipython时,都必须再次使用此步骤的前三个命令。

我希望本教程介绍了通过Infura在Windows操作系统中设置托管以太坊节点的基本步骤。

======================================================================

分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:

python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。

  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • EOS教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。

汇智网原创翻译,转载请标明出处。这里是原文