跳转至

软件包管理器 API

原文:https://web3py.readthedocs.io/en/stable/web3.pm.html

web3.pm对象公开了与由 ERC 1123 定义的包交互的方法。

  • 要了解更多关于 EthPM 规范的信息,请访问规范文档

警告

API 仍在开发中,可能会很快改变。

现在是熟悉 API 的好时机,可以测试编写使用一些即将推出的优秀特性的代码。

默认情况下,在 Web3.py 的稳定版本中,对该模块的访问是关闭的:

>>> from web3.auto import w3
>>> w3.pm
...
AttributeError: The Package Management feature is disabled by default ... 

为了访问这些功能,您可以使用…打开它

>>> w3.enable_unstable_package_management_api()
>>> w3.pm
<web3.pm.PM at 0x....> 

方法

以下方法在web3.pm名称空间中可用。

创建您自己的注册表类

如果你想实现你自己的注册表并和web3.pm一起使用,你必须创建一个继承自ERC1319Registry的子类,并实现所有的 ERC 1319 标准方法,在ERC1319Registry中以下划线为前缀。然后,你必须手动将其设置为web3.pm上的registry属性。

custom_registry = CustomRegistryClass(address, w3)
w3.pm.registry = custom_registry 

用户可能想要创建他们自己的注册表类的一个原因是,如果他们构建一个定制的包注册表智能合约,该合约具有超过在 ERC 1319 中指定的那些特性。例如,删除发布或某些微支付功能的能力。他们可以创建一个定制的ERC1319Registry子类来轻松调用标准的&定制方法,而不是直接在合约实例上访问这些函数。



回到顶部