{"id":29219833,"url":"https://github.com/protofire/polkadot-contract-wizard","last_synced_at":"2025-10-04T17:59:42.039Z","repository":{"id":152332385,"uuid":"587358756","full_name":"protofire/polkadot-contract-wizard","owner":"protofire","description":"Tool that allows users to create their own smart contracts in Polkadot.","archived":false,"fork":false,"pushed_at":"2024-06-03T02:02:55.000Z","size":10887,"stargazers_count":14,"open_issues_count":6,"forks_count":5,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2025-08-17T04:33:43.247Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contractwizard.xyz","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/protofire.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-10T15:11:43.000Z","updated_at":"2025-03-02T18:15:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"58755344-2f00-4947-b589-4b4cd36d7308","html_url":"https://github.com/protofire/polkadot-contract-wizard","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/protofire/polkadot-contract-wizard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fpolkadot-contract-wizard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fpolkadot-contract-wizard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fpolkadot-contract-wizard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fpolkadot-contract-wizard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protofire","download_url":"https://codeload.github.com/protofire/polkadot-contract-wizard/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fpolkadot-contract-wizard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278350984,"owners_count":25972676,"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-10-04T02:00:05.491Z","response_time":63,"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":"2025-07-03T02:07:37.903Z","updated_at":"2025-10-04T17:59:41.970Z","avatar_url":"https://github.com/protofire.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Polkadot Contract Wizard\n\n## Overview\n\nThe Polkadot Contract Wizard is an advanced smart contract creation and interaction tool tailored for the Substrate ecosystems. Originally designed to simplify the process of smart contract creation, the tool adheres to key Polkadot Standards (PSP22, PSP34, and PSP37). With its user-friendly interface, it allows both beginners and experienced developers to create, deploy, modify, and now interact with smart contracts across multiple chains.\n\n## Key Features\n\n### 🧑‍💻 Smart Contract Creation\n- **Easy Creation Process**: Create your own smart contracts in minutes with a straightforward three-step process: Choose your contract features, deploy your smart contract, and use your smart contract.\n- **Custom Logic Extensions**: Includes extensions such as Ownable, Roles, Mintable, Burnable, Timelock, and Payment Splitter.\n- **Development Simplification**: Utilize helpful macros for function modifiers, storage definition, and trait definitions.\n\n### 🧩 Smart Contract Interaction\n\n#### 1. Interact with Deployed Contracts 🦸\n- **Direct UI Interaction**: Manage and interact with deployed contracts directly through the wizard's interface, dynamically generated based on the contract's metadata.\n\n#### 2. Interaction with Custom Smart Contracts 🦹‍♂️\n- **Custom Contract Compatibility**: Engage with any smart contract by providing its metadata, network, and address, with the UI automatically adapting for seamless interaction.\n\n#### 3. Shareable Contract Interaction Links 🔗\n- **Collaborative Tool**: Generate and share unique links for each contract, containing all essential information for interaction, thereby promoting collaboration within the developer community.\n\n#### 4. Support for Multiple Chains ⛓️\n- **Parachain Connections**: Connect to a variety of parachains in the Polkadot, Kusama networks, with the flexibility to connect to other networks via web socket.\n\n## Upcoming Developments\n\nWe are continually working to expand the capabilities of the Polkadot Contract Wizard. Stay tuned for more updates and features that will enhance your experience in the world of smart contract development and interaction within the substrate ecosystems.\n\n\u003e Community feedback and suggestions are invaluable to us as we strive to make this tool more efficient, user-friendly, and versatile.\n\n## Built with\n\n- 📦 NextJS as framework for the application.\n- 📘 React framework.\n- 🧪 Jest for unit testing.\n- 🔍 ESLint for code linting and formating.\n- 🐳 Docker for development and testing operations.\n\n## Getting Started\n\n### 🚀 Run app\n\nTo run the application locally it is necessary to copy the environment variables file `.env.local.example` and paste it as `.env`. In this file you will find environment variables like as the default RPC.\n\n\u003e 🚨🚨🚨 It is mandatory to create the `.env` to run the application.\n\n- Clone the repository with the following command and enter the project folder:\n\n    ```bash\n    git clone https://github.com/protofire/polkadot-contract-wizard.git \u0026\u0026 cd polkadot-contract-wizard\n    ```\n\n- Init the backend submodule with the following command:\n\n    ```bash\n    git submodule update --init\n    ```\n\n#### A. With Docker\n\n- ⚠️ Requirements:\n  - docker \u003e= 20\n  - docker-compose \u003e= 2.15\n\n1. Make sure your daemon `docker` is running in your system.\n\n2. (Optional) Set the environment variables for the container on [dev.docker.env](./.docker/dev.docker.env). These will be used to configure the application.\n\n3. Run the following command to start the container (Will do a build previously in the first run):\n\n    ```bash\n    docker-compose --env-file .docker/dev.docker.env up --build\n    ```\n\n4. Your application should now be running on the specified port. You can access it by visiting `localhost:\u003cEXTERNAL_PORT\u003e` (Port 3000 by default) in your browser.\n\n\u003e ✋ Stop the all the running containers with the following command:  \n\u003e `docker-compose stop`\n\n#### B. Local Stack\n\n\u003e ⚠️ For the application to function properly on a local machine, it's essential to have the backend up and running in order for the frontend to operate.\n\n\u003e You must rename the env variable NEXT_PUBLIC_BACKEND_API in the .env file as follows: `NEXT_PUBLIC_BACKEND_API=http://127.0.0.1:8000`\n\n#### Backend\n\n- Follow the instructions in the README.md of the [backend](https://github.com/protofire/ink-compiler-be/blob/main/README.md) repository.\n\n#### Frontend\n\n- ⚠️ Requirements:\n  - node `^14.18.0` || `^16.14.0` || `\u003e=18.0.0`\n  - yarn \u003e= 1.20\n\n1. Open a command-line interface in the application's root directory and install the packages with the command:\n\n    ```bash\n    yarn install\n    ```\n\n2. To start the app, use:\n\n    ```bash\n    yarn dev\n    ```\n\n    \u003e This will start a Next.js development server on the default port (3000).\n\n3. Once the development server is running, you can access the application from your web browser at the address [http://localhost:3000](http://localhost:3000).\n\n\u003e ✋ Stop the Server  \n\u003e To stop the development server, press `Ctrl + C` in the terminal.\n\n## License\n\nCopyright 2023 Protofire\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n\n## Notice of Use\n\nThis project includes code from a GPL v3 licensed source called \"contracts-ui.\"\n\n### Original Source\n\nThe original source code is available at [contracts-ui repository](https://github.com/paritytech/contracts-ui).\n\n### License\n\nThe code from \"contracts-ui\" is licensed under the GNU General Public License, version 3.0. The full text of the license is available in the [GPL-3.0 License file](https://github.com/paritytech/contracts-ui/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotofire%2Fpolkadot-contract-wizard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprotofire%2Fpolkadot-contract-wizard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotofire%2Fpolkadot-contract-wizard/lists"}