Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/use-ink/contracts-ui
Web application for deploying wasm smart contracts on Substrate chains that include the FRAME contracts pallet
https://github.com/use-ink/contracts-ui
blockchain dapp smart-contracts substrate wasm webapp webassembly
Last synced: 3 months ago
JSON representation
Web application for deploying wasm smart contracts on Substrate chains that include the FRAME contracts pallet
- Host: GitHub
- URL: https://github.com/use-ink/contracts-ui
- Owner: use-ink
- License: gpl-3.0
- Created: 2021-06-07T11:50:37.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-04-29T09:51:14.000Z (9 months ago)
- Last Synced: 2024-05-02T19:16:11.043Z (9 months ago)
- Topics: blockchain, dapp, smart-contracts, substrate, wasm, webapp, webassembly
- Language: TypeScript
- Homepage: https://contracts-ui.substrate.io/
- Size: 4.43 MB
- Stars: 59
- Watchers: 11
- Forks: 43
- Open Issues: 35
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Substrate Contracts UI
Substrate Contracts UI is a web application for deploying and interacting with WASM smart contracts on Substrate blockchains that include the FRAME Contracts Pallet.
❗Only compatible with nodes that use `WeightV2`. For older nodes use [this deployment](https://weightv1--contracts-ui.netlify.app/)❗
Supported smart contracts:
- [ink!](https://github.com/use-ink/ink)
- [ask!](https://github.com/ask-lang/ask)
- [solang](https://github.com/hyperledger-labs/solang)We recommend running a [Substrate Contracts Node](https://github.com/paritytech/substrate-contracts-node) for local development or using the Contracts parachain on the Rococo Testnet.
See [`FAUCETS.md`](https://github.com/use-ink/contracts-ui/blob/master/FAUCETS.md) to learn about how to obtain free testnet tokens of supported chains.
## Features
### Contract instantiation
Once you have a compiled contract and you are connected to a node, you can use the hosted version of Contracts UI to [add a new contract on-chain](https://contracts-ui.substrate.io/add-contract).
There are 2 instantiation methods:
#### Upload New Contract Code
In Substrate, contract code is stored only once on-chain and shared between instances. If the contract has never been instantiated before in it's current form, you need to choose the Upload New Contract Code option and provide the `.contract` code bundle that was generated when compiling the ink! contract. The bundle contains the contract metadata and the WASM code. Make sure your versions for the node, ink! and cargo-contract are up to date, otherwise the `.contract` bundle will be invalid.
#### Use Existing Contract Code
If you need to re-instantiate a contract from a different owner or for other reasons, you can use the "Use Existing Contract Code" option. You will have to provide a code hash that already exists on-chain or choose one that belongs to a code bundle previously uploaded via our UI. If the code hash is on-chain but the contract was not uploaded via Contracts UI, you will also have to provide the `metadata.json` file in the next step.
The UI will interpret the contract metadata and output a guided instantiation form.
### Interaction
After a successful instantiation, you will be redirected to the contract page where you can call contract messages (methods) and get a log of results.
## Run the app locally
Install dependencies
```bash
yarn
```Run dev server
```bash
yarn start
```## Contributing to the project
Please see our [Contribution Guidelines](https://github.com/use-ink/contracts-ui/blob/master/CONTRIBUTING.md) before opening an issue or PR.