Skip to content

letmejustputthishere/icrc7_launchpad

Repository files navigation

ICRC-7 Launchpad

Quickstart

Important

Make sure that Node.js >= 20, mops >=1.0.0 and dfx >= 0.23.0 are installed on your system.

Warning

Make sure to have a identity.pem at the root of the project. Provide the account identifier of this identity in the init_args of the dfx.json file for the ledger and cmc canister deployments.

dfx start --clean --background # Run dfx in the background
npm run setup # Install packages, deploy canisters, and generate type bindings

npm start # Start the development server

# in a new terminal run
npm run upload-canisters # upload the wasm files for the icrc7 ledger and asset canister to the launchpad canister
npm run create-collections # create a number of dummy collections on the launchpad

🛠️ Technology Stack

  • Vite: high-performance tooling for front-end web development
  • SvelteKit: a component-based UI library
  • TypeScript: JavaScript extended with syntax for types
  • Sass: an extended syntax for CSS stylesheets
  • Prettier: code formatting for a wide range of supported languages
  • Motoko: a safe and simple programming language for the Internet Computer
  • Mops: an on-chain community package manager for Motoko
  • mo-dev: a live reload development server for Motoko
  • eslint: a static code analysis tool used in software development for identifying problematic patterns or code that doesn't adhere to certain style guidelines in JavaScript and TypeScript
  • Internet Identity: a decentralized identity provider for the Internet Computer
  • pic.js: an Internet Computer Protocol canister testing library for TypeScript and JavaScript

🧪 Testing

You can run npm run test to run unit tests using mops test and end-to-end tests using pic.js.

📚 Documentation

💡 Tips and Tricks

  • Customize your project's code style by editing the .prettierrc file and then running npm run format.
  • Reduce the latency of update calls by passing the --emulator flag to dfx start.
  • Install a Motoko package by running mops add <package-name>. Here is a list of available packages.
  • Split your frontend and backend console output by running npm run frontend and npm run backend in separate terminals.