Skip to content

Product Overview

Adi Seredinschi edited this page Dec 5, 2022 · 20 revisions

Why

We build Hermes towards fulfilling Informal's Vision of creating a secure, sustainable and scalable Interchain serviced by the Cosmos Hub. Our contribution is towards solving the problem that existing infrastructure is fragile and cannot support 10x growth in networks or traffic.

What

Hermes is an IBC relayer. It is a central element of our mandate to build and operate robust node and relaying software to power the Interchain. The functionality consists of production-grade relaying software serving the full suite of IBC protocol standards, among them:

  • ICS07 (Tendermint light client)
  • ICS20 (Fungible Token Transfer)
  • ICS27 (Interchain Accounts)
  • ICS28 (Cross-Chain Validation)
  • ICS29 (Relayer Incentivisation Mechanism)

How

  • Architecture: For a high-level architectural description, see architecture.md.

    • We use Architecture Decision Records (ADRs) to track major decisions on how the Hermes software is evolving. See here all our ADRs.
  • Contributor guideline: contributing.md

  • QA: Our testing regimen comprises 2 levels:

    1. We have integration tests covering various network binaries and with numerous test cases: https://github.com/informalsystems/hermes/tree/master/tools/test-framework
    2. We actively provide support to networks who test with Hermes in their CI/CD, for example Gaia E2E tests or Osmosis E2E tests.
  • Security: There are no established security practices specifically for Hermes. Please direct your security reports to the IBC-go repository or see the "Who" section below.

    • Note: The disclosure log documents problems we have uncovered while specifying and implementing Hermes. Some of the cases recorded there might have been fixed.

Who

  • If you are a developer:
    • For feature requests or submitting a bug, we actively maintain and triage the issues in this repository, so that would be the best place.
    • The present Wiki and the Discussions in this repository are a place to start if you're looking for development help.
  • If you are a Hermes user:
    • Please find a community of Hermes users on the IBC Gang Discord server here.
  • For general inquiries with Informal

Product owner: Adi Seredinschi @adizere.

Tech debt

  • WIP

Onboarding material

  • WIP
Clone this wiki locally