Skip to content

gelatodigital/verifier-node-educhain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Open Campus Verifier Node

Table of Contents

  1. Smart Contracts
  2. Getting a Gelato Relay API Key
  3. Installation
  4. Running the node on a local machine
  5. Running the node on a cloud provider

Smart contracts (Edu Chain)

Smart Contract Address
NodeKey 0xCD68f66269613AC6aa01BB1C2A7302AB84D9098A
NodeRewards 0x3066AA9240a1e168c2FE2C4912D1dE5903D8e505
Referee 0xEd570447B0034f430B0203BC29Aa3aE00321e312
DelegateRegistry 0x00000000000000447e69651d841bD8D104Bed493

Getting a Gelato Relay API Key

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:

  1. Go to Gelato Relay.
  2. Connect your wallet to create your account.
  3. Click "Create App" and complete the basic details.
  4. After creating the app, go to the details and copy the API key.
  5. Deposit funds into your 1Balance.

Installation

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. macos-install

For Windows:

Double click the file and follow the installation instructions.

windows-install-1 windows-install-2

Running the node on a local machine

Interactive CLI

Open up the command line interface of your machine.

For macOS:

  1. Open Finder.
  2. Navigate to Applications > Utilities.
  3. Double-click Terminal.

For Windows:

  1. Click the Start button.
  2. In the search bar, type cmd or Command Prompt.
  3. Select Command Prompt from the results.

Start the node by running the following command:

edu-chain-verifier-node start

CLI

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.

Saving settings

To save your settings and use them next time you start the node, run the following command:

edu-chain-verifier-node settings

CLI

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.

Running the node on a cloud provider

The verifier node is also available as a Docker image. Follow these steps to run it on a server, for example, on GCP:

  1. Create a Cloud Run job pulling the gelatodigital/verifier-node-educhain image.
  2. 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
  1. Add a scheduler trigger to execute the container every 10 minutes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published