Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/use-ink/ink-examples
A set of examples for ink! smart contract language. Happy hacking!
https://github.com/use-ink/ink-examples
blockchain examples kusama polkadot rust smart-contracts substrate wasm
Last synced: 8 days ago
JSON representation
A set of examples for ink! smart contract language. Happy hacking!
- Host: GitHub
- URL: https://github.com/use-ink/ink-examples
- Owner: use-ink
- License: unlicense
- Created: 2023-02-16T10:27:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-03T18:35:09.000Z (7 months ago)
- Last Synced: 2024-05-06T20:37:39.626Z (6 months ago)
- Topics: blockchain, examples, kusama, polkadot, rust, smart-contracts, substrate, wasm
- Language: Rust
- Homepage: https://use.ink
- Size: 10.6 MB
- Stars: 90
- Watchers: 8
- Forks: 45
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
This repository contains a set of example contracts for ink!.
Have a look at the different examples to better understand how to use ink! to build your own Substrate smart contracts.
### Can I add a new example here?
Please don't add them here, but create a Pull Request to the `integration-tests/public` folder in [the ink! repository](https://github.com/paritytech/ink) instead.
The content of that folder is synchronized with this repository on new releases.## Preparation
For building the example smart contracts found in this folder you will need to have [`cargo-contract`](https://github.com/paritytech/cargo-contract) installed.
```sh
cargo install cargo-contract --force
```We use the `--force` to update to the most recent `cargo-contract` version.
## Build example contract and generate the contracts metadata
To build a single example and generate the contracts Wasm file, navigate to the root of the smart contract and run the following command:
`cargo contract build`
You should now have an optimized `.wasm` file, a `metadata.json` file and a `.contract` file in the `target` folder of your contract.
The `.contract` file combines the Wasm and metadata into one file and can be used for instantiation.## Running front end dApp examples
1. Install [nodejs](https://nodejs.org/en/) and then install [pnpm](https://pnpm.io/) `npm install -g pnpm`
2. Install dependencies `pnpm i`
3. Run each example with `pnpm `. e.g. `pnpm flipper`
4. Visit [http://localhost:5173](http://localhost:5173) in your browser.### Commands
* `pnpm basic-contract-caller`
* `pnpm contract-terminate`
* `pnpm contract-transfer`
* `pnpm erc20`
* `pnpm erc721`
* `pnpm flipper`
* `pnpm incrementer`All examples are built with [useink](https://use.ink/frontend/overview), a React hooks library built by the ink! team.
## License
The examples in this folder are released into the public domain.
We hope they help you build something great with ink!.See the [LICENSE file](LICENSE) in this folder for more details.