NEST预言机-获取链上价格
介绍
NEST预言机采用双边报价机制生成链上价格,质押双边资产来保证价格的准确性;完全去中心化的链上价格生成机制。
白皮书:https://nestprotocol
}
该方法限制了只有“报价合约”才可以调用,保证添加到价格合约中的价格数据的数据源正确。
输入参数描述ethAmount报价ETH数量tokenAmount报价ERC20Token数量endBlock价格生效区块号tokenAddress报价的ERC20Token合约地址offerOwner报价者钱包地址
PriceInfostoragepriceInfo=tokenInfo
同样限制了只有“报价合约”才有权限调用。只有在触发吃单操作后,才会修改对应生效区块中的价格,将”添加价格“时的报价数量按照”吃单“规模减掉。
DeFi项目Munch与The Giving Block达成合作:金色财经报道,中心化金融(DeFi)项目Munch已与The Giving Block达成合作,或显著推动快速增长的加密货币捐赠行业。协议将The Giving Block不断增长的加密非营利组织社区与Munch网络连接起来,这使用户可以轻松地为他们关心的事业捐款。该合作伙伴关系还将使新的非营利组织能够直接接受Munch的捐款,并在The Giving Block的筹款平台上创建个人资料。[2021/6/11 23:29:08]
输入参数描述ethAmount吃单ETH数量tokenAmount吃单ERC20数量tokenAddress报价ERC20地址endBlock价格生效区块号
获取价格
functionupdateAndCheckPriceNow(addresstokenAddress)publicpayablereturns(uint256ethAmount,uint256erc20Amount,uint256blockNum){require(checkUseNestPrice(address(msg
星火爱心王梦瑶:DeFi开创了全新的金融玩法和规则:11月3日,在深圳市政府主办,市贸促委、市地方金融监管局等机构承办的第十四届深圳国际金融博览会上,深圳区块链技术应用峰会在深圳会展中心正式举办。星火爱心会员服务部总监王梦瑶受邀参加主题为《金融行业的数字化转型》的圆桌对话。王梦瑶表示,理解DeFi首先需要正确的认识金融。金融是为实体经济增加杠杆,促进社会向前发展。未来,传统金融业务都会数字化。相对传统金融行业,DeFi对普通用户是极度有好的,DeFi开创了一系列全新的金融玩法和规则,正在用区块链技术中重构金融产业。[2020/11/3 11:32:54]
require(checkBlock!=0);PriceInfomemorypriceInfo=priceInfoList;addressnToken=_tokenMapping
else{_abonus
中币(ZB)DeFi挖矿播报:DeFi挖矿总锁仓量约3976万美元:根据中币(ZB)平台数据,今日DeFi挖矿总锁仓量约为3976万美元,其中存QC挖矿、存USDT挖矿、存ZB挖矿以及存QFIL挖矿的锁仓量小幅上降;存ETH挖矿的锁仓量不变。[2020/11/2 11:27:36]
if(msg
emitNowTokenPrice(tokenAddress,priceInfo
输入参数描述tokenAddressERC20Token合约地址输出参数描述ethAmountETH数量erc20AmountERC20Token数量blockNum生效价格区块
require(checkUseNestPrice(address(msg
解释一下while循环的判断,需要从最新的报价区块开始往后倒推找到当前已经生效并且没有被吃单的价格数据所在的区块号。
火币大学于佳宁:ETH2.0和DeFi的风口来袭 数字资产市场蕴含巨大财富机遇:近期,比特币价格强势拉升,一度突破12000美元,涨至一年来的最高点。比特币飙涨的同时,ETH2.0(以太坊2.0)和DeFi(分布式金融)迅速崛起,成为区块链行业最前沿的新风口。作为以“全球结算层”为新定位的以太坊来说,数字金融将成为其主要的生态体系,而Defi是其中最重要的业务形态之一。
火币大学校长、权威区块链专家于佳宁表示,全球区块链技术创新和商业模式创新明显提速,以ETH2.0为代表的新一代公链将带动基础设施升级,DeFi等新的商业生态在此带动下快速发展,成为行业新风口,也将带来财富新机遇。更多详情见原文链接。[2020/8/4]
require(checkBlock!=0);
这个判断个人猜测是为了防止有些token刚开始报价,还没有有效价格生成,又因为调用价格是要付费的。所以加了限制,如果没找到生效价格的区块号,交易直接失败。
PriceInfomemorypriceInfo=priceInfoList;addressnToken=_tokenMapping
else{_abonus
if(msg
这部分代码是将调用者支付的预言机费用,分配到对应的收益池中。多余的费用退还给调用者。
链下获取价格
//Checkreal-timeprice-useraccountonlyfunctioncheckPriceNow(addresstokenAddress)publicviewreturns(uint256ethAmount,uint256erc20Amount,uint256blockNum){require(address(msg
if(checkBlock==0){return(0,0,0);}PriceInfostoragepriceInfo=priceInfoList;return(priceInfo
原理和上一个方法一样。区别是禁止了合约调用和不需要付费。应该是为了给链下应用查看价格使用。
激活调用权限
functionactivation()public{_nestToken
使用NEST预言机需要质押一定数量的NEST和等待一天。这个操作应该是为了防止”合约盗取价格“。如果没有这个限制可以写个代理合约,获取价格,只需要支付一次费用,其他的调用者可以一起使用价格。
DEMO
官方文档
/***@devGetasingleprice*@paramtokenTokenaddressoftheprice*/functiongetSinglePrice(addresstoken)publicpayable{//Inconsiderationoffutureupgrades,thepossibilityofupgradingthepricecontractisnotruledout,andthevotingcontractmustbeusedtoquerythepricecontractaddress
/***@devGetmultipleprices*@paramtokenThetokenaddressoftheprice*@parampriceNumGetthenumberofprices,sortedfromthelatestprice*/functiongetBatchPrice(addresstoken,uint256priceNum)publicpayable{//Inconsiderationoffutureupgrades,thepossibilityofupgradingthepricecontractisnotruledout,andthevotingcontractmustbeusedtoquerythepricecontractaddress
//Averagepriceuint256calculationPrice=allTokenForEth
CoFiX
GitHub:
https://github
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。