Run BRP Node

Run Node with Docker

  1. Clone Repo

Note: The current BRP-Refiner stable version is 0.5.7. For the latest updates or additional details, please check the announcements or discussions in Discord.

git clone https://github.com/covalenthq/refiner
cd refiner
  1. Check global environment variables

$ cat .envrc
export IPFS_PINNER_URL="http://ewm-das:5080/api/v1"
export EVM_SERVER_URL="http://evm-server:3002"
[[ -f .envrc.local ]] && source_env .envrc.local
  1. Set local environment variables

$ touch .envrc.local
export BLOCK_RESULT_OPERATOR_PRIVATE_KEY="<<BRP-OPERATOR-PK-WITHOUT-0x-PREFIX>>"
export NODE_ETHEREUM_MAINNET="<<HTTPS-MOONBEAM-RPC-URL>>"
export IPFS_PINNER_URL="http://ewm-das:5080/api/v1"
export EVM_SERVER_URL="http://evm-server:3002"
export W3_AGENT_KEY="<<AGENT_KEY>>"
export W3_DELEGATION_FILE="<<DELEGATION_PROOF_FILE_PATH>>"

Note: .envrc.local overrides any env vars set with .envrc on calling direnv allow Note: When passing the private key into the env vars as above please remove the 0x prefix so the private key env var has exactly 64 characters.

  • BLOCK_RESULT_OPERATOR_PRIVATE_KEY: Your personal Block Result Producer (BRP) operator private key

  • AGENT_KEY & PROOF.OUT File: Your personal web3.storage Agent key & Delegation file use by the ipfs-pinner service

  • IPFS_PINNER_URL: Service (ipfs-pinner) used by rudder to access IPFS assets like Block Specimens (service is automatically invoked and run with the in repo docker compose files eg: docker-compose-mbeam.yml)

  • EVM_SERVER_URL: Service (evm-server) used by rudder for stateless execution of Block Specimens into indexable (queryable) Block Results

Start Services

  1. Load env vars into the shell

  1. Start all 4 services in the background

  1. Monitor the logs for Block Result submissions

successful Refiner stack run log output with performance metrics

useful command

Last updated