{"id":22799968,"url":"https://github.com/tangle-network/orbit","last_synced_at":"2025-10-16T06:44:44.812Z","repository":{"id":153477042,"uuid":"626609814","full_name":"tangle-network/orbit","owner":"tangle-network","description":"🛰️ Webb Orbit of EVM Testnet(s)","archived":false,"fork":false,"pushed_at":"2024-05-13T14:19:19.000Z","size":1536,"stargazers_count":5,"open_issues_count":5,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-19T19:13:42.236Z","etag":null,"topics":["evm-blockchain","testnet"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tangle-network.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-11T20:15:07.000Z","updated_at":"2025-01-22T19:24:15.000Z","dependencies_parsed_at":"2024-05-13T14:01:23.584Z","dependency_job_id":"dafcaf3f-76f2-4177-9e82-879a6c46e98c","html_url":"https://github.com/tangle-network/orbit","commit_stats":null,"previous_names":["tangle-network/orbit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tangle-network/orbit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Forbit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Forbit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Forbit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Forbit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tangle-network","download_url":"https://codeload.github.com/tangle-network/orbit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Forbit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279163455,"owners_count":26117459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-16T02:00:06.019Z","response_time":53,"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":["evm-blockchain","testnet"],"created_at":"2024-12-12T07:10:37.734Z","updated_at":"2025-10-16T06:44:44.797Z","avatar_url":"https://github.com/tangle-network.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://www.webb.tools/\"\u003e\n    \n![Webb Logo](./assets/webb_banner_light.png#gh-light-mode-only)\n![Webb Logo](./assets/webb_banner_dark.png#gh-dark-mode-only)\n  \u003c/a\u003e\n  \u003c/div\u003e\n\u003ch1 align=\"left\"\u003e 🛰️ 🕸️ Webb Orbit 🕸️ 🛰️ \u003c/h1\u003e\n\u003cp align=\"left\"\u003e\n    \u003cstrong\u003e🚀 A Set of EVM Testnet(s) \u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"left\" \u003e\n\n[![CI](https://github.com/webb-tools/orbit/actions/workflows/ci.yml/badge.svg)](https://github.com/webb-tools/orbit/actions/workflows/ci.yml)\n[![License Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square)](https://opensource.org/licenses/Apache-2.0)\n[![Twitter](https://img.shields.io/twitter/follow/webbprotocol.svg?style=flat-square\u0026label=Twitter\u0026color=1DA1F2)](https://twitter.com/webbprotocol)\n[![Telegram](https://img.shields.io/badge/Telegram-gray?logo=telegram)](https://t.me/webbprotocol)\n[![Discord](https://img.shields.io/discord/833784453251596298.svg?style=flat-square\u0026label=Discord\u0026logo=discord)](https://discord.gg/cv8EfJu3Tn)\n\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003ch2 id=\"table-of-contents\"\u003e 📖 Table of Contents\u003c/h2\u003e\n\n\u003cdetails open=\"open\"\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"#start\"\u003e Getting Started\u003c/a\u003e\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#install\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#launch\"\u003eRun Local\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#deploy\"\u003eDeploy\u003c/a\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cli\u003e\u003ca href=\"#contribute\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e  \n\u003c/details\u003e\n\n\u003ch1 id=\"start\"\u003e Getting Started  🎉 \u003c/h1\u003e\n\nWebb Orbit is a set of Isolated EVM Testnets used for our internal testing and development. Internally it runs\na geth instance with a few tweaks to make it more suitable for our needs.\n\nAs of now, we have these testnets running:\n\n| Testnet   | Chain Id   | Currency symbol | RPC                                  | Explorer                              |\n| --------- | ---------- | --------------- | ------------------------------------ | ------------------------------------- |\n| `Athena`  | 3884533461 | ETH             | `https://athena-testnet.webb.tools`  | `https://athena-explorer.webb.tools`  |\n| `Hermes`  | 3884533462 | ETH             | `https://hermes-testnet.webb.tools`  | `https://hermes-explorer.webb.tools`  |\n| `Demeter` | 3884533463 | ETH             | `https://demeter-testnet.webb.tools` | `https://demeter-explorer.webb.tools` |\n\nNeed help adding these networks to your wallet like MetaMask? [Read Here](https://support.metamask.io/hc/en-us/articles/360043227612-How-to-add-a-custom-network-RPC#h_01G63GGJ83DGDRCS2ZWXM37CV5)\n\n## Prerequisites\n\n- Docker: https://docs.docker.com/get-docker/\n- Nodejs: https://nodejs.org/en/download/\n- Yarn: https://classic.yarnpkg.com/en/docs/install\n\n## Installation 💻\n\n\u003ch1 id=\"usage\"\u003e Usage \u003c/h1\u003e\n\n\u003ch2 style=\"border-bottom:none\"\u003e Quick Start ⚡ \u003c/h2\u003e\n\nAfter installing the prerequisites, you can run the following command to start the testnet:\n\n```bash\ncp .env.example .env\n# Fetch the zk fixtures\n./scripts/fetch-fixtures.sh\n```\n\nOpen the `.env` file in your editor and change what it is needed, usually they are the first section of the file.\n\nOnce done you can run the following command:\n\n```bash\nsource .env # This will load the environment variables\n./scripts/setup-orbit.sh # This will setup the orbit chains for you\n```\nNext, simply run the following command to start the chains:\n\n```bash\ndocker compose up\n```\n\nYou can now access the deployed chains, locally under `http://localhost:${PORT}` where `$PORT` depends on the chain, for example\nAthena chain is running under `$ATHENA_CHAIN_PORT` port, revisit your `.env` file to get your configured ports.\n\n## Deploy Block Explorers\n\nTo deploy the Block Explorers locally too, or on the server, you need to include the `explorers.yml` file, run the following:\n\n```bash\ndocker compose -f docker-compose.yml -f explorers.yml up -d\n```\n\nThis will deploy the block explorer for each chain, which you can access on localhost `http://localhost:${PORT}`where the `$PORT` here depends on which\nchain's explorer you are trying to visit, for example Athena chain explorer running under `http://localhost:${ATHENA_CHAIN_EXPLORER_PORT}`.\n\n## Deploying the smart contracts\n\nTo deploy the smart contracts, you can run the following command:\n\n```bash\ncd deploy \u0026\u0026 yarn\n```\n\nAs a quick overview of all options you can run the following command:\n\n```bash\nyarn deploy --help\n```\n\nYou should see something like the following:\n\n```bash\nOptions:\nOptions:\n  --help                      Show help                                [boolean]\n  --version                   Show version number                      [boolean]\n  --wethAddress               The address of the WETH contract          [string]\n  --deployWeth                Whether to deploy WETH   [boolean] [default: true]\n  --webbTokenName             The name of the webb token\n                                        [string] [default: \"Webb Wrapped Ether\"]\n  --webbTokenSymbol           The symbol of the webb token\n                                                  [string] [default: \"webbWETH\"]\n  --allowWrappingNativeToken  Whether to allow wrapping native tokens into webb\n                              tokens                   [boolean] [default: true]\n  --governor                  The Signature Bridge governor. Could be ETH addres\n                              s, Uncompressed or Compressed Public Key  [string]\n  --governorNonce             The nonce of the governor    [number] [default: 0]\n  --deployMulticall3          Whether to deploy Multicall3 contract\n                                                       [boolean] [default: true]\n  --includeTangleEVM          Include tangle EVM chain[boolean] [default: false]\n```\n\nAnd here is an example of deploying a local bridge named webbWETH Bridge.\n\n```bash\nyarn deploy --deployWeth --allowWrappingNativeToken=false --webbTokenName webbWETH --webbTokenSymbol webbWETH\n```\n\nThis will deploy the smart contracts to the testnets.\n\n### Transfer the Ownership of Existing Signature Bridge\n\nThere is a sub-command for transferring the ownership of the Bridge after the deployment.\n\n```bash\nyarn deploy transfer-ownership --contractAddress \u003cCONTRACT\u003e --governor \u003cADDRESS\u003e --governorNonce 0\n```\n\n### Deploying on Tangle Network\n\nIf you want to utilize the Tangle Network and the DKG as a governor for the deployed bridge, you will need to configure the following:\n\n- Whitelists ChainIds\n- Set Resource Ids\n\nThese steps could be done manually or using the following command:\n\n```bash\nyarn tangle --help\n```\n\nYou should see something like the following:\n\n```bash\nOptions:\n  --help                 Show help                                     [boolean]\n  --version              Show version number                           [boolean]\n  --wsEndpoint           The endpoint of the node\n                                       [string] [default: \"ws://127.0.0.1:9944\"]\n  --resourceIds          The resource ids                  [array] [default: []]\n```\n\nAnd here is an example of how you can use it:\n\n```bash\nyarn tangle --resourceIds 0x00000000000064ba293e654992a94f304b00e3ceb8fd0f7aa77301000000138a --resourceIds 0x00000000000064ba293e654992a94f304b00e3ceb8fd0f7aa773010000001389 --resourceIds 0x00000000000064ba293e654992a94f304b00e3ceb8fd0f7aa77301000000138b\n```\n\nThis command will automatically do the above steps for you.\n\n\u003ch3 id=\"deploy\"\u003e Deploy with \u003ca href=\"https://docker.com\"\u003eDocker\u003c/a\u003e ☄️\u003c/h3\u003e\n\nYou can also deploy the testnets to a remote server using Docker. To do so, you can use the following command:\n\n```bash\ndocker compose up -d\n```\n\n### Running with a Local Relayer\n\nThe Deployment script also generates `orbit.toml` file that could be used with the [webb relayer](https://github.com/webb-tools/relayer)\nif you have it locally, you can also use it to connect to the running chains by running the following command:\n\n```bash\nwebb-relayer -vvv --tmp -c ./config\n```\n\n### Running Webb Faucet\n\nTo run Webb faucet backend locally, you need first to edit `config/Rocket.toml` file's twitter section and then run the following command:\n\n```bash\ndocker compose -f faucet.yml up -d\n```\n\n### Cleanup\n\nTo clean up everything and start over, you can executed the following commands:\n\n```bash\ndocker compose down -v\n\nsudo rm -rf {logs,data}\n```\n\n### Deploying Smart Contracts\n\nFor the already deployed smart contracts on the testnets, refer to the [DEPLOYMENTS.md](./DEPLOYMENTS.md) file.\n\notherwise, the process of deploying smart contracts on the deployed chains is the same as locally.\n\n\u003ch2 id=\"contribute\"\u003e Contributing \u003c/h2\u003e\n\nInterested in contributing to the Webb? Thank you so much for your interest! We are always appreciative for contributions from the open-source community!\n\nIf you have a contribution in mind, please check out our [Contribution Guide](./.github/CONTRIBUTING.md) for information on how to do so. We are excited for your first contribution!\n\n\u003ch2 id=\"license\"\u003e License \u003c/h2\u003e\n\nLicensed under \u003ca href=\"LICENSE\"\u003eApache 2.0 license\u003c/a\u003e.\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache 2.0 license, shall be licensed as above, without any additional terms or conditions.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangle-network%2Forbit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftangle-network%2Forbit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangle-network%2Forbit/lists"}