如何利用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并输入以下代码检查它们是否正常工作。
node -v npm -v
你应该能够看到每个程序的版本号作为命令输出的结果。
大多数时候,你得到的NPM版本可能会过时,因为这会经常更新。因此,请在CMDER中使用以下命令将NPM升级到最新版本。
npm install npm@latest -g
第3步:安装Windows构建工具
通过安装Windows构建工具,你将能够创建运行web3.py的必要环境,这有助于与以太坊区块链进行交互。所以我们这样做吧。首先使用管理员模式打开Windows Powershell。(不要使用命令提示符或CMDER,因为它会提示你有错误)
现在我们需要输入以下代码并按Enter键以安装这些Windows构建工具。
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中输入以下命令:
python -v
它将运行Python,并应显示如下所示。
你可以使用以下代码退出Python:
exit()
现在让我们看看pip是否正常工作。
使用CMDER中的以下代码:
pip -v
如果你得到如下所示的响应,它可以正常工作。
第5步:安装Web3.py
你可以在CMDER中使用以下命令轻松安装web3.py:
pip install web3
第6步:安装iPython
我们需要一个python解释器,如ipython来运行web3.py代码。我们来安装吧。
在CMDER中输入以下命令:
pip install ipython
第7步:创建Infura帐户
现在我们需要在Infura创建一个帐户才能连接到以太坊区块链。
访问infura.io并免费注册一个帐户。验证完电子邮件地址后,就可以登录主页面了。现在只需要在ENDPOINT部分下可用的URL即可。如果需要连接到主网络,请选择该选项并复制该URL。
第8步:启用与以太坊区块链交互
从Infura获得URL后。现在打开CMDER并输入以下代码:
ipython from web3 import Web3 web3 = Web3(Web3.HTTPProvider("https://mainnet.infura.io/xxxxxxxxxxxxxxxxx"))
将URL替换为您的个人infura URL
如果在修改上述命令后没有发生错误,那现在可以欢呼,你可以与以太坊区块链进行交互。
让我们测试一下我们是否真可以与以太坊区块链进行交互。
让我们输入以下代码以获取最新的块编号:
web3.eth.blockNumber
你应该获得最新的块编号,如下所示:
这意味着你现在可以与以太坊区块链进行交互。
你可以使用以下命令退出ipython
exit()
请注意,每次重新运行ipython时,都必须再次使用此步骤的前三个命令。
我希望本教程介绍了通过Infura在Windows操作系统中设置托管以太坊节点的基本步骤。
分享一些以太坊区块链相关的交互式在线编程实战教程:
python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
汇智网原创翻译,转载请标明出处。这里是原文Python Web3.py和Infura Windows中设置以太坊托管节点