This guide explains how to run a PythNet RPC node. The goal of this guide is to enable infrastructure providers to get connected to PythNet.
PythNet Overview
PythNet is an instance of a Solana network with some configuration changes to make it a proof-of-authority network. The main changes are:
- The network’s token is called PGAS instead of SOL. The PDA will control the vast majority of the supply of PGAS.
- The PDA will delegate some of its PGAS tokens to each PythNet validator so that they can participate in consensus. Validators will not need to hold PGAS tokens on their own.
- Each PythNet publisher will be given a small amount of PGAS to allow them to submit their price information. The transaction fees on the network have been reduced such that each transaction is effectively free.
Running a PythNet RPC/Validator
Operators can follow the standard Solana node setup instructions found here. Use the following Checklist to get started:
RPC Setup Checklist
- Build the Pythnet software
- Pythnet runs a fork of the Solana validator software stored in this github repo. You must use Pythnet and not vanilla Solana, or your validator will not be able to join the network.
- Current version:
v1.14.180 tag on the Pythnet repo (link)
- Command line to buid:
cargo +1.60.0 build --release --locked
- The version output of the build from
solana --version should be: solana-cli 1.14.180 (src:devbuild; feat:1435444185)
- Create an identity keypair
identity.json by running solana-keygen new -o identity.json
- Start your RPC using the Solana rpc setup guide and use the flags below.
--entrypoint entrypoint.pythnet.pyth.network:8001
--expected-shred-version 35891
--expected-bank-hash 84ztrmopeEhQMxweSPvohG3Hv6zgqrvd7pRjR4QQWKoD
--expected-genesis-hash GLKkBUr6r72nBtGrtBPJLRqtsh8wXZanX4xfnqKnWwKq
--account-index program-id
Validator Setup Checklist
- Download the Pythnet software
- Pythnet runs a fork of the Solana validator software stored in this github repo. You must use Pythnet and not vanilla Solana, or your validator will not be able to join the network.
- Current version: v1.14.179 tag on the Pythnet repo (link)
- Command line to buid:
cargo +1.60.0 build --release --locked
- The version output of the build from
solana --version should be: solana-cli 1.14.179 (src:devbuild; feat:1435444185)
- Create an identity keypair
identity.json by running solana-keygen new -o identity.json
- Create a vote keypair
vote.json by running solana-keygen new -o vote.json
- Once your pubkey is funded with PGAS, use solana create-vote-account to create your vote account with withdrawer:
DgpbK8SiypiUHBkBTAunMnwRWF3McGGR4iKxTrTfTXq4 Please ensure that you use this withdrawer key and not your own.
- Start your validator using the following flags:
--entrypoint entrypoint.pythnet.pyth.network:8001
--expected-shred-version 35891
--expected-bank-hash 84ztrmopeEhQMxweSPvohG3Hv6zgqrvd7pRjR4QQWKoD
--expected-genesis-hash GLKkBUr6r72nBtGrtBPJLRqtsh8wXZanX4xfnqKnWwKq
--account-index program-id
Public RPCs