Skip to content

[Feature Request]: Clarify naming and documentation for the two distinct Go client packages to reduce developer confusion #4682

@gbarros

Description

@gbarros

Implementation ideas

Problem Description

The Celestia node repository currently exports two distinct Go client packages that are both commonly referred to as the "Celestia Go client," creating significant confusion for developers and hindering adoption:

  1. api/client - A high-level, application-focused client for blob submission and simplified DA operations
  2. api/rpc/client - A low-level RPC client providing direct access to all node APIs

This naming ambiguity leads to:

  • Developer confusion when choosing the right client for their use case
  • Documentation fragmentation with unclear guidance on which client to use
  • Confusing search results when developers look for client documentation
  • Adoption barriers as developers struggle to understand the ecosystem
  • Support overhead with repeated questions about client differences
  • Poor developer experience during onboarding
  • Unclear integration guides when referencing "the Celestia Go client"

Proposed Solution

We propose renaming the client packages to have distinct, descriptive names that clearly indicate their intended purpose:

Suggested Renamings

  • Rename api/clientcelestia-sdk, celestia-app-client, or similar descriptive name
  • Rename api/rpc/clientcelestia-rpc-client, celestia-node-client, or similar descriptive name
  • Add a README.md file to api/rpc/client explaining its purpose and use cases

Developer Relations Follow-up

Once renamed, we will:

  • Update all documentation to use the new distinct names
  • Create guides explaining when to use each client
  • Ensure consistent naming across all tutorials and examples

The goal is not to deprecate either client, but to make their distinct purposes crystal clear to developers at all levels.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestexternalIssues created by non node team membersgood first issueGood for newcomers

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions