買比特幣 買比特幣
Ctrl+D 買比特幣
ads

EEE:三步實現自己的第一筆閃電貸合約_RES

Author:

Time:1900/1/1 0:00:00

閃電貸是DeFi中一個獨特的產品,在傳統金融活動中沒有與之對應的事物。會編寫和使用閃電貸也是一項很重要的技能。

概念

閃電貸是一種無抵押、借貸金額無上限的貸款。它要求借貸人快借快還,快到還款和借款在同一個交易內。

閃電貸要求每筆借款在歸還時,除了歸還本金,還要支付一定利息。該利息由系統動態計算。

實現?

很多人對理解閃電貸有一定的難度。因為這需要了解智能合約執行原理和以太坊狀態變化的機制。我們通過自己編寫一個閃電貸合約,來理解其背后的運行原理。

以使用Aave提供的閃電貸為例,編寫一個你自己的合約非常簡單,你只需要實現一個叫?executeOperation的方法。

1.executeOperation

executeOperation方法參數中_reserve?是所借代幣的合約地址,如果是ETH則是一個特殊的地址,_amount是借款的金額,_fee是本次借款要償還的利息。_params暫時可忽略。

Truflation CEO:區塊鏈提供了透明的實時通脹指標:金色財經報道,Truflation首席執行官Stefan Rust表示,區塊鏈提供了透明的實時通脹指標。[2023/6/2 11:53:11]

functionexecuteOperation(

??address_reserve,

???uint256_amount,

???uint256_fee,

??bytescalldata_params

??)

??external

{

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

??//

Web3游戲公會Meta Masters Guild完成210萬美元私募輪融資:金色財經報道,Web3游戲公會Meta Masters Guild宣布完成210萬美元私募輪融資,根據其白皮書,Meta Masters Guild自稱是全球首個基于移動的Web3游戲公會,主要幫助項目在以太坊區塊鏈上開發基于加密貨幣的手機游戲,目前Meta Masters Guild正在構建游戲項目生態系統,并通過其即將推出的賽車游戲、NFT項目和元宇宙平臺為玩家提供其原生代幣的獎勵。(newsbtc)[2023/2/1 11:40:08]

??//用借來的?ETH去賺取更多的ETH

??//

??//還款

??uinttotalDebt=_amount.add(_fee);

??transferFundsBackToPoolInternal(_reserve,totalDebt);

數據:5600萬USDT從Kraken轉移到Bitfinex:金色財經報道,據Whale Alert數據顯示,56,000,000 USDT(56,066,019美元)從Kraken轉移到Bitfinex。[2023/1/15 11:13:22]

}

當代碼執行到executeOperation時,你已經拿到了借來的錢,你主要是寫如何利用這些錢賺取更多錢的邏輯。例如你發現同一個交易對A/ETH在DEX1和DEX2的價格差較大,那么你的賺錢邏輯為:

已借得100ETH;

在價格低的DEX1中買入A;

在價格高的DEX2中賣出A;

賣得110ETH。

2.開始借款

executeOperation是借款成功后要執行的邏輯。而開始借款的邏輯需要用戶自己觸發,或者直接寫在合約的構造函數里。例如:

Sushi宣布在Kava Network完成部署,推出wKAVA系列流動性池及其激勵:9月28日消息,SushiSwap官方宣布,Sushi已在Kava Network上完成部署,將結合Kava共鏈推出Trident AMM和BentoBox,為用戶提供自定義池、Onsen farms等服務。目前在Sushi UI上已推出wKAVA與WBTC、WETH、USDC、USDT等流動性池,LP激勵將在一周后上線。[2022/9/28 22:36:19]

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相關官方文檔,這里就不一一介紹了。

編寫閃電貸合約總體并不復雜。使用閃電貸風險也比較小。如果賺錢邏輯失敗,變成了虧錢邏輯,不能完成還款,那么也不用擔心借來的巨款無力償還。整個交易將會執行失敗,就如同借款從來沒有發生過一樣。

Tags:RESEEEIONADDIntegral ResistanceEEEE幣BITCOIN ADDITIONALDADDYCAKE價格

火幣網下載官方app
okex:關于WBF恢復UENC充提業務的公告_OKEx Fly

尊敬的WBF用戶: UENC已經完成主網升級。WBF現已恢復UENC充值、提幣業務,在此期間給您帶來的不便敬請諒解,如有疑問,請咨詢WBF官方客服.

1900/1/1 0:00:00
Gate.io:Gate.io打卡直播間 集齊7張圖召喚Gate限量周邊活動獲獎名單公告_Gather

Gate.io“打卡直播間集齊7張圖召喚Gate限量周邊”活動自11月9日舉辦以來,受到多位平臺主播和幣圈幣友們的廣泛關注.

1900/1/1 0:00:00
okex:OKEx云Token兌換系統上線 支持更豐富的代幣運營活動_okex幣幣交易教程

尊敬的合作伙伴: 自OKEx云成立以來,我們收到了很多合作伙伴的支持與鼓勵,同時也收到了很多寶貴的用戶建議.

1900/1/1 0:00:00
ABEL:ZT“神燈計劃”震撼來襲_Phore

ZT“神燈計劃”第二期、第三期震撼來襲,你還在等什么?快來點亮神燈吧~~~“神燈計劃”是ZT交易平臺于11月提起的新計劃,旨在為用戶提供優質項目,吸引用戶吸引用戶的參與和傳播.

1900/1/1 0:00:00
KEX:徐明星重獲自由,OKB大漲19% OKEx恢復提幣將近?_okex交易所美國能使用嗎

OKEx暫停提幣危機近期可能會看到解決的曙光。OKEx數據顯示,OKEx平臺幣OKB從11月18日晚開始自4.8USDT開始一路上漲,19日上午漲至5.738USDT,漲幅高達19.5%.

1900/1/1 0:00:00
COIN:Filecoin是炒幣還是挖礦收益好?_ChesterCoin

Filecoin上線以來幣價從最高220美金,經過一波下跌,最近一直在30美金上下震蕩,有很多人開始糾結了,到底是買幣屯幣好呢,還是買礦機挖礦好呢,非常糾結!今天就來和大家把這筆賬好好算一下.

1900/1/1 0:00:00
ads