{"id":13605957,"url":"https://github.com/AcalaNetwork/Acala","last_synced_at":"2025-04-12T05:35:36.291Z","repository":{"id":37270020,"uuid":"206248325","full_name":"AcalaNetwork/Acala","owner":"AcalaNetwork","description":"Acala - cross-chain DeFi hub and stablecoin based on Substrate for Polkadot and Kusama.","archived":false,"fork":false,"pushed_at":"2024-04-22T07:59:36.000Z","size":103995,"stargazers_count":724,"open_issues_count":127,"forks_count":248,"subscribers_count":50,"default_branch":"master","last_synced_at":"2024-04-24T07:24:33.458Z","etag":null,"topics":["acala","defi","kusama","polkadot","rust","stablecoin","substrate"],"latest_commit_sha":null,"homepage":"https://acala.network","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AcalaNetwork.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audit/Acala Network - Final Report.pdf","citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-09-04T06:31:59.000Z","updated_at":"2024-04-26T05:29:00.666Z","dependencies_parsed_at":"2023-02-16T14:15:34.970Z","dependency_job_id":"ecd85c5b-4c4f-4c06-b0c3-bf8e7e0593ce","html_url":"https://github.com/AcalaNetwork/Acala","commit_stats":null,"previous_names":[],"tags_count":107,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcalaNetwork%2FAcala","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcalaNetwork%2FAcala/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcalaNetwork%2FAcala/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcalaNetwork%2FAcala/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AcalaNetwork","download_url":"https://codeload.github.com/AcalaNetwork/Acala/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223498140,"owners_count":17155272,"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","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":["acala","defi","kusama","polkadot","rust","stablecoin","substrate"],"created_at":"2024-08-01T19:01:04.670Z","updated_at":"2025-04-12T05:35:36.275Z","avatar_url":"https://github.com/AcalaNetwork.png","language":"Rust","funding_links":[],"categories":["Rust","Others"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://acala.polkawallet-cloud.com/logo/acala-logo-horizontal-gradient.png\" width=\"460\"\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/AcalaNetwork/Acala/test.yml?label=Actions\u0026logo=github)](https://github.com/AcalaNetwork/Acala/actions)\n[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/AcalaNetwork/Acala)](https://github.com/AcalaNetwork/Acala/tags)\n[![Substrate version](https://img.shields.io/badge/Substrate-2.0.0-brightgreen?logo=Parity%20Substrate)](https://substrate.io/)\n[![codecov](https://codecov.io/gh/AcalaNetwork/Acala/branch/master/graph/badge.svg?token=ERf7EDgafw)](https://codecov.io/gh/AcalaNetwork/Acala)\n[![License](https://img.shields.io/github/license/AcalaNetwork/Acala?color=green)](https://github.com/AcalaNetwork/Acala/blob/master/LICENSE)\n \u003cbr /\u003e\n[![Twitter URL](https://img.shields.io/twitter/url?style=social\u0026url=https%3A%2F%2Ftwitter.com%2FAcalaNetwork)](https://twitter.com/AcalaNetwork)\n[![Discord](https://img.shields.io/badge/Discord-gray?logo=discord)](https://discord.gg/xZfRD6rVfJ)\n[![Telegram](https://img.shields.io/badge/Telegram-gray?logo=telegram)](https://t.me/AcalaOfficial)\n[![Discourse](https://img.shields.io/badge/Forum-gray?logo=discourse)](https://forum.acala.network/)\n[![Medium](https://img.shields.io/badge/Medium-gray?logo=medium)](https://medium.com/acalanetwork)\n\n\u003c/div\u003e\n\n\u003c!-- TOC --\u003e\n\n- [1. Introduction](#1-introduction)\n- [2. Building](#2-building)\n\t- [NOTE](#note)\n- [3. Run](#3-run)\n- [4. Development](#4-development)\n- [5. Bug Bounty :bug:](#5-bug-bounty-bug)\n- [6. Bench Bot](#6-bench-bot)\n\t- [Generate module weights](#generate-module-weights)\n\t- [Generate runtime weights](#generate-runtime-weights)\n\t- [Bench Acala EVM+](#bench-acala-evm)\n- [7. Migration testing runtime](#7-migration-testing-runtime)\n\t- [Try testing runtime](#try-testing-runtime)\n\n\u003c!-- /TOC --\u003e\n\n# 1. Introduction\nThis project is initiated and facilitated by the Acala Foundation. Acala Foundation nurtures applications in the fields of decentralized finance protocols, particularly those that serve as open finance infrastructures such as stable currency and staking liquidity. The Acala Foundation is founded by [Laminar](https://laminar.one/) and [Polkawallet](https://polkawallet.io/), participants and contributors to the Polkadot ecosystem. The Acala Foundation welcomes more industry participants as it progresses.\n\n# 2. Building\n\n## NOTE\n\nThe Acala client node is moved to [acala-node](https://github.com/AcalaNetwork/acala-node). This repo only contains the runtime code. This allow us to decouple the runtime release and client node release.\n\nIf you would like to build the client node, please refer to [acala-node](https://github.com/AcalaNetwork/acala-node).\n\nInstall Rust:\n\n```bash\ncurl https://sh.rustup.rs -sSf | sh\n```\n\nYou may need additional dependencies, checkout [substrate.io](https://docs.substrate.io/v3/getting-started/installation) for more info\n\n```bash\nsudo apt-get install -y git clang curl make libssl-dev llvm libudev-dev protobuf-compiler\n```\n\nMake sure you have `submodule.recurse` set to true to make life with submodule easier.\n\n```bash\ngit config --global submodule.recurse true\n```\n\nInstall required tools and install git hooks:\n\n```bash\nmake init\n```\n\n# 3. Run\n\nYou can start a development chain with:\n\n```bash\nmake run\n```\n\n# 4. Development\n\nTo type check:\n\n```bash\nmake check-all\n```\n\nTo purge old chain data:\n\n```bash\nmake purge\n```\n\nTo purge old chain data and run\n\n```bash\nmake restart\n```\n\nUpdate ORML\n\n```bash\nmake update\n```\n\n# 5. Bug Bounty :bug:\n\nThe Bug Bounty Program includes only on-chain vulnerabilities that can lead to significant economic loss or instability of the network. You check details of the Bug Bounty or Submit a vulnerability here:\nhttps://immunefi.com/bounty/acala/\n\n# 6. Bench Bot\nBench bot can take care of syncing branch with `master` and generating WeightInfos for module or runtime.\n\n## Generate module weights\n\nComment on a PR `/bench module \u003cmodule_name\u003e` i.e.: `module_currencies`\n\nBench bot will do the benchmarking, generate `weights.rs` file and push changes into your branch.\n\n## Generate runtime weights\n\nComment on a PR `/bench runtime \u003cruntime\u003e \u003cmodule_name\u003e` i.e.: `/bench runtime mandala module_currencies`.\n\nTo generate weights for all modules just pass `*` as `module_name` i.e: `/bench runtime mandala *`\n\nBench bot will do the benchmarking, generate weights file and push changes into your branch.\n\n## Bench Acala EVM+\n\nComment on a PR `/bench evm` to benchmark Acala EVM+ and bench bot will generate precompile weights and GasToWeight ratio.\n\n# 7. Migration testing runtime\nIf modifying the storage, you should test the data migration before upgrading the runtime.\n\n## Try testing runtime\n\ntry-runtime on karura\n\n```bash\n# Use a live chain to run the migration test.\n# Add `-p module_name` can specify the module.\nmake try-runtime-karura\n\n# Create a state snapshot to run the migration test.\n# Add `--pallet module_name` can specify the module.\ncargo run --features with-karura-runtime --features try-runtime -- try-runtime --runtime existing create-snapshot --uri wss://karura.api.onfinality.io:443/public-ws karura-latest.snap\n\n# Use a state snapshot to run the migration test.\n./target/release/acala try-runtime --runtime ./target/release/wbuild/karura-runtime/karura_runtime.compact.compressed.wasm --chain=karura-dev on-runtime-upgrade snap -s karura-latest.snap\n```\n\ntry-runtime on acala\n\n```bash\n# Use a live chain to run the migration test.\n# Add `--pallet module_name` can specify the module.\nmake try-runtime-acala\n\n# Create a state snapshot to run the migration test.\n# Add `-palet module_name` can specify the module.\ncargo run --features with-acala-runtime --features try-runtime -- try-runtime --runtime existing create-snapshot --uri wss://acala.api.onfinality.io:443/public-ws acala-latest.snap\n\n# Use a state snapshot to run the migration test.\n./target/release/acala try-runtime --runtime ./target/release/wbuild/acala-runtime/acala_runtime.compact.compressed.wasm --chain=acala-dev on-runtime-upgrade snap -s acala-latest.snap\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAcalaNetwork%2FAcala","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAcalaNetwork%2FAcala","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAcalaNetwork%2FAcala/lists"}