{"id":13288193,"url":"https://github.com/paritytech/pallet-contracts-waterfall","last_synced_at":"2025-03-10T05:32:14.048Z","repository":{"id":47105285,"uuid":"206346570","full_name":"paritytech/pallet-contracts-waterfall","owner":"paritytech","description":"Collection of simple Substrate smart contract examples written in Rust,  AssemblyScript, Solang and the smart contract language ink! to test substrates pallet-contracts module","archived":true,"fork":false,"pushed_at":"2021-09-13T11:21:52.000Z","size":1861,"stargazers_count":29,"open_issues_count":16,"forks_count":14,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-07-29T16:58:24.810Z","etag":null,"topics":["assemblyscript","ink","polkadot-js","rust","smart-contracts","solang","substrate"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/paritytech.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":null,"security":null,"support":null}},"created_at":"2019-09-04T15:02:43.000Z","updated_at":"2024-07-23T18:16:21.000Z","dependencies_parsed_at":"2022-09-03T04:10:56.588Z","dependency_job_id":null,"html_url":"https://github.com/paritytech/pallet-contracts-waterfall","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paritytech%2Fpallet-contracts-waterfall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paritytech%2Fpallet-contracts-waterfall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paritytech%2Fpallet-contracts-waterfall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paritytech%2Fpallet-contracts-waterfall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paritytech","download_url":"https://codeload.github.com/paritytech/pallet-contracts-waterfall/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221151744,"owners_count":16764912,"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":["assemblyscript","ink","polkadot-js","rust","smart-contracts","solang","substrate"],"created_at":"2024-07-29T16:55:00.508Z","updated_at":"2024-10-23T03:31:40.684Z","avatar_url":"https://github.com/paritytech.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pallet-contracts test site\n\n⚠️ **This repository has been archived!** ⚠️\n\nIt has been superseded by [`ink-waterfall`](https://github.com/paritytech/ink-waterfall).\n\n---\n\nThis repo hosts tests for `pallet-contracts`.\n\nIt uses git submodules for some tests. To checkout the repository including the linked submodules, run the following command to clone it:\n\n```\ngit clone --recursive https://github.com/paritytech/pallet-contracts-waterfall.git\n```\n\n# Preparations\n\nFor running this test suite you would need to have:\n\n1. A nightly rust compiler equipped with the `wasm32-unknown-unknown` target.\n\n   The easiest way to install it is with `rustup`. Please see https://rustup.rs.\n\n   ```shell\n   rustup toolchain install nightly\n   rustup update\n   rustup target add wasm32-unknown-unknown --toolchain nightly\n   rustup component add rust-src --toolchain nightly\n   ```\n\n   Also, you might need to put cargo's bin directory on PATH. You can typically do it by executing:\n\n   ```shell\n   source ~/.cargo/env\n   ```\n\n2. Yarn.\n\n   Read on how to install it [here](https://yarnpkg.com/lang/en/docs/install/).\n\n3. JavaScript test environment\n\n   To install all depenmdencies used by the Jest testing suite, run the following command:\n\n   `yarn`\n\n   To upgrade to the latest versions of the Polkadot JS dependencies, run the following command:\n\n   `yarn upgrade --pattern @polkadot`\n\n4. Initialize submodules manually\n\n   If you cloned the repository without the `--recursive` parameter, you need to initialize the submodules manually:\n\n   ```\n   git submodule update --init\n   ```\n\n   If you were running this test suite before and want to update your local version to the latest master branches of the submodules, run:\n\n   ```\n   git submodule update --remote --merge\n   ```\n\n# Compiling the examples\n\nTo build all artifacts required for running the tests, you need to invoke\n\n```\n./build.sh\n```\n\nThis will also install https://github.com/WebAssembly/wabt on your computer.\n\n## Optional Solang test relying on Docker:\n\nThe recommended way to install Solang is currently to use the latest docker image from https://hub.docker.com/r/hyperledgerlabs/solang/tags.\nFor this reason, the Solang tests-cases will only be compiled by running the `build.sh` script if Docker is installed and running on your machine.\nAlternatively you can also install Solang manually on your local machine.\n\nPlease see https://github.com/hyperledger-labs/solang for details.\n\n# Execute tests\n\nTo run the tests, launch the substrate node locally and run\n\n```\nyarn test\n```\n\n## To only run a language specific subset of tests, the following commands are available:\n\n**Run AssemblyScript tests only:**\n`yarn test:as`\n\n**Run Rust and ink! tests only:**\n`yarn test:rust`\n\n**Run Solang tests only:**\n`yarn test:solang`\n\n# Using a Docker image of Substrate for testing\n\nTo run this tests, you need to run a local Substrate on port `ws://127.0.0.1:9944`. The other alternative is to use one of the Docker images that are being automatically generated with every update to the master branch and published https://hub.docker.com/r/parity/substrate/.\n\nThe script to run this container is `docker-compose.yml` file in the root of this repository.\n\nBefore you can run this script, you need to install Docker and 'Docker Compose' on your machine.\nPlease follow the steps described here (including the prerequisites): https://docs.docker.com/compose/install/\n\nUsage:\n\n1. BUILD: Run `docker-compose pull \u0026\u0026 docker-compose up` to pull the latest docker imaged and run the Docker image of the latest Subtrate master.\n2. INFO: Run `docker ps` to get a list of Docker containers running in the background including their mapped ports on localhost\n3. QUIT: Run `docker-compose down` to stop and remove all running containers.\n\nProvided endpoint for localhost: Substrate Master ws://127.0.0.1:9944/\n\nFind more Docker images of Substrate https://hub.docker.com/r/parity/substrate/tags\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparitytech%2Fpallet-contracts-waterfall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparitytech%2Fpallet-contracts-waterfall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparitytech%2Fpallet-contracts-waterfall/lists"}