Web3.py 开发者指南
- 原文链接:medium.com/buildbear...
- 译者:AI翻译官,校对:翻译小组
- 本文链接:learnblockchain.cn/article…
对于希望与以太坊交互的 Python 开发者来说,web3.py 是首选库。本指南向你展示如何使用 web3.py 和 BuildBear RPC 来轻松测试、部署和管理 dApps,置身于逼真的测试环境中。我们还将演示如何通过 BuildBear 的 RPC,使用 Web3.py 与币安链上的 PancakeSwap 彩票智能合约进行交互。
Web3.py 是一个 Python 库,极大简化了你与以太坊网络连接的方式。它类似于 ethers.js 和 web3.js 对 JavaScript 的作用,使开发者能够与区块链进行交易。
以下是一个示意图,库帮助与以太坊连接:
图片来源: iotbl.
web3.py
让我们通过 JSON-RPC 与区块链进行通信,使你能够通过该单一连接与整个区块链进行交互。这就像使用一个单一的接入点来读取数据或向网络发送交易。借助 web3.py
,你可以轻松检查余额,调用智能合约中的函数,或者通过与一个共享数据的单一节点进行通信来提交新交易。
Web3.py 非常适合使用 Python 构建的项目,并且具有易于使用的用户友好 API。该库还支持同步和异步编程,允许开发者为他们的项目选择最合适的方法。
Web3.py 的主要优点之一是其易于使用的 API。该库具有简单直观的界面,使开发者能够轻松与以太坊区块链进行交互。JSON RPC 的支持使得将 Web3.py 集成到现有项目中变得容易,同时还使得测试和调试你的代码变得简单。
要通过 JSON-RPC 连接到主网络/测试网络上的节点,你需要访问该区块链节点端点。这就是 BuildBear 登场的地方:
该设置简化了开发过程,使开发者能够更轻松、更快速地构建和测试应用程序。
现在,让我们看看如何使用 Python 库与 BuildBear RPC URL。
你可以通过在终端运行以下命令来检查你系统中安装的 Python 版本(推荐 Python 3.8+):
$ python3 \--version
要开始,请在区块链网络上创建一个 BuildBear 沙盒。对于本教程,选择币安链。如果你是 BuildBear 的新手,请创建一个帐户,并按照我们的快速入门 指南 设置沙盒。
本项目演示如何使用 web3.py
与币安智能链上的 PancakeSwap 彩票合约进行交互。我们将首先了解基本的 web3.py
函数,以熟悉常见操作,然后连接到 PancakeSwap。
mkdir dapp && cd dapp
创建一个 Python 虚拟环境并激活它。
python3.12 -m venv myenv source myenv/bin/activate
在你的环境中安装 web3.py
:
pip install web3
在 VS Code 编辑器中打开项目。创建一个名为 demo.py 的文件。添加以下代码以连接到 BuildBear 的 RPC 并验证连接,检索块编号并检查你的钱包余额。将你的钱包地址替换为检查余额。使用 水龙头 获取测试代币进行资助。
from web3 import Web3
buildbear_url = "https://rpc.buildbear.io/prime-gorgon-3fe07045"
web3 = Web3(Web3.HTTPProvider(buildbear_url))print(web3.is_connected())
print(web3.eth.block_number)
# 填入你的账户
balance = web3.eth.get_balance("0x9FE1b56E45c464616317eEA2663e691FbF79bE52")
print(web3.from_wei(balance, "ether"))
运行 Python 文件,输出应类似如下:
在下一部分,让我们与 PancakeSwap 路由器进行交互以出售代币。我们将连接到 PancakeSwap 路由器合约并发送交易以交换代币。
使用以下代码来:
(0x10ED43C718714eb63d5aA57B78B54704E256024E)
进行代币交换操作。注意:检查发送者的 BNB 原生代币余额。从水龙头获取测试代币以支付执行交易的 gas 费用。
spend
数量,允许 PancakeSwap 访问你的代币。swapExactTokensForTokens
或 swapExactTokensForETH
函数来发起交换交易。指定参数,例如要出售的代币数量、你希望收到的最小代币数量以及你的钱包地址作为接收者。
注意:将 "YOUR_PRIVATE_KEY"
替换为你的实际钱包私钥。
输出结果将如下所示:
让我们使用 pancakeswap-lottery
库来提供对 PancakeSwap 彩票合约中的关键信息的访问。可以通过以下命令从 pip 安装;
pip install pancakeswap-lottery
现在访问 LotteryV2,并将提供程序替换为你的 BuildBear RPC。以下是你可以执行的一些示例:
从 这里 获取完整代码。
X
轮获取彩票历史数据(彩票日期、轮次、奖池)。在本教程中,我们演示了如何使用 web3.py
连接到 BuildBear 的 RPC,检索区块链信息,并在 PancakeSwap 上执行代币交换。通过 BuildBear 中的 Web3.py 支持,你可以模拟和自动化与智能合约的交互,分析结果,并在受控环境中测试你的代码。
欲了解更多信息,请查看 web3.py
的 官方文档。
BuildBear 是一个专为 DApp 开发和测试量身定制的平台。开发者可以自由地在各种区块链网络上构建个性化的私有测试网沙盒。铸造无限的原生代币和 ERC20 代币的自由,加上 BuildBear 上快速的交易时间(低于 3 秒!),极大地提升了 DApp 开发生命周期。该平台配备了用于实时测试和调试的工具和插件,确保开发者能够以无与伦比的便利跟踪复杂的区块链交易。
在以下平台与我们联系 Twitter | LinkedIn | Telegram | GitHub
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!