流动性挖矿的收益包括治理代币、交易费等,流动性挖矿可以简单地通过存入代币获得被动收益,流动性挖矿的收益取决于很多因素,首先是价格、流动性本身的权重、占流动性总量的比例等,不同的价格直接影响挖矿收益率的大小;同时,随着不同货币市场总存款量和总借款量的增加,挖矿收益也被越来越多的流动性所稀释。
流动性挖矿的最大化收益是指流动性挖矿可以通过杠杆化操作来最大化收益,当然,同时也会带来更大的风险。用户可以在同一协议内进行操作,也可以跨协议进行操作。
流动性挖矿的虹吸,内部的均衡,随着越来越多的协议提供流动性挖矿,资金会流向收益最丰厚的地方,并将资产在不同协议之间的利用最大化。一开始是在协议内部达成风险和收益的均衡,最后是不同DeFi协议之间达到均衡。最后会与外部世界形成均衡,流动性挖矿的目的之一是为了实现代币的分散化,也是一种代币的分配机制,让更多人参与到协议发展中来。
function getUserStakingBalanceEthValue(address user, address token)
public
view
returns (uint256)
{
if (uniqueTokensStaked[user] <= 0) {
return 0;
}
return
(stakingBalance[token][user] * getTokenEthPrice(token)) / (10**18);
}
getTokenEthPrice函数可以获取Chainlink价格数据。
function getTokenEthPrice(address token) public view returns (uint256) {
address priceFeedAddress = tokenPriceFeedMapping[token];
AggregatorV3Interface priceFeed = AggregatorV3Interface(
priceFeedAddress
);
(
uint80 roundID,
int256 price,
uint256 startedAt,
uint256 timeStamp,
uint80 answeredInRound
) = priceFeed.latestRoundData();
return uint256(price);
}
需要添加通证对以太币的价格数据,以计算正确的价值。