Skip to content

[Enhancement] Health check: Switch from indexer to node endpoints for BTC and DOGE #926

@adamantmm

Description

@adamantmm

Summary

It’s preferred to use Node endpoints as much as possible instead of Indexer endpoints

Motivation

Nodes are the primary and most reliable source of blockchain data.
Indexers provide additional convenience but introduce extra layers of complexity, dependencies, and potential points of failure.

By preferring Node endpoints over Indexers:

  • We ensure higher reliability and trustworthiness of data
  • We reduce dependency on third-party services
  • We improve system resilience (transactions and balances should not depend on Indexer availability)
  • Separate Health-check

Indexers should only be used where their added value is essential — for example, fetching wallet transaction history efficiently.

Detailed description

ADAMANT has nodes and blockchain services/indexers for ETH, BTC and DOGE.

Checklist:

  • Perform separate health checks for Nodes and Indexers. Add ETH, BTC, DOGE indexers to Health check & Coin and service node list. Use services.ethIndexer constant from adamant-wallets.
  • Use suffixes (displayName like "eth-indexer") from adamant-wallets in the nodes/services screens
  • Use Nodes whenever possible since they are more reliable (e.g., for sending transactions)
  • Use Indexer endpoints only for fetching wallet transaction history
  • Test sending Taproot BTC tx via Node but not Indexer (Add Issue link here and connect Issues)

DASH, while it's BTC-based, is not affected, as it has built-in indexer in the node itself, no separate indexer software.

Screenshots or videos

Nodes (PWA):

Image

Services (PWA):

Image

Alternatives

Same Issue for PWA: Adamant-im/adamant-im#901

Proposed technical implementation

Endpoints:

Metadata

Metadata

Assignees

No one assigned

    Labels

    APIsAPI design, endpoints, and integrationsIntegrationIntegration with external blockchains, services, or APIsNodesADM node software issues, APIs, connectivity, consensusSwiftiOS-specific code and features in SwiftenhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions