Orakl Network Proof of Reserve
Description
The Orakl Network Proof of Reserve is a critical component within the Orakl Network ecosystem, designed to establish and verify the reserve holdings of financial entities. This service ensures transparency and trust in the financial operations by providing a secure and auditable process for validating reserve data. The Orakl Network Proof of Reserve is a cornerstone within the ecosystem, dedicated to establishing trust in financial operations. This service seamlessly integrates off-chain and on-chain processes, providing a robust framework to verify and authenticate reserve holdings.
A Proof of Reserve is defined by a pair of an adapter and an aggregator, and can be accessed on-chain through a AggregatorProxy
smart contract, where the on-chain implementation of contracts are reused from contracts v0.1. The AggregatorProxy
is an auxiliary contract that redirects read requests to Aggregator
contract. The Proof of Reserve's Aggregator
contract holds all submission values that is served to consumers through AggregatorProxy
contract.
Every proof of reserve has configuration that describes the least frequent update interval called heartbeat
, and minimum deviation threshold (deviationTreshold
).
The Orakl Network Proof of Reserve operates as a streamlined, single-process system, easily triggered by a Cron job. The initial phase involves retrieving the most recent roundId
and PoR value
from the Proof of Reserve Aggregator contract
. Subsequently, the process assesses eligibility for submission through a combination of the Heartbeat Check
and Deviation Check
. If either condition is met, the final step involves fetching data from the API resource
and reporting the next round to the POR contract
. This cohesive workflow ensures efficient and timely execution of the Proof of Reserve
process.
The code is located under ./node/pkg/por directory
Configuration
Before we launch the Orakl Network Proof of Reserve, we must specify several environment variables. The environment variables are automatically loaded from a .env
file.
POR_REPORTER_PK
: designated por reporter's pk, should be whitelisted from the aggregator contractPOR_CHAIN
: chain name of POR (baobab
orcypress
)POR_PROVIDER_URL
: json rpc url to be used for reading and submitting onchainPOR_PORT
: port to be used for healthcheck (defaults to3000
)
Launch
Before launch, setup environment variables required by Orakl Node. You can find detailed explanation at Orakl Node README.
To launch Proof Of Reserve navigate to node
directory and execute the command below.
Last updated