Geode Document Hub
  • Geode Document Hub
  • The Staking Library
    • 🔥The Issue
    • 🧯A Solution
  • Operator Marketplace
    • 🟢A Validator's Lifecycle
    • 🔵Maintenance Fee
    • 🟡Onboarding New Operators
    • 🔴Regulating the Marketplace
      • 🚨Prison
  • Key Concepts
    • 🪙Staking Derivatives
      • G-Derivatives
        • gETH vs gAVAX
    • 🌀Portal
      • 🔐Isolated Storage
      • 🤝Dual Governance
      • ⚠️Limited Upgradability
    • ⚙️Permissionless Configurable Staking Pools
      • 🎭Current Interfaces
      • ⛏️Maintainers
    • 🛡️Withdrawal Contracts
      • ⛑️Recovery Mode
      • 🕗Withdrawal Queue
    • 🌊Bound Liquidity Pools
    • 🔭Oracles
      • Telescope Ether
      • Telescope Avax
    • 👾Future of Geode
      • Better Maintainers (WIP)
      • Synthetic Liquidity (WIP)
      • Dynamic Withdrawals (WIP)
      • Further Decentralization
        • Supporting EIP-4788 (DRAFT)
        • Quadratic Weighted Senate (DRAFT)
        • Degen Operators (DRAFT)
        • Decentralized Telescope (DRAFT)
      • Chain Sync (AVAX) (draft)
  • Ethereum Guides
    • 📗Staking Pool HandBook
      • Initiating a Customizable Staking Pool
      • Managing Your Operator Set
      • Changing Your Pool's Owner
      • Manage Your Maintenance Fee
      • Private Pools and Whitelisting
      • Using a Bound Liquidity Pool
      • Using Maintainers for Your Pool
      • Securing Your Withdrawal Contract
      • Decentralizing Your Pool
    • 📕Operator Handbook
      • Get Onboarded
      • Initiating an Operator
      • Communicating with Portal
      • Creating Validators
      • Changing an Operator's Owner
      • Switching Your Fee
      • Switching Your Validator Period
      • Using Maintainers
      • Optimizing Your Revenue
      • Exiting Validators
    • 📘Liquidity Pool HandBook
  • Avalanche Guides
    • Staking Pool Handbook
    • Operator Handbook
  • Developers
    • Networks
    • Live Contracts
      • Avalanche v1
      • Ethereum v2
        • gETH.sol
        • Portal.sol
          • globals.sol
          • DataStoreUtilsLib.sol
          • GeodeUtilsLib.sol
          • DepositContractUtilsLib.sol
          • OracleUtilsLib.sol
          • StakeUtilsLib.sol
        • Swap.sol
          • AmplificationUtils.sol
          • MathUtils.sol
          • SwapUtils.sol
          • LPToken.sol
        • WithdrawalContract.sol
        • Interfaces
          • ERC20InterfaceUpgaradable.sol
          • ERC20InterfacePermitUpgradable.sol
    • Audits
    • Bug Bounties
Powered by GitBook
On this page
  • Operator ID
  • Initiate Your Operator!
  1. Ethereum Guides
  2. Operator Handbook

Initiating an Operator

PreviousGet OnboardedNextCommunicating with Portal

Last updated 2 years ago

Operator ID

Every Operator has a unique ID.

This ID will be used to distinguish you from other entities within Geode.

// 4? the TYPE parameter that defines Operators
const type_operator = 4; 
const pool_ID = Portal.generateId(operator_name, type_operator);

Want to see all the IDs of a type?

const type_operator = 4; 
const type_pool = 5; 
const allIds= Portal.allIdsByType(_type, index);
// index = [0,n] : probably stop calling when you see uint256(0)

What are Maintainers?

Maintainers are useful to automate an operator's daily tasks, such as creating validators!

Initiate Your Operator!

You can totally do this from if you want.

Portal uses an initiator function to set some parameters for your unique ID.

You can send some Ether on initiation! It will be added to your internal wallet.

Internal wallet will come handy on validator creation. Don't worry, you can take it out later.

// EDIT THESE
const fee = 5; // 5%, [0, 10]
const validatorPeriod = 180; // 180 days, [90, 1825]
const maintainer_address= <your_address_here>;
const initial_wallet = 5e18; // you might use Bignumber.js for this one

// KEEP THESE
const denominator = 10**10;
const dayToSecond = 86400;

await Portal.initiateOperator(
    id,
    Math.floor((fee * denominator) / 100),
    validatorPeriod * 86400,
    maintainer_address,
    {value: initial_wallet }
);
  1. ID: your operator ID

  2. FEE: Maintenance fee that will be charged from validator rewards, block rewards, and MEV rewards. 10^10 represents 100%, can be set to up to 10% (10^9). Can be changed later.

  3. Validator Period: Every validator has an expiration date. Should be between 90 - 1825 days, given in seconds. Can be changed later.

  4. Maintainer: Your automation script's address. Can be changed later.

📕
⛏️Maintainers
Etherscan