RICE:DeFi 开发者:如何调用NEST预言机价格数据_Pricetools

NEST预言机-获取链上价格

介绍

NEST预言机采用双边报价机制生成链上价格,质押双边资产来保证价格的准确性;完全去中心化的链上价格生成机制。

白皮书:https://nestprotocol

}

该方法限制了只有“报价合约”才可以调用,保证添加到价格合约中的价格数据的数据源正确。

输入参数描述ethAmount报价ETH数量tokenAmount报价ERC20Token数量endBlock价格生效区块号tokenAddress报价的ERC20Token合约地址offerOwner报价者钱包地址

PriceInfostoragepriceInfo=tokenInfo

同样限制了只有“报价合约”才有权限调用。只有在触发吃单操作后,才会修改对应生效区块中的价格,将”添加价格“时的报价数量按照”吃单“规模减掉。

Redefine完成1100万美元种子轮融资 Ribbit Capital领投:1月18日消息,区块链安全初创公司Redefine以5000万美元估值完成1100万美元的种子轮融资,Ribbit Capital领投。据称,Redefine提供了第一个“加密防火墙(Crypto Firewall)”,以保护DeFi平台和协议。(The Jerusalem Post)[2022/1/18 8:56:27]

输入参数描述ethAmount吃单ETH数量tokenAmount吃单ERC20数量tokenAddress报价ERC20地址endBlock价格生效区块号

获取价格

functionupdateAndCheckPriceNow(addresstokenAddress)publicpayablereturns(uint256ethAmount,uint256erc20Amount,uint256blockNum){require(checkUseNestPrice(address(msg

DeFi 概念板块今日平均涨幅为1.05%:金色财经行情显示,DeFi 概念板块今日平均涨幅为1.05%。47个币种中28个上涨,19个下跌,其中领涨币种为:MKR(+10.26%)、SRM(+8.48%)、AKRO(+8.28%)。领跌币种为:PEARL(-9.19%)、LBA(-8.61%)、FOR(-7.33%)。[2021/5/2 21:17:09]

require(checkBlock!=0);PriceInfomemorypriceInfo=priceInfoList;addressnToken=_tokenMapping

else{_abonus

if(msg

emitNowTokenPrice(tokenAddress,priceInfo

输入参数描述tokenAddressERC20Token合约地址输出参数描述ethAmountETH数量erc20AmountERC20Token数量blockNum生效价格区块

DeFi平台VesperFinance正式上线,推出治理代币VSP:专注易用性的DeFi平台Vesper Finance宣布正式上线,Beta测试者已获得治理代币VSP奖励。另外Vesper Finance将通过三个资金池分发VSP奖励,包括ETH、USDC和WBTC,而且VSP已上线Sushiswap和Uniswap。[2021/2/18 17:25:04]

require(checkUseNestPrice(address(msg

解释一下while循环的判断,需要从最新的报价区块开始往后倒推找到当前已经生效并且没有被吃单的价格数据所在的区块号。

require(checkBlock!=0);

这个判断个人猜测是为了防止有些token刚开始报价,还没有有效价格生成,又因为调用价格是要付费的。所以加了限制,如果没找到生效价格的区块号,交易直接失败。

Neo创始人达鸿飞:DeFi发展仍处早期阶段,链上资产总量尚小:在Cointelegraph中文主办的国际区块链技术创新峰会上接受《华夏时报》记者专访时,达鸿飞表示,我觉得DeFi很有价值,并且很有潜力。但目前这个行业还处于初期阶段,大部分项目在进行早期的探索。如今在区块链世界里资产不够多,都是加密资产,而原生在区块链世界里面,和现实世界关联的资产较少,且体量相对比较小。当有足够多跟现实世界有关联的资产,它就会有更多的互动,有更多的业务形态,影响力也会更大。这里并不是说把所有现实世界的资产,比如一套房子,放到链上,而是把一些自带数字属性,又有现实意义的资产,比如IT的存储空间,变成链上资产,可以交易、可以流转。此外,未来DeFi的大规模应用,还是要看传统金融市场的资产通证化进度以及配套监管的落地。(华夏时报)[2020/12/26 16:34:29]

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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-8:476ms