- Smart Contracts
- Getting a Gelato Relay API Key
- Installation
- Running the node on a local machine
- Running the node on a cloud provider
Smart Contract | Address |
---|---|
NodeKey | 0xCD68f66269613AC6aa01BB1C2A7302AB84D9098A |
NodeRewards | 0x3066AA9240a1e168c2FE2C4912D1dE5903D8e505 |
Referee | 0xEd570447B0034f430B0203BC29Aa3aE00321e312 |
DelegateRegistry | 0x00000000000000447e69651d841bD8D104Bed493 |
The Gelato API Key is crucial for running the node as it allows the node to use Gelato Relay for transaction fees. This simplifies the process by enabling the use of various tokens (like USDC) to pay for gas fees.
To obtain the Gelato API Key:
- Go to Gelato Relay.
- Connect your wallet to create your account.
- Click "Create App" and complete the basic details.
- After creating the app, go to the details and copy the API key.
- Deposit funds into your 1Balance.
Go to the Releases page and download the latest version of the verifier node application according to your machine.
For macOS:
edu-chain-verifier-node-${version}-x64.pkg
edu-chain-verifier-node-${version}-arm64.pkg
For Windows:
edu-chain-verifier-node-${version}-x64.exe
edu-chain-verifier-node-${version}-x86.exe
edu-chain-verifier-node-${version}-arm64.exe
For Linux:
edu-chain-verifier-node-${version}-amd64.deb
edu-chain-verifier-node-${version}-arm64.deb
edu-chain-verifier-node-${version}-armel.deb
After dowloading the file, install the application.
For macOS:
Right click the file and select Open with
-> Installer
.
For Windows:
Double click the file and follow the installation instructions.
Open up the command line interface of your machine.
For macOS:
- Open Finder.
- Navigate to Applications > Utilities.
- Double-click Terminal.
For Windows:
- Click the Start button.
- In the search bar, type cmd or Command Prompt.
- Select Command Prompt from the results.
Start the node by running the following command:
edu-chain-verifier-node start
The process will start and prompt you to enter
- Operator private key: The private key of the address which node keys are delegated to.
- Relay API key: The Gelato Relay API key (see Getting a Gelato Relay API Key).
- Node key Ids: The IDs of the node keys that have been delegated to the operator.
To save your settings and use them next time you start the node, run the following command:
edu-chain-verifier-node settings
The settings that are configurable are:
- Operator private key: The private key of the address which node keys are delegated to.
- Relay API key: The Gelato Relay API key (see Getting a Gelato Relay API Key).
- L1 Rpc Url: Your personal RPC URL for the settlement chain, Arbitrum. (Highly recommended to do set this)
- Node key Ids: The IDs of the node keys that have been delegated to the operator.
- Wallets: The wallets that will be filtered by if node key ids are automatically fetched.
The verifier node is also available as a Docker image. Follow these steps to run it on a server, for example, on GCP:
- Create a Cloud Run job pulling the
gelatodigital/verifier-node-educhain
image. - Set up the environment variables.
OPERATOR_PK=
RELAY_API_KEY=
# Set either one. 1 is for manually setting node key ids, 2 is for automatically fetching node key ids and optionally filtering by wallets.
#------------1-------------
NODE_KEY_IDS= # 1,2,3 (Comma seperated node key IDs)
#------------2-------------
AUTO_KEY_IDS=true
WALLETS=
# undefined (Use all fetched node key IDs delegated to operator) or
# 0x...,0x,,, (comma seperated addresses) (Use fetched node key IDs that are delegated to operator and owned by defined wallets)
#-------------------------
# Optionals
DEBUG= # true/false
ONCE= # true/false (Set to true if you are running a job so that the job exits after running once)
INTERVAL= # In ms (Must be > 60000)
L1_RPC_URL=
# Your personal RPC URL of settlement chain (Arbitrum RPC)
# Setting `L1_RPC_URL` is highly recommended for better reliability and performance
- Add a scheduler trigger to execute the container every 10 minutes.