区块见闻 区块见闻
Ctrl+D收藏区块见闻

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

作者:

时间:

NEST预言机-获取链上价格

介绍

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

白皮书:https://nestprotocol

}

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

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

PriceInfostoragepriceInfo=tokenInfo

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

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

获取价格

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

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

else{_abonus

if(msg

emitNowTokenPrice(tokenAddress,priceInfo

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

require(checkUseNestPrice(address(msg

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

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

标签:RICEICETOKETOKENrice币发行多少METAVICE价格LianPai TokenGXT Token

酷币交易所热门资讯
加密货币:王永利:数字人民币对打破数据垄断有重大作用_比特币害死多少人

本文来源:第一财经 作者:何乐舒 过去一个月,中国央行在深圳开启全球最大规模的数字货币测试,是央行数字人民币迈向实际应用的重要节点.

EGR:2020年美国SEC收缴46.8亿美元罚款,超过四分之一与加密行业有关_LibreFreelencer

到目前为止,美国证券交易委员会执法部门今年迄今已收缴了超过46.8亿美元的非法收入和罚款,其中四分之一以上来自Telegram的Gram代币销售.

TEL:以太坊2.0信标链今晚正式启动,Coinbase将提供2.0 ETH交易_Secrets of Zurich

在超额达成存款目标后,以太坊2.0信标链将于北京时间12月1日晚上20:00正式启动,这标志着以太坊2.0主网的第一步即将落地.

TOKE:美联储发布央行数字货币研究报告,探索CBDC内在价值驱动因素_TOK

据Ambcrypto11月10日报道,美联储11月9日发表了一篇关于央行数字货币的研究报告,探讨了数字美元对商业银行和货币政策的潜在影响.

Fisco:闷声发大财!比特币矿企股票年内平均回报率已超300%_Chainsquare

原文:Crypto?Briefing,原文作者:NiveshRustgi译者:Odaily星球日报念银思唐 摘要: -比特币矿企股票年初至今的平均回报率为327%.

COB:关于区块链国产化,FISCO BCOS给我们带来什么启示?_比特币

全球变局之下,国产化成为中国区块链乃至科创领域从业者的必经之路。今年9月,由微众银行牵头金链盟开源工作组研发并开源的FISCOBCOS与银河麒麟操作系统完成兼容性测试.