{"id":13564823,"url":"https://github.com/terra-money/alliance","last_synced_at":"2025-07-22T10:07:24.735Z","repository":{"id":63452135,"uuid":"551378738","full_name":"terra-money/alliance","owner":"terra-money","description":"🤝 Alliance chain with x/alliance module","archived":false,"fork":false,"pushed_at":"2024-09-04T00:17:34.000Z","size":69709,"stargazers_count":51,"open_issues_count":19,"forks_count":36,"subscribers_count":15,"default_branch":"release/v0.4.x","last_synced_at":"2025-05-15T07:15:21.034Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/terra-money.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audit/alliance-audit-v1.0.pdf","citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-14T09:37:58.000Z","updated_at":"2025-04-25T03:20:30.000Z","dependencies_parsed_at":"2022-11-19T06:45:23.819Z","dependency_job_id":"ec2ebaf3-e0e6-4b4d-a108-55a9f37b05dd","html_url":"https://github.com/terra-money/alliance","commit_stats":{"total_commits":417,"total_committers":12,"mean_commits":34.75,"dds":0.5515587529976019,"last_synced_commit":"94ff2842595891ffcb38923773d462d9e1ec5354"},"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/terra-money/alliance","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terra-money%2Falliance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terra-money%2Falliance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terra-money%2Falliance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terra-money%2Falliance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/terra-money","download_url":"https://codeload.github.com/terra-money/alliance/tar.gz/refs/heads/release/v0.4.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terra-money%2Falliance/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266473082,"owners_count":23934477,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":[],"created_at":"2024-08-01T13:01:36.581Z","updated_at":"2025-07-22T10:07:24.711Z","avatar_url":"https://github.com/terra-money.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003ch1 align=\"center\"\u003e 🤝 Alliance\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://docs.alliance.terra.money/\"\u003eTechnical Documentation\u003c/a\u003e\n  ·\n  \u003ca href=\"https://docs.alliance.terra.money/guides/get-started\"\u003eIntegration Guide\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/terra-money/alliance/blob/main/audit/alliance-audit-v1.0.pdf\"\u003eCode Audit\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\n## Overview\n\nAlliance is an open-source Cosmos SDK module that leverages interchain staking to form ***economic alliances*** among blockchains. By boosting the economic activity across Cosmos chains through creating bilateral, mutually beneficial alliances, Alliance aims to give rise to a new wave of innovation, user adoption, and cross-chain collaboration.\n\n**Alliance allows blockchains to trade yield with each other- think of it like yield farming for L1s.**\n\n### Here’s how it works:\n\n- Two chains [integrate the Alliance module](https://docs.alliance.terra.money/guides/get-started) and decide through governance which assets can be staked on their chain. These are known as [Alliance assets](https://docs.alliance.terra.money/alliance#what-are-alliance-assets). \n- Each Alliance asset is assigned a [Take Rate](https://docs.alliance.terra.money/alliance#the-take-rate) (the percentage of staked Alliance assets the chain redistributes to native chain stakers) and a [Reward Weight](https://docs.alliance.terra.money/alliance#rewards) (the percentage of native staking rewards the chain distributes to Alliance asset stakers).\n- Users of each chain can then [bridge their assets via IBC](https://docs.alliance.terra.money/alliance#what-are-alliance-assets) to the other chain and stake them to earn the Reward Weight. \n\n## Tech Specs\n\n[The Alliance Docs](https://docs.alliance.terra.money/) contain detailed information about Alliance. Familiarize yourself with the following concepts before integrating the Alliance module. \n\n- About Alliance\n    - [Overview](https://docs.alliance.terra.money/overview)\n    - [How Alliance works](https://docs.alliance.terra.money/alliance)\n    - [Alliance staking](https://docs.alliance.terra.money/concepts/staking)\n    - [Reward distribution](https://docs.alliance.terra.money/concepts/rewards)\n    - [Validator shares](https://docs.alliance.terra.money/concepts/delegation)\n- Guides\n    - [Integrate the Alliance module](https://docs.alliance.terra.money/guides/get-started)\n    - [Create, update, or delete an Alliance](https://docs.alliance.terra.money/guides/create)\n    - [Interact with an Alliance](https://docs.alliance.terra.money/guides/how-to)\n- Technical specifications:\n    - [Module parameters](https://docs.alliance.terra.money/tech/parameters) and [Alliance asset properties](https://alliance.terra.money/tech/asset)\n    - [Txs and queries](https://docs.alliance.terra.money/tech/tx-queries)\n    - [Data structures](https://docs.alliance.terra.money/tech/data)\n    - [State transitions](https://docs.alliance.terra.money/tech/transitions)\n    - [Invariants](https://docs.alliance.terra.money/tech/invariants)\n    - [Benchmarks](https://docs.alliance.terra.money/tech/benchmarks)\n\n## Integrate the `x/alliance` module\n\nThe Alliance module can be [added to any compatible Cosmos chain](https://docs.alliance.terra.money/guides/get-started) and does not require any changes to consensus or major changes to common core modules. This module wraps around a chain’s native staking module, allowing whitelisted assets to be staked and earn rewards. Alliance assets can be staked with the Alliance module, and the chain's native staking module is used for native stakers. \n\nChains that want to add `x/alliance` must enable the following modules:\n\n- [x/auth](https://github.com/cosmos/cosmos-sdk/blob/main/x/auth/README.md)\n- [x/bank](https://github.com/cosmos/cosmos-sdk/blob/main/x/bank/README.md)\n- [x/ibc](https://github.com/cosmos/ibc-go#ibc-go)\n- [x/staking](https://github.com/cosmos/cosmos-sdk/blob/main/x/staking/README.md)\n- [x/distribution](https://github.com/cosmos/cosmos-sdk/blob/main/x/distribution/README.md)\n- [x/gov](https://github.com/cosmos/cosmos-sdk/blob/main/x/gov/README.md)\n\nCompatibility matrix:\n\n| Release | Branch         | CosmosSDK |\n|---------|----------------|-----------|\n| v0.4.0  | release/v0.4.x | 0.50      |\n| v0.3.0  | release/v0.3.x | 0.47      |\n| v0.2.0  | release/v0.2.x | 0.47      |\n| v0.1.0  | release/v0.1.x | 0.46      |\n\nFor an in-depth guide on integrating `x/alliance`, visit the [Alliance Module Integration Guide](https://docs.alliance.terra.money/guides/get-started). \n\n## Development environment\n\nThe following sections are for developers working on the  `x/alliance` module. \n\nThis project uses [Go v1.21](https://go.dev/dl/).\n\nTo build a ready-to-use binary, run the following:\n\n```sh\nmake install\n```\n\n### Localnet\n\nThe Localnet is a development environment that uses a Docker orchestration to create a local network with 3 Docker containers:\n\n- `make localnet-start` : stop the testnet if running, build the `terra-money/localnet-alliance` image and start the nodes.\n- `make localnet-alliance-rmi`: remove the previously created `terra-money/localnet-alliance` image.\n- `make localnet-build-env`: delete and rebuild the `terra-money/localnet-alliance`\n- `make localnet-build-nodes`: using the `terra-money/localnet-alliance` starts a 3 docker containers testnet.\n- `make localnet-stop`: stop the testnet if running.\n\n### Running the simulation\n\nThe simulation app does not run out of the box because the Alliance module owns all the native stake. The `x/staking` module's `operation.go` file panics when a delegator does not have a private key.\n\nUse the following command to update the `x/staking` module directly before compiling the simulation app.\n\n```sh\ngo mod vendor\nsed -i '' 's/fmt.Errorf(\"delegation addr: %s does not exist in simulation accounts\", delAddr)/nil/g' vendor/github.com/cosmos/cosmos-sdk/x/staking/simulation/operations.go\ngo test -benchmem -run=^$ -bench ^BenchmarkSimulation ./app -NumBlocks=200 -BlockSize 50 -Commit=true -Verbose=true -Enabled=true\n```\n\n## Warning\n\nPlease note that Alliance is still undergoing final testing before its official release. TFL does not give any warranties, whether express or implied, as to the suitability or usability of the software or any of its content.\n\nTFL will not be liable for any loss, whether such loss is direct, indirect, special or consequential, suffered by any party as a result of their use of the software or content.\n\nShould you encounter any bugs, glitches, lack of functionality or other problems on the website, please submit bugs and feature requests through Github Issues.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterra-money%2Falliance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fterra-money%2Falliance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterra-money%2Falliance/lists"}