Back to Hub
CREATED BY CHAINLINK LABS

Bring Your Own Data (NAV & PoR)

A template for bringing your own off-chain Proof-of-Reserve (PoR) or Net-Asset-Value (NAV) data on-chain with the Chainlink Runtime Environment (CRE).

What This Template Does

This template provides an end-to-end starting point for bringing your own off-chain Proof-of-Reserve (PoR) or Net-Asset-Value (NAV) data on-chain with the Chainlink Runtime Environment (CRE).

The template consists of two components:

  • Contracts (deployed on multiple chains)
    • DataFeedsCache contract that receives data on-chain
    • DecimalAggregatorProxy proxy contract for PoR data stored in the DataFeedsCache contract
    • BundleAggregatorProxy proxy contract for NAV data stored in the DataFeedsCache contract
  • CRE Workflows
    • Golang workflows targeting the Golang CRE SDK
      • PoR Workflow (Proof-of-Reserve)
      • NAV Workflow (Net-Asset-Value)
    • TypeScript workflows targeting the TypeScript CRE SDK
      • PoR Workflow (Proof-of-Reserve)
      • NAV Workflow (Net-Asset-Value)

Key Technologies:

  • CRE (Chainlink Runtime Environment) - Orchestrates workflows with DON consensus

Getting Started

You can build with the CRE SDK in either Golang or TypeScript.

1 Golang SDK

For detailed instructions on getting started with the Go SDK, see the Go README on GitHub.

2 TypeScript SDK

For detailed instructions on getting started with the TypeScript SDK, see the TypeScript README on GitHub.


Security Considerations

  1. This is a demo project - Not production-ready
  2. DecimalAggregatorProxy contract is demo contract - Not audited and not production-ready
  3. Use your own RPC for stability - For stable deployment and chainwrite operations it is advised to use your own private RPCs
  4. Secrets hygiene – Keep real secrets out of version control; use secure secret managers for .env values.

Get the latest Chainlink content straight to your inbox.