{"id":13634724,"url":"https://github.com/hyperlane-xyz/hyperlane-monorepo","last_synced_at":"2026-06-05T05:03:10.358Z","repository":{"id":311992481,"uuid":"437973582","full_name":"hyperlane-xyz/hyperlane-monorepo","owner":"hyperlane-xyz","description":"The home for Hyperlane core contracts, sdk packages, and other infrastructure","archived":false,"fork":false,"pushed_at":"2026-06-02T07:54:02.000Z","size":172987,"stargazers_count":61,"open_issues_count":863,"forks_count":594,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-06-02T09:22:14.333Z","etag":null,"topics":["blockchain","hyperlane","interchain","monorepo"],"latest_commit_sha":null,"homepage":"https://hyperlane.xyz","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyperlane-xyz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":"funding.json","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{}},"created_at":"2021-12-13T18:00:08.000Z","updated_at":"2026-05-30T16:02:07.000Z","dependencies_parsed_at":"2025-08-28T06:48:57.317Z","dependency_job_id":"fb8a169f-a95e-4cdf-a219-9954d2ba25b9","html_url":"https://github.com/hyperlane-xyz/hyperlane-monorepo","commit_stats":null,"previous_names":["hyperlane-xyz/hyperlane-monorepo","abacus-network/abacus-monorepo"],"tags_count":1525,"template":false,"template_full_name":null,"purl":"pkg:github/hyperlane-xyz/hyperlane-monorepo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperlane-xyz%2Fhyperlane-monorepo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperlane-xyz%2Fhyperlane-monorepo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperlane-xyz%2Fhyperlane-monorepo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperlane-xyz%2Fhyperlane-monorepo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyperlane-xyz","download_url":"https://codeload.github.com/hyperlane-xyz/hyperlane-monorepo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperlane-xyz%2Fhyperlane-monorepo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33930322,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","hyperlane","interchain","monorepo"],"created_at":"2024-08-02T00:00:31.842Z","updated_at":"2026-06-05T05:03:10.340Z","avatar_url":"https://github.com/hyperlane-xyz.png","language":"TypeScript","funding_links":[],"categories":["Applications","Cross-Chain"],"sub_categories":["Blockchain"],"readme":"# Hyperlane\n\n[![GitHub Actions][gha-badge]][gha] [![codecov](https://codecov.io/gh/hyperlane-xyz/hyperlane-monorepo/branch/main/graph/badge.svg?token=APC7C3Q2GS)](https://codecov.io/gh/hyperlane-xyz/hyperlane-monorepo) [![Foundry][foundry-badge]][foundry] [![License: MIT][license-badge]][license]\n\n[gha]: https://github.com/hyperlane-xyz/hyperlane-monorepo/actions\n[gha-badge]: https://github.com/PaulRBerg/prb-math/actions/workflows/ci.yml/badge.svg\n[codecov-badge]: https://img.shields.io/codecov/c/github/hyperlane-xyz/hyperlane-monorepo\n[foundry]: https://getfoundry.sh/\n[foundry-badge]: https://img.shields.io/badge/Built%20with-Foundry-FFDB1C.svg\n[license]: https://www.apache.org/licenses/LICENSE-2.0\n[license-badge]: https://img.shields.io/badge/License-Apache-blue.svg\n\n## Versioning\n\nNote this is the branch for Hyperlane v3.\n\nV2 is deprecated in favor of V3. The code for V2 can be found in the [v2](https://github.com/hyperlane-xyz/hyperlane-monorepo/tree/v2) branch. For V1 code, refer to the [v1](https://github.com/hyperlane-xyz/hyperlane-monorepo/tree/v1) branch.\n\n## Overview\n\nHyperlane is an interchain messaging protocol that allows applications to communicate between blockchains.\n\nDevelopers can use Hyperlane to share state between blockchains, allowing them to build interchain applications that live natively across multiple chains.\n\nTo read more about interchain applications, how the protocol works, and how to integrate with Hyperlane, please see the [documentation](https://docs.hyperlane.xyz).\n\n## Working on Hyperlane\n\n### Prerequisites\n\n#### Install `jq`\n\nYou need `jq` installed on your machine. You can download it from [official page](https://jqlang.org/download/) or use a package manager of your choice.\n\n#### Install `gitleaks`\n\nYou need `gitleaks` installed on your machine. You can download it from [official page](https://github.com/gitleaks/gitleaks) or use a package manager of your choice.\n\n#### Install `typos`\n\n[typos](https://github.com/crate-ci/typos) is used for spell checking. Install it via your package manager:\n\n```bash\n# macOS\nbrew install typos-cli\n\n# or via cargo\ncargo install typos-cli --locked\n```\n\n#### Foundry\n\nFirst ensure you have Foundry installed on your machine.\n\nRun the following to install `foundryup`:\n\n```bash\ncurl -L https://foundry.paradigm.xyz | bash\n```\n\nThen run `foundryup` with the pinned version to install `forge`, `cast`, `anvil` and `chisel`.\n\n```bash\nfoundryup --install $(cat solidity/.foundryrc)\n```\n\nCheck out the [Foundry Book](https://getfoundry.sh/introduction/installation/) for more information.\n\n#### Node\n\nThis repository targets v24 of node. We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage your node version.\n\nTo install nvm\n\n```bash\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash\n```\n\nTo install version 24\n\n```bash\nnvm install 24\nnvm use 24\n```\n\nYou should change versions automatically with the `.nvmrc` file.\n\n### Workspaces\n\nThis monorepo uses [pnpm workspaces](https://pnpm.io/workspaces). Installing dependencies, building, testing, and running prettier for all packages can be done from the root directory of the repository.\n\n- Installing dependencies\n\n  ```bash\n  pnpm install\n  ```\n\n- Building\n\n  ```bash\n  pnpm build\n  ```\n\nIf you are using [VSCode](https://code.visualstudio.com/), you can launch the [multi-root workspace](https://code.visualstudio.com/docs/editor/multi-root-workspaces) with `code mono.code-workspace`, install the recommended workspace extensions, and use the editor settings.\n\n### Logging\n\nThe typescript tooling uses [Pino](https://github.com/pinojs/pino) based logging, which outputs structured JSON logs by default.\nThe verbosity level and style can be configured with environment variables:\n\n```sh\nLOG_LEVEL=DEBUG|INFO|WARN|ERROR|OFF\nLOG_FORMAT=PRETTY|JSON\n```\n\n### Rust\n\nSee [`rust/README.md`](rust/README.md)\n\n### Release Agents\n\n- Tag the commit with the current date in the format `agents-yyyy-mm-dd`; e.g. `agents-2023-03-28`.\n- [Create a Github Release](https://github.com/hyperlane-xyz/hyperlane-monorepo/releases/new) with a changelog against the previous version titled `Agents MMMM DD, YYYY`, e.g. `Agents March 28, 2023`.\n- Include the agent docker image tag in the description of the release\n- Create a summary of change highlights\n- Create a \"breaking changes\" section with any changes required\n- Deploy agents with the new image tag (if it makes sense to)\n\n### Releasing packages to NPM\n\nWe use [changesets](https://github.com/changesets/changesets) to release to NPM. You can use the `release` script in `package.json` to publish.\n\nFor an alpha or beta version, follow the directions [here](https://github.com/changesets/changesets/blob/main/docs/prereleases.md).\n\n### Manually Triggering Docker Builds in CI\n\nTo manually trigger Agent or Monorepo Docker builds in CI, you can use the workflows provided in the repository. Here are the steps to do so:\n\n1. **Navigate to the workflow:**\n   - For agents, go to the [Rust Docker Workflow](https://github.com/hyperlane-xyz/hyperlane-monorepo/actions/workflows/rust-docker.yml).\n   - For the monorepo, go to the [Monorepo Docker Workflow](https://github.com/hyperlane-xyz/hyperlane-monorepo/actions/workflows/monorepo-docker.yml).\n\n2. **Trigger the workflow:**\n   - On the workflow page, click on the \"Run workflow\" button.\n   - You may need to select a branch and decide whether to trigger builds for the `arm64` platform.\n\n3. **Wait for the build to complete:**\n   - Once triggered, monitor the progress of the build by opening the new workflow run.\n     - You may have to refresh the page for it to appear.\n   - Check the logs for any errors or issues during the build process.\n   - Wait for the `build-and-push-to-gcr` step to complete successfully before using the new image.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperlane-xyz%2Fhyperlane-monorepo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyperlane-xyz%2Fhyperlane-monorepo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperlane-xyz%2Fhyperlane-monorepo/lists"}