{"id":19945239,"url":"https://github.com/hyperledger-solang/solang-substrate-ci","last_synced_at":"2026-06-12T05:31:12.068Z","repository":{"id":173067558,"uuid":"650185910","full_name":"hyperledger-solang/solang-substrate-ci","owner":"hyperledger-solang","description":"Minimal Substrate node configured for Solang substrate integration tests","archived":false,"fork":false,"pushed_at":"2024-03-27T16:17:06.000Z","size":1076,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"substrate-integration","last_synced_at":"2025-11-29T05:40:03.298Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"paritytech/substrate-contracts-node","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyperledger-solang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-06T14:23:20.000Z","updated_at":"2024-09-26T13:23:15.000Z","dependencies_parsed_at":"2024-09-27T09:42:51.456Z","dependency_job_id":"19b010b1-ddfd-41c4-97b1-a7ae482a9dee","html_url":"https://github.com/hyperledger-solang/solang-substrate-ci","commit_stats":null,"previous_names":["hyperledger/solang-substrate-ci","hyperledger-solang/solang-substrate-ci"],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/hyperledger-solang/solang-substrate-ci","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperledger-solang%2Fsolang-substrate-ci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperledger-solang%2Fsolang-substrate-ci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperledger-solang%2Fsolang-substrate-ci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperledger-solang%2Fsolang-substrate-ci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyperledger-solang","download_url":"https://codeload.github.com/hyperledger-solang/solang-substrate-ci/tar.gz/refs/heads/substrate-integration","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperledger-solang%2Fsolang-substrate-ci/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34231214,"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-12T02:00:06.859Z","response_time":109,"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":[],"created_at":"2024-11-13T00:24:45.770Z","updated_at":"2026-06-12T05:31:12.046Z","avatar_url":"https://github.com/hyperledger-solang.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# substrate-contracts-node\n\n[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/paritytech/substrate-contracts-node)\n\nThis repository contains Substrate's [`node-template`](https://github.com/paritytech/substrate/tree/master/bin/node-template)\nconfigured to include Substrate's [`pallet-contracts`](https://github.com/paritytech/substrate/tree/master/frame/contracts)\n‒ a smart contract module.\n\n_This repository contains a couple of modifications that make it unsuitable\nfor a production deployment, but a great fit for development and testing:_\n\n* The unstable features of the [`pallet-contracts`](https://github.com/paritytech/substrate/tree/master/frame/contracts)\n  are enabled by default (see the [`runtime/Cargo.toml`](https://github.com/paritytech/substrate-contracts-node/blob/main/runtime/Cargo.toml)).\n* The consensus algorithm has been switched to `manual-seal` in\n  [#42](https://github.com/paritytech/substrate-contracts-node/pull/42).\n  Hereby blocks are authored immediately at every transaction, so there\n  is none of the typical six seconds block time associated with `grandpa` or `aura`.\n  * By default, either manual or instant seal does not result in block finalization unless the `engine_finalizeBlock` \n    RPC is executed. However, it is possible to configure the finalization of sealed blocks to occur after a certain \n    amount of time by setting the `--finalize-delay-sec` option to a specific value, which specifies the number of seconds \n    to delay before finalizing the blocks. The default value is 1 second.\n    ```shell\n    ./target/release/substrate-contracts-node --finalize-delay-sec 5\n    ```\n* _If no CLI arguments are passed the node is started in development mode\n  by default._\n* A custom logging filter is applied by default that hides block production noise\n  and prints the contracts debug buffer to the console.\n* _With each start of the node process the chain starts from genesis ‒ so no\n  chain state is retained, all contracts will be lost! If you want to retain\n  chain state you have to supply a `--base-path`._\n* For `pallet_contracts::Config` we increased the allowed contract sizes. This\n  avoids running into `CodeTooLarge` when uploading contracts during development.\n  See the comment in [`runtime/src/lib.rs`](https://github.com/paritytech/substrate-contracts-node/blob/main/runtime/src/lib.rs)\n  for more details.\n\nIf you are looking for a node suitable for production see these configurations:\n\n* [Substrate Node Template](https://github.com/paritytech/substrate/tree/master/bin/node-template)\n* [Substrate Cumulus Parachain Template](https://github.com/paritytech/cumulus/tree/master/parachain-template)\n* [Contracts Parachain Configuration for Rococo](https://github.com/paritytech/cumulus/tree/master/parachains/runtimes/contracts/contracts-rococo)\n\n## Installation\n\n### Download Binary\n\nThe easiest way is to download a binary release from [our releases page](https://github.com/paritytech/substrate-contracts-node/releases)\nand just execute `./substrate-contracts-node`.\n\n### Build Locally\n\nFollow the [official installation steps](https://docs.substrate.io/install/) to set up all Substrate prerequisites.\n\nAfterwards you can install this node via\n\n```bash\ncargo install contracts-node\n```\n\n## Usage\n\nTo run a local dev node execute\n\n```bash\nsubstrate-contracts-node\n```\n\nA new chain in temporary directory will be created each time the command is executed. This is the\ndefault for this node. If you want to persist chain state across runs you need to\nspecify a directory with `--base-path`.\n\nSee our FAQ for more details:\n[How do I print something to the console from the runtime?](https://paritytech.github.io/ink-docs/faq/#how-do-i-print-something-to-the-console-from-the-runtime).\n\n## Connect with frontend\n\nOnce the node template is running locally, you can connect to it with frontends like [Contracts UI](https://contracts-ui.substrate.io/#/?rpc=ws://127.0.0.1:9944) or [Polkadot-JS Apps](https://polkadot.js.org/apps/#/explorer?rpc=ws://localhost:9944) and interact with your chain.\n\n## How to upgrade to new Polkadot release\n\n**Note: Now that this repo has upgraded to using dependencies from crates.io, this section\nneeds to be updated to reflect the new process, once the first release of the crates from\nthe new `polkadot-sdk` mono-repo happens**\n\n- [ ] Check Substrate's [`node-template`](https://github.com/paritytech/substrate/commits/master/bin/node-template)\n      for new commits between the new polkadot release branch and the one this repository is currently synced with.\n      The current branch is mentioned in this readme.\n- [ ] Apply each commit that happened in this `node-template` folder since the last sync.\n- [ ] Check commits for [`pallet-contracts`](https://github.com/paritytech/substrate/tree/master/frame/contracts)\n      since the last time someone synchronized this repository with Substrate\n      in order to not miss any important changes.\n- [ ] Execute `diener update -s --branch my_polkadot_release_branch`. Manually upgrade the\n      `pallet-assets-chain-extension` dependency to the latest release branch and then\n      `cargo update -p pallet-contracts` for this repository. The specific crate which is mentioned\n      here is actually not important: since Substrate uses git references for its Substrate\n      dependencies it means that once one package is updated all are.\n- [ ] Increment the minor version number in `node/Cargo.toml` and `runtime/Cargo.toml`.\n- [ ] Execute `cargo run --release`. If successful, it should produce blocks\n      and a new, up to date, `Cargo.lock` will be created.\n- [ ] Update this readme with the hash of the Substrate `master` commit\n      with which you synchronized. The hash appears two times in this\n      readme.\n- [ ] Create a PR with the changes, have it reviewed and merged.\n- [ ] Replace `XX` in this command with your incremented version number and execute it:\n      `git checkout main \u0026\u0026 git pull \u0026\u0026 git tag v0.XX.0 \u0026\u0026 git push origin v0.XX.0`.\n      This will push a new tag with the version number to this repository.\n- [ ] We have set this repository up in a way that tags à la `vX.X.X` trigger\n      a CI run that creates a GitHub draft release. You can observe CI runs on\n      [GitLab](https://gitlab.parity.io/parity/mirrors/substrate-contracts-node/-/pipelines).\n      This draft release will contain a binary for Linux and Mac and appear\n      under [Releases](https://github.com/paritytech/substrate-contracts-node/releases).\n      Add a description in the style of \"Synchronized with [`polkadot-v1.0.0`](https://github.com/paritytech/substrate/tree/polkadot-v1.0.0) branch.\"\n      and publish it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperledger-solang%2Fsolang-substrate-ci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyperledger-solang%2Fsolang-substrate-ci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperledger-solang%2Fsolang-substrate-ci/lists"}