單價: | 面議 |
發(fā)貨期限: | 自買家付款之日起 天內(nèi)發(fā)貨 |
所在地: | 廣東 廣州 |
有效期至: | 長期有效 |
發(fā)布時間: | 2023-12-18 06:50 |
最后更新: | 2023-12-18 06:50 |
瀏覽次數(shù): | 82 |
采購咨詢: |
請賣家聯(lián)系我
|
DeFi 是 Decentralized Finance 去中心化金融的簡稱,也叫開放式金融,【系統(tǒng)176搭建·0206-可電可微5616-】指的是搭建在公有鏈上的應(yīng)用。DeFi 的目的是創(chuàng)造一個沒有中心化機(jī)構(gòu)的金融服務(wù),讓世界上任何一個人都可以隨時隨地進(jìn)行金融活動。
DeFi流動性挖礦主要發(fā)生在以太坊***上的產(chǎn)品中,它通過為以太坊上的DeFi產(chǎn)品提供流動性來賺取利潤??梢院唵蔚乩斫鉃橛脩敉ㄟ^存款代幣獲得被動回報,但如果他們想獲得更高的回報,就需要對其進(jìn)行管理。不同協(xié)議之間的回報有差異,即便是同一協(xié)議不同貨幣市場或代幣池之間的收益也存在很大的差異。
流動性挖礦可以獲得什么收益?
流動性挖礦的收益包括治理代幣、交易費(fèi)等。
如今DeFi的大部分高收益是由股權(quán)(加密資產(chǎn))的增長所驅(qū)動的。例如,當(dāng)你在Compound上進(jìn)行挖礦時,你實(shí)際上是把錢借給該協(xié)議,并獲得免費(fèi)股權(quán)(免費(fèi)的COMP代幣)。你可以從貸款資產(chǎn)中獲得基本收益(來自自然的借款需求),還賺到了COMP代幣升值的「收益」。
流動性挖礦的收益取決于很多因素,主要取決于獎勵代幣的價格、流動性本身的權(quán)重(影響因子決定)以及占流動性總量的比例等。
舉例來說,Compound代幣價格的不同直接影響挖礦收益率的大?。浑S著不同貨幣市場總存款量和總借款量的增加,挖礦收益也被越來越多的流動性所稀釋;Compound原來將不同貨幣市場的借貸利率作為其重要的分配依據(jù),而現(xiàn)在已將這一因素去除。這對貨幣市場的資產(chǎn)流向具有很大的引流作用。之前BAT的借貸利率*高,導(dǎo)致Compound上BAT的流動性*高,而在改變規(guī)則之后,極大刺激了對穩(wěn)定幣DAI的需求。
流動性挖礦系統(tǒng)本質(zhì)上是激勵用戶直接為平臺擴(kuò)大業(yè)務(wù)量,提供超高回報作為獎勵,而這種獎勵分配過程也是新幣生成和發(fā)行的一種機(jī)制。流動性挖礦系統(tǒng)的主要好處是治理代幣和交易費(fèi)用。
DeFi流動性挖礦系統(tǒng)源碼示例:
struct AddLi{
address token0;//token0的地址
address token1;//token1的地址
uint24 fee;//交易費(fèi)率
address recipient;//流動性的所屬人地址
int24 tickLower;//流動性的價格下限(以token0計價),這里傳入的是tick index
int24 tickUpper;//流動性的價格上線(以token0計價),這里傳入的是tick index
uint128 amount;//流動性L的值
uint256 amount0Max;//提供的token0上限數(shù)
uint256 amount1Max;//提供的token1上限數(shù)
}
function addLi(AddLi memory params)
internal
returns(
uint256 amount0,
uint256 amount1,
IUniswapV3Pool pool
)
{
PoolAddress.PoolKey memory poolKey=
PoolAddress.PoolKey({token0:params.token0,token1:params.token1,fee:params.fee});
//這里不需要訪問factory合約,可以通過token0,token1,fee三個參數(shù)計算出pool的合約地址
pool=IUniswapV3Pool(PoolAddress.computeAddress(factory,poolKey));
(amount0,amount1)=pool.mint(
params.recipient,
params.tickLower,
params.tickUpper,
params.amount,
//這里是pool合約回調(diào)所使用的參數(shù)
abi.encode(MintCallbackData({poolKey:poolKey,payer:msg.sender}))
);
require(amount0