ObolNetwork / ObolNetwork/charon

charon get command

Open
#2,962 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature protocol
Dominant language
Go
Stars
222
Forks
138
Avg merge
2d 6h
Merged PRs (30d)
35

Description

🎯 Problem to be solved

We want to return information to the charon node operator about the running cluster in a manner easier than opening the cluster-lock.json. This will become more important as we move to mutable cluster state and have a no longer human readable data file.

We need to develop getters for key lock file information. Ideally, it can be supplemented with access to a CL (and maybe one day an EL) to provide additional information and filtration.

🛠️ Proposed solution

  • Approved design doc: TODO, notes below for now
  • Core team consensus on the proposed solution

Describe the solution to be implemented

[Wishlist first draft]

  • charon get operators
    • lists the operators (in a table?) based on what we have, either ENRs, addresses, peer index
    • If possible, the adjective-noun names we derive for those ENRs.
    • (Low priority future expansion, if we want to ENS resolve them provided an rpc address)
  • charon get validators
    • pubkey
    • fee recipient
    • [requires not split keys] withdrawal address
    • [requires CL] state
    • [requires EL, low priority future add-on] address balances
  • charon info (?)
    • Neat summary of full cluster details? (in a manner that could describe e.g. a 1k key cluster)

Open questions

  • Should we make a get operator <id> or stick to the plurals for now, and only add commands that summarise all operators? same for get validator(s)

🧪 Tests

  • Tested by new automated unit/integration/smoke tests
  • Manually tested on core team/canary/test clusters
  • Manually tested on local compose simnet

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by resolving the open design questions around charon get operators, charon get validators, and charon info, including singular versus plural commands and the information sources each command may use. Define what cluster and validator data must be displayed, then add automated unit, integration, or smoke tests and verify the commands manually on the listed cluster environments.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.