用 Python 开发 DeFi 去中心化借贷应用(中)

传统的金融科技世界充满了使用户能够制作复杂算法交易模型和系统的工具。而去中心化金融 (DeFi) 也同样为用户和开发人员提供了相同的工具,围绕底层金融协议和工具具有更高的透明度和灵活性,从而催生了 DeFi 量化交易和应用开发。DeFi 开发人员和 DeFi quants 甚至可以利用这些工具的衍生品,并将它们组合成新的服务,以建立在传统金融科技世界中没有的创新金融头寸。DeFi 开发人员的基本工具之一是能够以非托管方式借出和借入加密货币资产。阅读本文前请先查看:

《用 Python 开发 DeFi 去中心化借贷应用(上)》

存入抵押品

接下来,我们运行 aave_borrow.py 脚本,它做了 4 件事:

•将抵押品存入 Aave 贷款池•获得了我们的抵押品和另一种资产之间的对话率•使用该抵押品借入不同的资产(贷款)•还清了贷款

我们看一下main函数的开头:

def main():
   account = get_account()
   erc20_address = config["networks"][network.show_active()]["weth_token"]
   if network.show_active() in ["mainnet-fork"]:
       get_weth(account=account)
   lending_pool = get_lending_pool()

我们首先从配置文件中获取我们的地址(如果我们在测试网上,它会再次从我们的配置中提取)。如果您在本地链上进行测试,我们只使用它生成的第一个帐户。这在 get_account 函数中定义。然后,我们也从配置文件中获取 WETH 令牌的地址,如果我们在本地链上,我们调用之前调用的相同 get_weth 函数。这是为了确保如果我们使用本地链,我们的钱包中有 WETH。

最后,我们得到了lending_pool的地址。 lending_pool是管理借贷功能的链上智能合约,因此得名。您可以在 Aave 文档中查看功能,或者您可以直接在链上查看合约。

我们在这个合约中看到了许多有用的功能:

•借贷•抵押•获取用户帐户数据•偿还

这些是我们将要使用的函数。请记住,链上智能合约与传统软件工程中的对象或类相同,每个都有与之相关的功能。如果您要print(type(lending_pool)),我们会得到这种类型:

<class 'brownie.network.contract.Contract'>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值