Tranchess Docs
Website
  • ♟️Welcome to Tranchess
  • FAQ
    • 🎯Turbo and Stable
      • QUEEN
      • Turbo
      • Stable
      • Swap and LPs
      • Upon maturity
      • Staked ETH Yield Enhancement
        • Primary Market
          • turYETH and staYETH (Turbo and Stable)
        • Swap
    • ⚓Asset-Tracking and Liquid Staking
      • General
        • Create & Redeem
      • Liquid Staking
        • Liquid Staking - Ethereum
        • BNB Fund
      • Instant Swap
        • Instant Swap - Ethereum
        • Instant Swap - BNB Chain
        • Tranchess Swap (V1)
      • Rebalance
        • History Rebalance Record
    • CHESS
    • veChess
    • Governance
    • Roadmap
      • Milestone Timeline
    • Media Kit
  • Product Retirement Tracker
    • Intro: Transition Updates
    • Timeline & Milestones
    • User Guides
  • Tech Support
    • Protocol Overview
      • Fund
      • Primary Market
      • PrimaryMarket Router
      • StableSwap Router
      • Node Operator Registry
      • Governance & Crosschain
    • Node Operator
      • The Mechanics of qETH
        • An example for Node Operators
      • Node Operator Manual
        • Functions to Read Node Operator Information
    • Contracts
      • Tranchess on Scroll
      • Tranchess on Ethereum
      • Tranchess on BNB Chain
      • [Archive]Tranchess V1 Contracts
  • Whitepaper
    • DISCLAIMERS
  • Links
  • Tranchess
  • Governance Forum
  • GitHub
  • Medium
  • Twitter
  • Discord
  • Telegram
  • TranchessWiki
  • Bug Bounty
Powered by GitBook
On this page
  • Steps to become a Tranchess node operator
  • Steps to batch remove unused validators

Was this helpful?

  1. Tech Support
  2. Node Operator

Node Operator Manual

Step-by-step guide for Node Operators

PreviousAn example for Node OperatorsNextFunctions to Read Node Operator Information

Last updated 1 year ago

Was this helpful?

Steps to become a Tranchess node operator

  1. Provide Tranchess team with a name for display, and an address operatorOwner for operator registration. Note that operatorOwner holds the admin role for most properties of a registered node operator. Please properly secure the access. We recommend leveraging hardware wallets like Ledger to keep its private key.

  2. Wait for the Tranchess team to register you in the smart contract. Once registered, you are assigned with a unique id, withdrawalCredential and withdrawalAddress

    • id is your node operator ID, which could help you look up all relevant data on profile through the NodeOperatorRegistry contract deployed at

    • withdrawalCredential is required for generating the signature in Step 3

    • withdrawalAddress is required for configuring beacon chain validators in Step 5

  3. Generate pubkey and signature for a few validators

    • Use 32 ETH as the deposit amount

    • Use the withdrawalCredential in the previous step

    • 10 validators are enough to start

    • All validators’ pubkey and signature can be found in the generated deposit data JSON file

  4. Navigate to . Drag and drop the generated deposit data JSON file to the right column. The tool is designed to conduct several sanity checks such as key lengths and duplicates. If all looks good, click the “Add Keys” button to initiate the addKeys transaction. (You can also manually assemble the transaction. Please refer to the specific operation in the "Alternative Step 4" section below.)

Alternative Step 4

Pack pubkey and signature into bytes arrays and submit them to the registry contract using the addKeys method:

  1. Navigate to the “Write Contract” tab:

  2. Click ”Connect to Web3” and connect your operator owner address

  3. Expand the first function addKeys and fill in the parameters as follows

    1. id: Node operator ID

    2. pubkeys: Concatenate all pubkeys and add a “0x” prefix

    3. signatures: Concatenate all signatures and add a “0x” prefix

  4. Optionally, you could send the encoded pubkeys and signatures to Tranchess team in advance so that we could verify the submission before you sign any transaction

  5. Click the “Write” button and sign the transaction

function addKeys(uint256 id, bytes calldata pubkeys, bytes calldata signatures)

6. As the operatorOwner, you could now lift up the depositLimit:

  1. Click ”Connect to Web3” and connect your operator owner address (if you haven’t done so)

  2. Expand the 7th function updateDepositLimit:

    1. id: Node operator ID

    2. newDepositLimit: The new maximal number of active validators assigned. We recommend it to be the current total number of validator keys, but it could go beyond the current total validator keys.

  3. Click the “Write” button and sign the transaction

function updateDepositLimit(uint256 id, uint64 newDepositLimit)

7. Optionally, you could also update the rewardAddress, which will receive operator fee in the future. By default, it is the same as operatorOwner.

function updateRewardAddress(uint256 id, address newRewardAddress)

Steps to batch remove unused validators

In rare occasions when signature verification failed for newly added keys or when withdrawal credentials got an update, the Tranchess team will send out a notification for the corresponding operator to truncate all used keys

  1. Coordinate with Tranchess team to find out the keys that will be removed;

  2. Invoke truncateUnusedKeys to truncate all unused keys.

function truncateUnusedKeys(uint256 id) external

5. Configure the execution layer fee recipient of the validators to withdrawalAddress (see your validator’s doc for more info about fee recipient, e.g. and ). Make sure that the validator node has already gone live, since the validator key assignments could happen any minute following Step 6.

Navigate to the “Write Contract” tab:

https://etherscan.io/address/0xE926F01953c3B94222FcAC7474b31e3F8eAfb308
Tranchess Operator Portal
https://etherscan.io/address/0xE926F01953c3B94222FcAC7474b31e3F8eAfb308#writeContract
Prysm Doc
Lighthouse Doc
https://etherscan.io/address/0xE926F01953c3B94222FcAC7474b31e3F8eAfb308#writeContract