区块见闻 区块见闻
Ctrl+D收藏区块见闻

PERA:三步实现自己的第一笔闪电贷合约_Peculium

作者:

时间:

闪电贷是DeFi中一个独特的产品,在传统金融活动中没有与之对应的事物。会编写和使用闪电贷也是一项很重要的技能。

概念

闪电贷是一种无抵押、借贷金额无上限的贷款。它要求借贷人快借快还,快到还款和借款在同一个交易内。

闪电贷要求每笔借款在归还时,除了归还本金,还要支付一定利息。该利息由系统动态计算。

实现?

很多人对理解闪电贷有一定的难度。因为这需要了解智能合约执行原理和以太坊状态变化的机制。我们通过自己编写一个闪电贷合约,来理解其背后的运行原理。

以使用Aave提供的闪电贷为例,编写一个你自己的合约非常简单,你只需要实现一个叫?executeOperation的方法。

1.executeOperation

executeOperation方法参数中_reserve?是所借代币的合约地址,如果是ETH则是一个特殊的地址,_amount是借款的金额,_fee是本次借款要偿还的利息。_params暂时可忽略。

人权基金会CSO:虽然遭受美国政府打击,但BTC会变得更加强大:3月24日消息,人权基金会 (HRF) 首席战略官 (CSO) Alex Gladstein 认为,尽管受到美国政府的“攻击”,比特币仍将变得比以往任何时候都更强大。我们需要为美国政府试图对整个加密货币行业造成破坏性打击做好准备,冲击可能很快就会到来。虽然短期看跌,但比特币最终会变得更加强大。[2023/3/24 13:25:13]

functionexecuteOperation(

??address_reserve,

???uint256_amount,

???uint256_fee,

??bytescalldata_params

??)

??external

{

现场丨付盼:DeFi虽然有泡沫,但它让行业有了稍微明确的方向去突破:金色财经现场报道,10月19日,由金色财经主办,链上ChainUP,脉冲科技,达摩院协办的金色沙龙第56期在深圳举办,在圆桌讨论环节,TokenPocket钱包创始人付盼从宏观和微观角度分析了DeFi的泡沫和前景,他认为从宏观角度来讲,区块链十年发展,有很多次泡沫,但是每次泡沫也留下来了一些精华的技术,思维,比如BTC,ICO, DAPP, DEFI等,支撑着整个行业的发展。从微观角度来讲,DeFi其实就是抵押借贷交易,以太坊上面几个核心的项目就是围绕这几个方面,也是现在真正支撑DEFI发展的核心产品。因此DeFi虽然有泡沫,但它让行业有了稍微明确的方向去突破。关于DeFi的前景,付盼也表示,单个DeFi的开发周期没有那么短,它需要几个月,或者半年一年的,新的项目还在开发中,因此它还是会持续发展的。[2020/10/19]

??require(_amount<=getBalanceInternal(address(this),_reserve),"借款失败");

声音 | 朱幼平:区块链救助虽然迟到但绝不会缺席:金色财经报道,国家信息中心中经网管理中心副主任朱幼平今日在微信朋友圈发文表示,区块链救助虽然迟到但绝不会缺席。他指出,面对新冠疫情防控,区块链确实是迟到了,原因是区块链还没有发展成为基础设施,还没有大规模应用。但是疫情过后,区块链不会缺席。区块链的信任机制、激励机制、组织机制,是真正意义的公共救助模式。如果区块链能帮上忙的话,疫情防控能够抢回很多宝贵时间,疫情防控中出现的信息不畅、协作低效等问题也将大大缓解。他认为,2019年新冠疫情后,区块链商务必然崛起,将成为21世纪第三个十年的主流业务模式。[2020/2/12]

??//

??//用借来的?ETH去赚取更多的ETH

??//

??//还款

??uinttotalDebt=_amount.add(_fee);

声音 | 加密货币交易员:虽然市场情绪走高 仍难保证BTC能否突破重要压力位:据Newsbtc报道,加密货币交易员The Crypto Dog表示,目前市场乐观情绪正在走高,BTC似乎正在“崛起”。尽管有如此积极的条件,比特币和其他加密货币仍处于关键的阻力位以下。“BTC似乎被压在800磅重的大猩猩身下,在这种情况下没有人能保证,BTC一定会突破4000美元和4200美元的阻力位。[2019/3/10]

??transferFundsBackToPoolInternal(_reserve,totalDebt);

}

当代码执行到executeOperation时,你已经拿到了借来的钱,你主要是写如何利用这些钱赚取更多钱的逻辑。例如你发现同一个交易对A/ETH在DEX1和DEX2的价格差较大,那么你的赚钱逻辑为:

已借得100ETH;

在价格低的DEX1中买入A;

在价格高的DEX2中卖出A;

卖得110ETH。

2.开始借款

executeOperation是借款成功后要执行的逻辑。而开始借款的逻辑需要用户自己触发,或者直接写在合约的构造函数里。例如:

functionflashloan()publiconlyOwner{

??bytesmemorydata="";

??uintamount=100ether;

??addressasset=address(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE);//借ETH

??ILendingPoollendingPool=ILendingPool(addressesProvider.getLendingPool());

??lendingPool.flashLoan(address(this),asset,amount,data);

}

flashLoan()是真正的借款函数,例子中是借入100ETH。闪电贷由此方法触发,也由此方法结束。要完全理解它,我们需要看看flashLoan()的内部逻辑。我们摘取最重要的部分。

3.?flashLoan()内部逻辑

flashLoan()中首先进行各项数据验证,然后便借款给你,紧接着调用你的?executeOperation?的赚钱逻辑,最后验证你是否归还了本金加利息。主要逻辑如下所示:

????????//各种数据验证,池中是否还有足够的钱可以贷出?计算手续费等等

??????//将借款转给你

????core.transferToUser(_reserve,userPayable,_amount);

????//执行你的合约的赚钱逻辑

????receiver.executeOperation(_reserve,_amount,amountFee,_params);

????//检查目前池中余额

????uint256availableLiquidityAfter=_reserve==EthAddressLib.ethAddress()

???????address(core).balance

??????:IERC20(_reserve).balanceOf(address(core));

????????//通过池中余额变化来确认你是否已经归还了借款利息

????require(

??????availableLiquidityAfter==availableLiquidityBefore.add(amountFee),

??????"Theactualbalanceoftheprotocolisinconsistent"

????);

如果?require()验证失败,它将revert整个交易,让借款无效,从而保证借出方总是安全的。

结语

以上解释了实现第一笔闪电贷最基本的方法和原理。编译源码,以及部署到线上,大家可以参考Aave相关官方文档,这里就不一一介绍了。

编写闪电贷合约总体并不复杂。使用闪电贷风险也比较小。如果赚钱逻辑失败,变成了亏钱逻辑,不能完成还款,那么也不用担心借来的巨款无力偿还。整个交易将会执行失败,就如同借款从来没有发生过一样。

标签:OPERAECUEXEPERAOPERA币Peculiumexe币8x8

抹茶交易所热门资讯
比特币:BTC突破1.8万美金,给我们带来了什么信号?_LTC

近日,加密市场主流币普遍迎来大涨。比特币市值超3263.65亿美元,创历史新高,全球数字货币市场总市值也突破5000亿美元.

区块链:牧牛区块链“陈安之式”打着区块链培训,一边收费,一边钱!_国内区块链公司前十排名

随着区块链,虚拟货币成为当下最火爆的风口,滋生了各种打着区块链,比特币等虚拟货币旗号的局,“成功学”大师陈安之去年也曾入币圈,为Fanstime、BHB等项目站台.

AND:KEX System Upgrade on November?20_THE

Dearusers, Inordertoprovidebetterservices,KEXwillupgradeoursystemat?17:10?on??November?20?(UTC8).

WUC:OK Group的首席执行官Xu通过发表“感谢信”阐明立场_wuc币上线交易所

传言,OKEx集团的创始人徐明兴曾受到中国当局的调查,但交易所尚未证实这一消息。今天,徐在私人社交媒体上发布了中国杭州的来信,表示感谢.

HAI:Chainalysis:2020年BTC暴涨是加密货币市场成熟的一个标志_CHA

11月20日,加密分析公司Chainalysis发推称,数据表明2020年比特币大涨,更多是由首次购买比特币的买家,以及希望将法币换成比特币以对冲宏观经济趋势的机构买家推动的.

888:名扬谈币:比特币牛市持续上涨,两万关口近在咫尺_lbtc币还会爆长吗

行情瞬息万变,作为交易者应该做到通则变,变则通,交易没有固定这说法,方式方法可以固定,但思维一定要活跃,同样的形态未必走同样的走势,是因为在大的环境下出现细小的变化比特币昨日行情持续拉升上行.