跳转到主要内容

llamapay: llamapay的ape SDK

项目描述

ape-llamapay

Ape框架轻松管理LlamaPay支付流。

快速使用

您可以在ape console或ape脚本中使用此SDK。一个简短的示例

from llamapay import Factory

factory = Factory()
factory.create_stream('banteg.eth', '1000 DAI/month', sender=accounts.load('dev'))

如果连接的网络上存在部署,它将自动被选中。

Factory是新的池的注册和部署器。每个Pool管理特定代币的所有流。一个Stream存储如sourcetargetrate等元数据,并允许对流进行操作。

您可以通过代币地址或符号找到池,这是由于ape-tokens提供的。

factory.pools
factory.create_pool('YFI')
factory.get_pool('DAI')

您可以通过事件日志找到流,并按sourcetarget进行筛选,包括它们的ENS名称,这是由于ape-ens提供的。

pool.all_streams
pool.find_streams(source='ychad.eth')
pool.find_streams(target='wentokyo.eth')

要为您的流提供资金,您需要向池中存入资金。

pool.get_balance('ychad.eth')
# infinite approve (optional)
pool.approve(sender=dev)
# auto approves the requested amount
pool.deposit('1000 DAI', sender=dev)
# withdraw all
pool.withdraw(sender=dev)
# withdraw some
pool.withdraw(Decimal('500'), sender=dev)

代币数量可以指定为int表示wei,Decimal表示代币,或str以由ape-tokens根据其小数位数进行转换。

Pool实例准备流是最容易的。

stream = pool.make_stream(source=dev, target=crush, rate='1000 DAI/month')

您可以将速率指定为int表示内部每秒1e20代币表示,或使用简单的str格式amount symbol/duration,如1 YFI/week200,000 UNI/year

现在您已经准备好了一个Stream,您可以创建它。

stream.create(sender=dev)
stream.pause(sender=dev)
stream.cancel(sender=dev)
stream.replace(new_stream, sender=dev)
stream.modify(target=new_crush, sender=dev)
stream.modify(rate=stream.rate * 2, sender=dev)
# check your withdrawable balance
stream.balance
# push tokens to recipient or withdraw them if you are one (these methods are the same)
stream.send(sender=dev)
stream.withdraw(sender=dev)

依赖关系

  • python3版本3.7或更高版本,python3-dev

安装

通过pip

您可以通过pip安装最新版本

pip install llamapay

通过setuptools

您可以克隆仓库并使用setuptools获取最新版本

git clone https://github.com/banteg/ape-llamapay.git
cd ape-llamapay
python3 setup.py install

开发

该项目处于开发阶段,应被视为测试版。有些功能可能尚未最终确定,可能会有破坏性变更。欢迎提出评论、问题、批评和拉取请求。

许可证

该项目采用Apache 2.0许可。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

本发布版本没有源代码分发文件。请参阅生成分发存档的教程

构建分发

llamapay-0.1.0-py3-none-any.whl (13.9 kB 查看哈希值)

上传时间 Python 3

由以下组织支持