闪电贷可用于跨DEX的套利,Dy/Dx等协议的头寸清算以及CDP(Collateralized Debt Positions:抵押债仓)的迁移。
- 原文:https://ethereumdev.io/making-a-flash-loan-with-solidity-aave-dy-dx-kollateral/ 作者:peter
- 译文出自:登链翻译计划
- 译者:翻译小组
- 校对:Tiny 熊
- 本文永久链接:learnblockchain.cn/article…
闪电贷是指借用资产的贷款,在交易结束前就已归还资金(和费用)。此类贷款使你仅需花费很少的费用(在撰写Aave时为0.09%,在Dy/Dx中为0%)即可无担保的使用资金。闪电贷可用于跨DEX的套利,Dy/Dx等协议的头寸清算以及CDP(Collateralized Debt Positions:抵押债仓)的迁移。
在本教程中,我们将介绍你在Solidity智能合约中进行闪电贷的不同方式。如果你想了解更多有关可以用于闪电贷的信息,我们建议你阅读几篇文章:什么是闪电贷, 这篇报告或这个文章.
另一种获取有关如何使用闪电贷如何工作的好方法是在区块浏览器中检查使用闪电贷的某些交易,看看它们都做了什么.
当前可用的闪电贷协议仅提供每笔交易借入一项资产,但是如果你拥有ETH,则可以很容易地通过它来轻松铸造获得DAI,或者可以使用1inch聚合器兑换到任何其他代币。
以下是可用于在以太坊区块链上执行闪电贷的不同协议:
Aave是一个开源和非托管协议,旨在获取存款和借贷资产的利息。由于他们的文档确实完善,因此我建议你查看他们的文档.
?优势:
?缺点:
DyDx确实提供本地闪电贷。但是你仍然可以通过对SoloMargin合约执行一系列操作来实现类似的行为。为了模仿DyDx上的Aave Flashloan,你需要:
你可以在Money Legos 网站上找到一个实现示例。此实现基于上面列出的Kollateral的源代码。
?优势:
?缺点:
Kollateral是一个智能合约,可汇总来自Aave和Dy/Dx平台的流动资金,并通过简单的界面展示给开发人员。
?优势:
?缺点:
带有Kollateral的闪电贷的代码如下所示:
import "@kollateral/contracts/invoke/KollateralInvokable.sol";
contract MyContract is KollateralInvokable {
constructor () public { }
function execute(bytes calldata data) external payable {
// liquidate
// swap
// refinance
// etc...
repay();
}
}
可以通过一种非常简单的方式从javaScript调用:
import { Kollateral, Token } from '@kollateral/kollateral'
const kollateral = await Kollateral.init(ethereum);
kollateral.invoke({
contract: myContractAddress
}, {
token: Token.DAI,
amount: web3.utils.toWei(1000)
}).then(() => console.log("success!");
本翻译由 Cell Network 赞助支持。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!