Infura 和 MetaMask – 使用 Python 在以太坊上部署 Web3

扩展如何在 Python 脚本中使用 Infura 和 MetaMask 在以太坊区块链网络上部署 Web3 智能合约。

企业根据其业务模型和需求设计Web3智能合约逻辑。公司下一步要考虑的是如何将这种逻辑部署在人们居住和使用的公共区块链网络中。此外,无论是出于测试目的还是增强用户体验,脚本都可以顺利地与区块链网络无缝交互。

在本文中,我将详细介绍如何使用 Infura、Metamask 和 Python 使其在 Web3.0 中发挥作用。这篇文章将分享基于之前的 Ganache 脚本的方法。

使用Python将Web3.0智能合约连接到Ganache以开发和测试DApp

构建 Python 脚本以使用 Infura、MetaMask 连接以太坊区块链网络的成分

  • Python3、Web3、Infura、MetaMask 钱包、Ganache Python 脚本。

表中的内容

因富拉

与Web2.0不同的是,Web3.0中没有可以直接使用的HTTP URL来进入区块链网络,例如以太坊。要本地访问这些网络并查看通过它们传递的数据,您必须安装所谓的客户端。您确实可以开发一个可以连接到以太坊的端点。然而,这会更加复杂并且花费更多。在此背景下,这就是我们推荐 Infura 的原因。

Infura 直接提供一个端点,您的代码可以指向以太坊网络,以便您的 Web3.0 智能合约接收或记录信息的请求始终可以到达网络。同时,他们也会向您返回您所请求的信息。

正如上一篇文章中所讨论的,我们使用 web3 模块来连接我们的本地 HTTP 协议。因此,如果我们想连接到真实的以太坊网络,Infura 可以为我们提供一个 HTTP 协议以及此 Python 脚本中使用的 API 密钥。

例如,我们的现场测试网络是Goerili(如果不是测试,可以选择主网)。因此,我们在 Infura 中选择网络,并将 HTTPS 协议复制并粘贴到我们的脚本中。代码如下:

# for connecting to Ethereum network
w3 = Web3(Web3.HTTPProvider(
"https://your http address"))

MetaMask ID 地址和私钥

毫无疑问,MetaMask是目前Web3.0中最流行的钱包。其每月活跃用户超过 2100 万,其用户友好的界面能够与区块链交互,同时使用助记词备份帐户。总而言之,如果您正在开发 DApp,使用 MetaMask 进行测试显然是最合适的,因为它可以确保 MetaMask 登录和支付可以在您的 DApp 中正常运行。

此外,MetaMask 可以通过 Infura 进行配置。因此,您在 DApp 中内置的 Web3 智能合约可以通过 Infura 与 MetaMask 连接。

对于钱包地址,我们需要复制 MetaMask 帐户 ID(位于 Easy2Digital 标题下的数字上方)并将其粘贴到 Python 脚本中的my_address变量中。

my_address = "your metamask ID address"
private_key = os.getenv("PRIVATE_KEY2")
我们还需要更新 .env 文件中的 MetaMask 帐户私钥。请记住使用此命令更新终端中的源信息。
source .env

区块链网络ID类型

每个区块链网络都有一个唯一的 ID。例如,我们的测试用例使用Goerili网络,链ID为5。

chain_id = 5

我们不仅可以去 chainlist.org 查找您的网络 ID,还可以运行 Python 脚本,然后响应会给您反馈,告诉您现在访问的网络的 Chain ID 应该是什么。

使用 Infura 和 MetaMask 的以太坊 BlockNetwork 连接的完整 Python 脚本

如果您对 Web3.0 教程 2 – 在 Python 脚本中使用 Infura 和 Metamask 在真实以太坊区块链网络上部署 Web3 智能合约感兴趣,请添加消息“Web3.0教程2”来订阅我们的新闻通讯。我们会立即将脚本发送到您的邮箱。

我希望您喜欢阅读 Web3.0 教程 2 – 在 Python 脚本中使用 Infura 和 Metamask 在真实以太坊区块链网络上部署 Web3 智能合约。如果您这样做了,请通过执行下列操作之一来支持我们,因为这总是对我们的频道有所帮助。