价格预言机
介绍
基于区块链的智能合约无法直接与外部系统通信,因此 JustLend DAO 协议需要可靠的价格推送服务。最终,我们选择了 WinkLink 的服务作为我们的价格来源。
JustLend DAO 协议使用 PriceOracle 合约在来设置和展示代币价格,单位为sun(即10^-6 TRX)
缩放比例为 10^(tokenDecimal - 6)
。
基础代币的价格每 30 分钟由指定的发布者通过 setPrice()
方法发布。
相关方法
anchors()
调用此方法会返回指定代币的当前价格锚点。
address
基础代币的地址(例如USDT的地址为:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t)
period
uint256
当前的时间段。计算方法是:当前区块高度/600
(TRON 网络平均每30分钟生产600个区块)
priceMantissa
uint256
代币价格,单位为sun(即10^-6 TRX)
缩放比例为 10^(tokenDecimal - 6)
poster()
调用这个方法返回当前价格提交者的地址。
返回值:当前价格提交者的地址。
assetPrices()
调用这个方法返回指定代币的当前价格。
asset
address
待查询代币的地址
返回值:代币价格,单位为sun(即10^-6 TRX)
,缩放比例为 10^(tokenDecimal - 6)
。
getPrice()
调用这个方法返回指定代币的当前价格。
asset
address
待查询代币的地址
返回值:代币价格,单位为sun(即10^-6 TRX)
,缩放比例为 10^(tokenDecimal - 6)
。
setPrice()
调用这个方法为指定的代币设置当前时间区间的价格。
这个方法仅供合约指定的价格提供者调用。
asset
address
基础代币的地址(例如USDT的地址为:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t)
requestedPriceMantissa
uint
新的价格,缩放比例10^18
返回值:0为成功,否则将返回相应错误码。
Last updated