Step by step Token / CIS2 tutorial on Concordium
Concordium is a science-based proof-of-stake blockchain created for all, with in particular business applications in mind. Read more about concordium
This repository provides sample implementations of following ways in which a developer can interact with an on chain contract on Concordium.
- Using Concordium Client
- Using Node SDK
- Using Frontend React Code (using Web SDK and Concordium Browser Wallet)
Please do note that this is not an exhaustive list of the languages supported by concordium. There are are SDK's present to interact with the contracts using multiple other languages. A complete list can be found here
- CIS2 Multi / Semi Fungible Smart Contract Reference CIS2 Multi Smart Contract Implementation. Read more about CIS2 - Contract Token Standard
- Marketplace Contract Reference Marketplace Smart Contract Implementation for CIS2 tokens.
- market-ui React based frontend DAPP for marketplace contract. This is the typescript code which can be used with Concordium Browser Wallet to interact with CIS2-Multi and Marketplace Contract in Browser based environments.
- sample-artifacts JSON requests for Smart Contract Methods & Sample Token Metadata Images. This is used while interacting with on chain contracts using Concordium Client & node-cli
- node-cli nodejs based, reference cli implementation for interacting with CIS2-Multi Smart Contract.
- Sample scripts for interacting with Smart Contract using Concordium Client
Throughout this repository Concordium Testnet is being used to demo the functionality.
-
Perquisites
- Download and Install Docker Compose
- Install tools for Smart Contract development
- Clone this Repository
- Create Concordium Account & Wallet
- Download concordium testnet wallet
- Create Testnet Account
- Export wallet and then copy the file in root named concordium-backup.concordiumwallet
-
Build Contracts
cd cis2-multi ## Or cd cis2-market cargo concordium build --out module.wasm --schema-out schema.bin
-
Interact with Contracts
- Using Concordium Client
- Using Node SDK
- Using Frontend React Code