Liquid Collective ETH
Liquid Collective DocsGithub
  • ETH Liquid Staking Documentation
  • Overview
    • Roles & Staking Infrastructure
    • Architecture
    • Staking Amounts
    • Slashing Coverage
    • Permissioning
    • Protocol Metadata
  • Tokenomics
    • LsETH (cToken)
    • Rewards, Fees, & Socialization
    • Deposits & Redemptions
  • Node Operations
    • Validator Infrastructure
    • Operate Validator Nodes
  • Oracles
    • Oracle Infrastructure
    • Operate an Oracle
  • Platforms
    • Platform Operations
  • 💻Technical Reference
    • Deployment Addresses
    • Smart Contracts
      • RiverV1
      • RedeemManagerV1
      • CoverageFundV1
      • TLCV1
      • ELFeeRecipientV1
      • Administrable
      • AllowlistV1
      • Firewall
      • WithdrawV1
      • WLSETHV1
      • Initializable
      • OperatorsRegistryV1
      • TUPProxy
      • OracleV1
      • ProtocolMetrics
      • Components
        • OracleManagerV1
        • SharesManagerV1
        • ERC20VestableVotesUpgradeableV1
        • ConsensusLayerDepositManagerV1
        • UserDepositManagerV1
      • Interfaces
        • IFirewall
        • IAllowlistV1
        • IAdministrable
        • IConsensusLayerDepositManagerV1
        • IRedeemManagerV1
        • IOracleManagerV1
        • ISharesManagerV1
        • IUserDepositManagerV1
        • IERC20VestableVotesUpgradeableV1
        • IOperatorsRegistryV1
        • IOracleV1
        • ITLCV1
        • IWLSETHV1
        • IWithdrawV1
        • IRiverV1
        • ICoverageFundV1
        • IDepositContract
        • IELFeeRecipientV1
        • IProtocolVersion
      • Libraries
        • LibBytes
        • LibErrors
        • LibBasisPoints
        • LibSanitize
        • LibAdministrable
        • LibUnstructuredStorage
        • LibAllowlistMasks
        • LibUint256
      • 🌊State
        • OperatorsRegistry
          • OperatorsV2
          • CurrentValidatorExitsDemand
          • ValidatorKeys
          • TotalValidatorExitsRequested
        • AllowList
          • AllowerAddress
          • DenierAddress
          • Allowlist
        • Oracle
          • LastEpochId
          • OracleMembers
          • Quorum
          • ReportsPositions
          • ReportsVariants
        • RedeemManager
          • BufferedExceedingEth
          • RedeemDemand
          • RedeemQueueV2
          • WithdrawalStack
        • River
          • AllowlistAddress
          • BalanceToDeposit
          • BalanceToRedeem
          • CLSpec
          • CLValidatorCount
          • CLValidatorTotalBalance
          • CollectorAddress
          • CommittedBalance
          • CoverageFundAddress
          • DailyCommittableLimits
          • DepositContractAddress
          • DepositedValidatorCount
          • ELFeeRecipientAddress
          • GlobalFee
          • KeeperAddress
          • LastConsensusLayerReport
          • LastOracleRoundId
          • MetadataURI
          • OperatorsRegistryAddress
          • OracleAddress
          • RedeemManagerAddress
          • ReportBounds
          • Shares
          • SharesPerOwner
          • WithdrawalCredentials
        • Shared
          • AdministratorAddress
          • ApprovalsPerOwner
          • PendingAdministratorAddress
          • RiverAddress
          • Version
        • SlashingCoverage
          • BalanceForCoverage
        • TLC
          • IgnoreGlobalUnlockSchedule
          • VestingSchedulesV2
        • WLSETH
          • BalanceOf
    • CLI
      • operators
        • operators count
        • operators add
        • operators get
        • operators list
      • validators
        • validators count
        • validators add
        • validators remove
        • validators get
      • oracle
        • oracle specs
        • oracle report
          • oracle status
        • oracle quorum
        • oracle members
          • oracle list
        • oracle epochs
          • oracle epochs current
          • oracle epochs last-completed
          • oracle epochs expected
        • oracle current-frame
        • oracle run
      • eth1keys
        • eth1keys generate
        • eth1keys import
      • withdrawal
        • withdrawal address
        • withdrawal credentials
      • el-fee-recipient
        • el-fee-recipient address
      • allowlist
        • allowlist is-allowed
        • allowlist allow
        • allowlist remove
      • eth-cl
        • eth-cl get-spec
        • eth-cl get-validator
      • eth-el
        • eth-el blocknumber
        • eth-el chain-id
  • FAQ
Powered by GitBook
On this page
  • Options
  • Options inherited from parent commands
  • Example Usage
  • Signing with encrypted geth keystore
  • Signing with AWS KMS ECDSA key
  • SEE ALSO
Export as PDF
  1. Technical Reference
  2. CLI
  3. validators

validators add

lceth validators add [flags]

Options

  -o, --operator-idx int       Required operator index on OperatorRegistry contract
  -d, --deposit-data string    JSON deposit data file listing validator keys to be added
  -i, --deposit-input string   Hex input of deposit transaction listing validator keys to be added
      --from address           Optional account used to sign the transaction.
                               Expects an 0x prefixed Ethereum address (default 0x0000000000000000000000000000000000000000)
  -n, --nonce bigInt           Optional nonce to use for the transaction, if not set then use pending nonce.
                               Expects either a decimal or an hex encoded value with 0x prefix
  -v, --value bigInt           Optional funds to transfer along the transaction in Wei, if not set then no funds are transferred
                               Expects either a decimal or an hex encoded value with 0x prefix (default 0x0)
  -p, --gas-price bigInt       Optional gas price to use for the transaction execution in Wei. If not set then uses gas price oracle
                               Expects either a decimal or an hex encoded value with 0x prefix
  -f, --gas-fee-cap bigInt     Optional gas fee cap to use for the EIP-1559 transaction execution in Wei. If not set then uses gas price oracle
                               Expects either a decimal or an hex encoded value with 0x prefix
  -t, --gas-tip-cap bigInt     Optional gas priority tip fee cap to use for the EIP-1559 transaction execution in Wei. If not set then uses gas price oracle
                               Expects either a decimal or an hex encoded value with 0x prefix
  -l, --gas-limit uint         Optional gas limit to set for the transaction execution. If not set then estimate gas
                               Expects either a decimal or an hex encoded value with 0x prefix
      --send                   If set then performs all transaction steps and send the transaction to the network
      --no-sign                If set then performs all transaction steps and stop before signing the transaction
  -h, --help                   help for add

Options inherited from parent commands

      --allowlist-addr string            Address of the Allowlist contract [env: ALLOWLIST_ADDR]
      --beacon-deployment-block string   deployment block beacon deposit contract [env: BEACON_DEPLOYMENT_BLOCK]
      --beacon-deposit-addr string       Address of the Beacon Deposit contract [env: BEACON_DEPOSIT_ADDR]
      --deployment-block uint            Deployment block of the contracts [env: DEPLOYMENT_BLOCK]
      --el-fee-recipient-addr string     Address of the Execution Layer fee recipient contract [env: EL_FEE_RECIPIENT_ADDR]
      --eth-el-addr string               JSON-RPC address of the Ethereum execution layer node to connect to [env: ETH_EL_ADDR]
      --healthz-addr string              healthz entrypoint address:port [env: HEALTHZ_ADDR] (default ":8081")
      --keystore-password string         Password used to encrypt key files [env: KEYSTORE_PASSWORD]
      --keystore-path string             Directory where to store keys [env: KEYSTORE_PATH]
      --kms-key-id string                KMS key ID used to sign and submit transactions [env: KMS_KEY_ID]
      --log-format string                Log output format (text or json) [env: LOG_FORMAT] (default "text")
      --log-level string                 Log output level [env: LOG_LEVEL] (default "info")
      --operators-registry-addr string   Address of the Operators Registry contract [env: OPERATORS_REGISTRY_ADDR]
      --oracle-addr string               Address of the Oracle contract [env: ORACLE_ADDR]
      --redeem-manager-addr string       Address of the RedeemManager contract [env: REDEEM_MANAGER_ADDR]
      --river-addr string                Address of the River contract [env: RIVER_ADDR]
      --server-addr string               Server entrypoint address:port [env: SERVER_ADDR] (default ":8080")
      --tlc-addr string                  Address of the TLC contract [env: TLC_ADDR]
      --withdraw-addr string             Address of the Withdraw contract [env: WITHDRAW_ADDR]
      --wls-eth-addr string              Address of the WlsEth contract [env: WLSETH_ADDR]

Example Usage

Signing with encrypted geth keystore

% lceth validators add --operator-idx 0
--deposit-data ~/Downloads/deposit-data.json
--from 0x24f3b2bc10e59c6c2fb4cd1e706e51b977cf4754
--operators-registry-addr 0xAF73C9D8Eb11F54930746e1fC0E68ca3574AE485
--river-addr 0x4558cffD081638E8E791C4183b77d6Fe80E7dF4c
--withdraw-addr 0xd22445dFeB2e394d097DbfBa94270d1E0868d5AE
--redeem-manager-addr 0x33993476440bE94Ef664a7069cd52b928168f053
--oracle-addr 0xdc9fA1e97FF3c097EE47141517479E344f21d1Fc
--el-fee-recipient-addr 0xC26615450c5B81b73D59fE00CCACF47f4C364BC2
--beacon-deposit-addr 0x4242424242424242424242424242424242424242
--deployment-block 2439806
--block-log-fetch-step 10000
--eth-el-addr <ETH_RPC_URL>
--keystore-password <PASSWORD>
--keystore-path ./data/keystore/
--skip-check-duplicates
--send
INFO[0000] initialization succeeded                      addr.allowlist=0x1C8d258846f5e3EaCC0885AD265Fb505c69B600f addr.beacon-deposit=0x4242424242424242424242424242424242424242 addr.el-fee-recipient=0xC26615450c5B81b73D59fE00CCACF47f4C364BC2 addr.operators-registry=0xAF73C9D8Eb11F54930746e1fC0E68ca3574AE485 addr.oracle=0xdc9fA1e97FF3c097EE47141517479E344f21d1Fc addr.river=0x4558cffD081638E8E791C4183b77d6Fe80E7dF4c addr.tlc=0x0000000000000000000000000000000000000000 addr.withdraw=0xd22445dFeB2e394d097DbfBa94270d1E0868d5AE addr.wlseth=0x21ae523bf67C81c8e4F640d8f76F9c7B77eCc0bf beacon-deployment.block=0 chain.id=17000 deployment.block=2439806
INFO[0000] configuring geth keystore                     keystore-path=./data/keystore/
INFO[0000] set signer address                            address=0x24f3b2BC10E59C6c2Fb4CD1e706e51B977CF4754
INFO[0000] reading deposit data file                     file=/Users/alexandermackay/Downloads/deposit-data.json version=v0.30.0-6-ga1a1339
INFO[0000] found deposit data                            keys=2 version=v0.30.0-6-ga1a1339
INFO[0000] adding 2 validators in 1 txs                  version=v0.30.0-6-ga1a1339
INFO[0000] creating tx 1/1 with 2 validators             version=v0.30.0-6-ga1a1339
INFO[0000] validate deposit data...                      expected.amount=32000000000 expected.fork_version=0x01017000 expected.withdrawal_credentials=0x010000000000000000000000d22445dfeb2e394d097dbfba94270d1e0868d5ae
INFO[0000] valid deposit data
INFO[0001] tx 1/1 sent                                   tx_hash=0xda143c3f1a90b4455e2913c2195eebfba53eadf9f90202116ab2bee51df2d55b version=v0.30.0-6-ga1a1339
INFO[0006] waiting for tx 1/1 to be confirmed            timeElapsed=5.00078575s tx_hash=0xda143c3f1a90b4455e2913c2195eebfba53eadf9f90202116ab2bee51df2d55b version=v0.30.0-6-ga1a1339
INFO[0006] tx 1/1 confirmed successfully                 tx_hash=0xda143c3f1a90b4455e2913c2195eebfba53eadf9f90202116ab2bee51df2d55b version=v0.30.0-6-ga1a1339

https://holesky.etherscan.io/tx/0xda143c3f1a90b4455e2913c2195eebfba53eadf9f90202116ab2bee51df2d55b

Signing with AWS KMS ECDSA key

% lceth validators add --operator-idx 0
--deposit-data ~/Downloads/deposit-data.json
--from 0x348d29b8bfa00ee5d62aa8d4205d72bad1c3cb7c
--operators-registry-addr 0xAF73C9D8Eb11F54930746e1fC0E68ca3574AE485
--river-addr 0x4558cffD081638E8E791C4183b77d6Fe80E7dF4c
--withdraw-addr 0xd22445dFeB2e394d097DbfBa94270d1E0868d5AE
--redeem-manager-addr 0x33993476440bE94Ef664a7069cd52b928168f053
--oracle-addr 0xdc9fA1e97FF3c097EE47141517479E344f21d1Fc
--el-fee-recipient-addr 0xC26615450c5B81b73D59fE00CCACF47f4C364BC2
--beacon-deposit-addr 0x4242424242424242424242424242424242424242
--deployment-block 2439806
--block-log-fetch-step 10000
--eth-el-addr <ETH_RPC_URL>
--kms-key-id <KMS_KEY_ID>
--skip-check-duplicates
--send

SEE ALSO

Previousvalidators countNextvalidators remove

Last updated 2 months ago

- Methods to manage validators on OperatorsRegistry contract

💻
lceth validators