{"id":21177314,"url":"https://github.com/codechain-io/foundry","last_synced_at":"2025-07-09T22:30:37.441Z","repository":{"id":37888635,"uuid":"228195897","full_name":"CodeChain-io/foundry","owner":"CodeChain-io","description":"A programmable open source blockchain engine","archived":false,"fork":false,"pushed_at":"2023-01-20T22:40:18.000Z","size":11315,"stargazers_count":38,"open_issues_count":87,"forks_count":12,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-05T07:51:16.471Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/CodeChain-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-15T14:17:12.000Z","updated_at":"2022-12-21T14:34:06.000Z","dependencies_parsed_at":"2023-02-12T06:15:57.654Z","dependency_job_id":null,"html_url":"https://github.com/CodeChain-io/foundry","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CodeChain-io/foundry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeChain-io%2Ffoundry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeChain-io%2Ffoundry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeChain-io%2Ffoundry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeChain-io%2Ffoundry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeChain-io","download_url":"https://codeload.github.com/CodeChain-io/foundry/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeChain-io%2Ffoundry/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264504570,"owners_count":23618824,"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":[],"created_at":"2024-11-20T17:15:35.267Z","updated_at":"2025-07-09T22:30:36.961Z","avatar_url":"https://github.com/CodeChain-io.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"Foundry\n[![Build Status](https://travis-ci.com/CodeChain-io/foundry.svg?branch=master)](https://travis-ci.com/CodeChain-io/foundry)\n[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discord.gg/xhpdXm7)\n[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n==============\n\nCodeChain Foundry is a blockchain engine based on a composable module system called Mold.\nUsers can write their own modules in addition to bringing in those written by others\nin order to construct an arbitrary blockchain application.\nThe reason why we provide such a composable and user-configurable module system\nis because we want to make as much of the application configurable as possible\nand foster an ecosystem of reusable modules, while reusing the underlying consensus engine across all the different kinds of applications.\n\nUpon execution of a transaction that is essentially a state transition, the coordinator will be told to execute the transaction from the underlying consensus engine.\nThen the coordinator literally coordinates multiple modules constituting an application\nby invoking services exported by the modules to the coordinator in an appropriate order passing appropriate arguments.\nTransactions will be delivered to the responsible modules,\nand those modules will handle the executions of the transactions,\nwhich might also involve communications with other modules.\n\n## Build\n\nDownload Foundry code\n\n```sh\ngit clone git@github.com:CodeChain-io/foundry.git\ncd foundry\n```\n\nBuild in release mode\n\n```sh\ncargo build --release\n```\n\nThis will produce an executable in the `./target/release` directory.\n\n### Building From Source\n\n#### Build Dependencies\nFoundry requires Rust version 1.47.0 to build. Using [rustup](https://rustup.rs/ \"rustup URL\") is recommended.\n\n- For Linux Systems:\n  - Ubuntu\n\n    \u003e `gcc`, `g++` and `make` are required for installing packages.\n    ```sh\n    $ curl https://sh.rustup.rs -sSf | sh\n    ```\n        \n\n- For Mac Systems:\n  - MacOS 10.13.2 (17C88) tested\n    \u003e `clang` is required for installing packages.\n\n    ```sh\n    $ curl https://sh.rustup.rs -sSf | sh\n    ```\n        \n\n- For Windows Systems:\n  - Currently not supported for Windows. If on a Windows system, please install [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10) to continue as Ubuntu.\n\nPlease make sure that all of the binaries above are included in your `PATH`. These conditions must be fulfilled before building Foundry from source.\n\n\nDownload Foundry's source code and go into its directory.\n```sh\ngit clone git@github.com:CodeChain-io/foundry.git\ncd foundry\n```\n\n#### Build as Release Version\n```sh\ncargo build --release\n```\n\nThis will produce an executable in the ./target/release directory.\n\n## Formatting\n\nMake sure you run `rustfmt` before creating a PR to the repo. You need to install the nightly-2020-10-20 version of `rustfmt`.\n\n```sh\nrustup toolchain install nightly-2020-10-20\nrustup component add rustfmt --toolchain nightly-2020-10-20\n```\n\nTo run `rustfmt`,\n\n```sh\ncargo +nightly-2020-10-20 fmt\n```\n\n## Linting\n\nYou should run `clippy` also. This is a lint tool for rust. It suggests more efficient/readable code.\nYou can see [the clippy document](https://rust-lang.github.io/rust-clippy/master/index.html) for more information.\nYou need to install the stable version of `clippy`.\n\n### Install\n```sh\nrustup component add clippy\n```\n\n### Run\n\n```sh\ncargo clippy --all --all-targets\n```\n\n## Testing\n\nRun `cargo test --all` for unit tests.\nSee `/integration-test/README.md` for integration tests.\n\n## License\nCodeChain is licensed under the GPL License - see the [LICENSE](https://github.com/CodeChain-io/foundry/blob/master/LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodechain-io%2Ffoundry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodechain-io%2Ffoundry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodechain-io%2Ffoundry/lists"}