若是你想与以太坊区块链进行交互以获取最新区块的详细信息,可使用以太网节点、本地节点或托管节点链接到以太坊区块链的交易信息或发送交易。因为有许多第三方插件和应用程序可用于执行此操做,你可能会认为咱们为何须要一个节点。若是要部署智能合约或使用脚本自动与智能合约交互,则须要设置节点,而当前的第三方插件或应用程序可能没法实现这一点。node
若是你选择使用像geth这样的客户端设置本地节点,它会将区块链同步到你的计算机,这将占用你的磁盘存储空间。可是,这能够经过设置托管节点来解决这个问题,其中有人控制节点,但你能够自由链接到以太坊区块链并使用它。Infura就是一种有助于创建本地节点的服务。python
在这里,我将解释如何为64位Windows操做系统设置本地节点。请注意,本教程适用于64位Windows 8.1版本。可是,我相信其余Windows版本(如Windows 10,Windows 8,Windows 7和Windows Vista)可能没有太大差别。web
首先,我将列出假设你还没有安装NPM和Python等依赖项的步骤。代码和详细的解释在本文稍后部分提到。shell
让咱们开始详细说明,包括代码。npm
实际上,这是传统Windows命令提示符的替代品。我我的不喜欢命令提示符,由于它缺少选项和缺少吸引力的用户界面。若是你愿意,能够继续使用命令提示符或将CMDER下载到C驱动器中的任何文件夹。编程
访问http://cmder.net/下载CMDER。windows
下载后,只需双击cmder.exe文件便可打开CMDER(它不是安装文件,而是一个程序)。当你第一次运行CMDER时,系统会要求你授予在计算机中进行更改的权限。只是授予权限,而后你就可使用CMDER了。网络
转到官方Node.js网站并下载Node.js.而后安装它。NPM将与Node.js一块儿自动安装。NPM将帮助咱们下载和安装Windows构建工具。此外,Node.js和NPM将帮助咱们使用以太坊区块链(如构建脚本)作不少事情。ide
Node.js网站:https://nodejs.org/en/工具
安装完成后,打开CMDER并输入如下代码检查它们是否正常工做。
node -v npm -v
你应该可以看到每一个程序的版本号做为命令输出的结果。
大多数时候,你获得的NPM版本可能会过期,由于这会常常更新。所以,请在CMDER中使用如下命令将NPM升级到最新版本。
npm install npm@latest -g
经过安装Windows构建工具,你将可以建立运行web3.py的必要环境,这有助于与以太坊区块链进行交互。因此咱们这样作吧。首先使用管理员模式打开Windows Powershell。(不要使用命令提示符或CMDER,由于它会提示你有错误)
如今咱们须要输入如下代码并按Enter键以安装这些Windows构建工具。
npm install --global --production windows-build-tools
这可能须要几分钟才能完成。
NPM将在此步骤中安装Python 2.7。可是,咱们须要Python 3.5或更高版本才能使用Web3.py。
转到官方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
若是你获得以下所示的响应,它能够正常工做。
你能够在CMDER中使用如下命令轻松安装web3.py:
pip install web3
咱们须要一个python解释器,如ipython来运行web3.py代码。咱们来安装吧。
在CMDER中输入如下命令:
pip install ipython
如今咱们须要在Infura建立一个账户才能链接到以太坊区块链。
访问infura.io并免费注册一个账户。验证完电子邮件地址后,就能够登陆主页面了。如今只须要在ENDPOINT部分下可用的URL便可。若是须要链接到主网络,请选择该选项并复制该URL。
从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中设置以太坊托管节点