# PowerOracle简述：它是如何工作的，如何使用它？

By [Powerpool中文](https://paragraph.com/@powerpool) · 2022-02-10

---

**发布时间** 2020年11月1日 **原文链接** [https://medium.com/powerpool/poweroracle-in-a-nutshell-how-it-works-and-how-to-use-it-383dcf0d002e](https://medium.com/powerpool/poweroracle-in-a-nutshell-how-it-works-and-how-to-use-it-383dcf0d002e) **翻译** totojack

在这篇文章中，我们为预言机使用者、价格报告者（Price Keeper）和（Fishermen）分享关于PowerOracle系统设计和说明的最新信息

![](https://storage.googleapis.com/papyrus_images/9e245f3a976f392641a6e179c1406638ff86665ddf2b336f80a175bd46b85d04.png)

PowerOracle一周前在以太坊主网发布。自发布以来，它总共为12个交易对提供了超过570份价格报告。在这篇文章中，我们将讨论： 1.预言机的运行机制、激励和奖励 2.Dapp现在可以如何使用该预言机 3.如何成为Price Keeper或Fisherman

**PowerOracle 简述** 下面介绍PowerOracle的定义。 PowerOracle是一个去中心化的跨链预言机，使用Uniswap V2作为时间加权平均价格（TWAP）的主要数据源。 它通过对独立的价格报告者进行经济激励来自动运作。

让我们一步一步地分析下去。

1.  \*\*它是一个跨链预言机。\*\*这意味着这个预言机不仅向以太坊主网提供价格反馈，而且还向其他网络（例如xDAI和Polygon）提供价格反馈。 2.它是一个真正去中心化的预言机。这意味着系统中没有单点故障：价格是从一个去中心化的交易所（Uniswap）拉取的，其流动性比Coinbase更强。预言机是无许可的，所以每个人都可以成为价格报告者（与Chainlink不同）。
    
2.  PowerOracle使用内置的激励机制来运作独立的价格报告者（Price Keeper）。基本上，价格报告者通过奖励来实现激励，钓鱼者同理（控制价格报告者的操作是否正确的节点）。
    

**价格报告者的激励计划** 如果系统没有风险共担机制（Skin in the game），以及对诚实行为的奖励，这个伪匿名代理系统就不能正确运作。因此，我们对价格报告者和钓鱼者实施了CVP质押。 **价格报告者**——向Uniswap合约拉取价格信息，计算后向所有链提供价格反馈。 请注意，价格报告人自己不计算价格——他只拉取合约并支付Gas。因此，唯一可能发生的作弊行为是没有及时拉取价格数据。 **钓鱼者（Fishermem）**——监督价格报告人的节点。钓鱼者监督价格报告者是否按时发送交易，如果错过了报告时间点，他会代替价格报告者签署交易。交易成功，钓鱼者会获得奖励和一部分Price Keeper被惩罚的代币。

奖励计划是根据几个目标实施的： 1.尽可能地吸引价格报告者质押CVP，并为价格报告者的工作建立激烈的竞争。报价者的质押的CVP越多，就越能体现出预言机的安全性。更多的质押=更安全的预言机。考虑到这个预言机的目的是为几个链上的dApps提供服务，它是一个系统至关重要的组成部分。 2.吸引尽可能多的钓鱼者，以及更多的CVP质押量。它也有助于整个预言机的安全 价格报告者的正确操作会得到奖励。奖励分为两部分。 1）Gas补偿。以CVP代币支付，根据花费的Gas和当前CVP价格重新计算。 2）利润（或 "收入"）奖励。价格报告者获得利润作为他质押CVP的APY。目前，APY被设定为50%（社区可以通过提案来改变）。

> 这意味着，在诚实操作的情况下，价格报告人可以在CVP中获得50%的APY。

请注意，在目前的操作计划中，只能有一个价格报告人。它质押CVP数量最多的节点。 钓鱼者的工作也会得到CVP奖励。对钓鱼者的奖励有两种类型。 1.活动的奖励（在线）。这种奖励是根据正常运行时间支付的，是基于签署特殊的交易，证明钓鱼者一直在线并准备砍掉价格报告者。目前，这一奖励在中被设定为20%的CVP APY。 2.惩罚奖励。如果价格报告者失败了，钓鱼者代替价格报告者拉取了合约，他将从报告者那获得其质押CVP的5%作为奖励（另外5%归入社区池）。在这种情况下，价格报告者损失了质押CVP的10%。此外，他还可以获得成功报告价格的奖励，奖励额度根据价格报告者质押的CVP进行计算。 \*\*重要通知：\*\*目前惩罚是0%，因为预言机仍在测试中（安全审计待定）。在收到审计结果后，惩罚比例被设置为10%。

> 这意味着，在诚实操作的情况下，钓鱼者可以获得20%的APY，只需质押他的CVP并执行一段特殊的脚本。

**你的DApp现在可以如何使用这个预言机吗？**

是的，而且非常容易：

**1.0x019e14DA4538ae1BF0BCd8608ab8595c6c6181FB**

(proxy contract)

**2.0xa394922a1a45786583e5383cf4485a6f325d8807**

(implementation contract)

你只需要将IPowerOracle.sol导入你的合约，并添加一个代理合约地址

用下述方法请求该资产的USDC的价格（6位小数）：

    function getPriceBySymbol(string calldata symbol_) external view override returns (uint256)
    function getPriceBySymbolHash(bytes32 symbolHash_) external view override returns (uint256)
    

用下述方法请求该资产的USDC价格（18位小数）：

    function getPriceBySymbol(string calldata symbol_) external view override returns (uint256)
    function getPriceBySymbolHash(bytes32 symbolHash_) external view override returns (uint256)
    

查看完整用法，请至Github进行查询 [https://github.com/powerpool-finance/power-oracle-contracts/blob/master/contracts/PowerOracle.sol](https://github.com/powerpool-finance/power-oracle-contracts/blob/master/contracts/PowerOracle.sol)

**如何成为一名价格报告者或钓鱼者**

以下是创建价格报告者或钓鱼者的算法。请注意，二者操作是相同的。如果你质押的CVP数量不是最多的，你将自动成为一个钓鱼者。 你需要把你的CVP质押在[PowerOracle页面](https://app.powerpool.finance/#/mainnet/oracle/feeds)上。 访问[https://github.com/powerpool-finance/power-oracle-reporter](https://github.com/powerpool-finance/power-oracle-reporter) 并克隆git仓库，用适当的参数运行脚本。"reporter private key" "是你Ethereum账户的私钥。该私钥仅用于交易签名（如同任何以太坊交易的情况）。

    MAINNET=1 REPORTER_PRIVATE_KEY=<Reporter private key e.g. 0x7700fa638003ef53c10485c0535353e9cf7e773cf64b3cfc7942662f8218e88b> 
    npm start
    

控制台中的脚本将通知您，您的价格报告者/钓鱼者的已经成功启动。 运行我们的Telegram通知机器人来跟踪你的价格报告者/钓鱼者的运行情况

---

*Originally published on [Powerpool中文](https://paragraph.com/@powerpool/poweroracle-2)*
