Skip to content

feat: add Stellar chain (mainnet + testnet) - #239

Closed
artemrootman wants to merge 1 commit into
mainfrom
arootman/add-stellar
Closed

feat: add Stellar chain (mainnet + testnet)#239
artemrootman wants to merge 1 commit into
mainfrom
arootman/add-stellar

Conversation

@artemrootman

Copy link
Copy Markdown
Contributor

Adds the Stellar protocol entry (type: stellar) with mainnet and testnet, ahead of stellar-rpc (Soroban RPC) family support in nodecore.

  • chain-id holds the canonical network passphrase — the exact string getNetwork returns, which upstream validation compares (Public Global Stellar Network ; September 2015 / Test SDF Network ; September 2015, both verified against live stellar-rpc 27.1.1 nodes).
  • grpcId 1169 / 10204 — next free ids in each range; no emerald ChainRef is planned for now (HTTP RPC only), the ids just satisfy the registry schema.
  • expected-block-time: 5s (~5-6s ledger close), validate-peers: false (stellar-rpc exposes no peer count).

artemrootman added a commit to drpcorg/nodecore that referenced this pull request Jul 20, 2026
Also bumps the public registry submodule to the stellar chain entry
(drpcorg/public#239).
artemrootman added a commit to drpcorg/nodecore that referenced this pull request Jul 20, 2026
The first family with no dshackle surface to inherit - stellar was never
actually served by dshackle (dead include-list entry); the method spec is
the complete 12-method stellar-rpc (soroban-rpc) JSON-RPC API.

- stellar_specific: poll head via getLatestLedger (SCP finality - ledgers
  are final on close, no reorgs).
- stellar_validations: chain validation by getNetwork passphrase (the
  registry chain-ids ARE the network passphrases; compare is EqualFold
  because the registry loader lowercases chain-ids globally) and getHealth
  health mapping - the node polices its own >30s head staleness, data-store
  bootstrap maps to Syncing.
- stellar_labels: stellar-rpc + version truncated at the commit suffix.
- stellar_bounds: retention-window bounds from getHealth.oldestLedger as
  BLOCK+TX (no STATE - stellar-rpc has no historical state at all).
- registry: Stellar BlockchainType + factory case + method-spec name;
  chains.yaml entries come from the drpcorg/public submodule bump
  (drpcorg/public#239).
artemrootman added a commit to drpcorg/nodecore that referenced this pull request Jul 20, 2026
Also bumps the public registry submodule to the stellar chain entry
(drpcorg/public#239).
artemrootman added a commit to drpcorg/nodecore that referenced this pull request Jul 20, 2026
The first family with no dshackle surface to inherit - stellar was never
actually served by dshackle (dead include-list entry); the method spec is
the complete 12-method stellar-rpc (soroban-rpc) JSON-RPC API.

- stellar_specific: poll head via getLatestLedger (SCP finality - ledgers
  are final on close, no reorgs).
- stellar_validations: chain validation by getNetwork passphrase (the
  registry chain-ids ARE the network passphrases; compare is EqualFold
  because the registry loader lowercases chain-ids globally) and getHealth
  health mapping - the node polices its own >30s head staleness, data-store
  bootstrap maps to Syncing.
- stellar_labels: stellar-rpc + version truncated at the commit suffix.
- stellar_bounds: retention-window bounds from getHealth.oldestLedger as
  BLOCK+TX (no STATE - stellar-rpc has no historical state at all).
- registry: Stellar BlockchainType + factory case + method-spec name;
  chains.yaml entries come from the drpcorg/public submodule bump
  (drpcorg/public#239).
artemrootman added a commit to drpcorg/nodecore that referenced this pull request Jul 20, 2026
Also bumps the public registry submodule to the stellar chain entry
(drpcorg/public#239).
artemrootman added a commit to drpcorg/nodecore that referenced this pull request Jul 20, 2026
The first family with no dshackle surface to inherit - stellar was never
actually served by dshackle (dead include-list entry); the method spec is
the complete 12-method stellar-rpc (soroban-rpc) JSON-RPC API.

- stellar_specific: poll head via getLatestLedger (SCP finality - ledgers
  are final on close, no reorgs).
- stellar_validations: chain validation by getNetwork passphrase (the
  registry chain-ids ARE the network passphrases; compare is EqualFold
  because the registry loader lowercases chain-ids globally) and getHealth
  health mapping - the node polices its own >30s head staleness, data-store
  bootstrap maps to Syncing.
- stellar_labels: stellar-rpc + version truncated at the commit suffix.
- stellar_bounds: retention-window bounds from getHealth.oldestLedger as
  BLOCK+TX (no STATE - stellar-rpc has no historical state at all).
- registry: Stellar BlockchainType + factory case + method-spec name;
  chains.yaml entries come from the drpcorg/public submodule bump
  (drpcorg/public#239).
artemrootman added a commit to drpcorg/nodecore that referenced this pull request Jul 20, 2026
Also bumps the public registry submodule to the stellar chain entry
(drpcorg/public#239).
artemrootman added a commit to drpcorg/nodecore that referenced this pull request Jul 20, 2026
The first family with no dshackle surface to inherit - stellar was never
actually served by dshackle (dead include-list entry); the method spec is
the complete 12-method stellar-rpc (soroban-rpc) JSON-RPC API.

- stellar_specific: poll head via getLatestLedger (SCP finality - ledgers
  are final on close, no reorgs).
- stellar_validations: chain validation by getNetwork passphrase (the
  registry chain-ids ARE the network passphrases; compare is EqualFold
  because the registry loader lowercases chain-ids globally) and getHealth
  health mapping - the node polices its own >30s head staleness, data-store
  bootstrap maps to Syncing.
- stellar_labels: stellar-rpc + version truncated at the commit suffix.
- stellar_bounds: retention-window bounds from getHealth.oldestLedger as
  BLOCK+TX (no STATE - stellar-rpc has no historical state at all).
- registry: Stellar BlockchainType + factory case + method-spec name;
  chains.yaml entries come from the drpcorg/public submodule bump
  (drpcorg/public#239).
@KirillPamPam

Copy link
Copy Markdown
Contributor

Closed, added #248

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.

2 participants