Skip to content

[SEPARATION] SubscribeNodeGroupStatus: per-node-group chain status - #275

Open
l0gun0v wants to merge 1 commit into
mainfrom
separation-node-group-status
Open

l0gun0v wants to merge 1 commit into
mainfrom
separation-node-group-status

Conversation

@l0gun0v

@l0gun0v l0gun0v commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Part of the SEPARATION stack (DRPCPROT-603). The protos moved here from emerald-grpc in #2873's counterpart, so the RPC the stack needs now has to be added in this repo.

What

  • proto/blockchain.proto: new rpc SubscribeNodeGroupStatus (SubscribeNodeGroupStatusRequest) returns (stream SubscribeChainStatusResponse) plus node_group_id on ChainDescription.
  • pkg/dshackle: regenerated.

SubscribeChainStatus is untouched — the merged per-network view keeps its current shape, and node_group_id is always empty there.

Generation

Regenerated with the toolchain the committed files were produced with — protoc 36.1, protoc-gen-go v1.36.12, protoc-gen-go-grpc v1.6.1 — verified by regenerating without the proto change first and getting a zero diff. So everything outside the new RPC/field is rawDesc reflow, not a toolchain bump.

Stack

Both bump github.com/drpcorg/public to this branch until it merges.

A dedicated RPC streams ChainDescription events per node group, tagged with
node_group_id; SubscribeChainStatus keeps the merged view and is untouched.

Generated with the pinned toolchain (protoc 36.1, protoc-gen-go v1.36.12,
protoc-gen-go-grpc v1.6.1), so the rest of pkg/dshackle is unchanged.
l0gun0v pushed a commit to drpcorg/nodecore that referenced this pull request Sep 21, 2026
main moved the generated protos out of the repo (submodules removed, now
github.com/drpcorg/public/pkg/dshackle), so the pb.go edits this branch
carried are dropped and the new RPC comes from public instead - pinned to
the branch of drpcorg/public#275 until that merges.

Conflict resolution in internal/upstreams:
- BaseChainSupervisor -> GenericChainSupervisor rename applied to the group
  code this branch adds.
- main's stricter processSubMethods (a sub method must be supported by some
  upstream, and either be a grpc server stream or have WsCap) replaces the
  older copy this branch had moved into chain_supervisor_state.go, so group
  states get the same rule as the merged view.
@l0gun0v
l0gun0v marked this pull request as ready for review September 24, 2026 08:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant