Learn how to deploy and work with smart contracts on Camino network. Dive into different features and techniques employed in smart contracts. This repo will walk you through all of it and teach you how to build the travel industry of the future in simple terms.
Install Node.js (version 14.x or higher). (If you don't have it already). Unless anything starts breaking this is enough. To check that node is installed correctly, run
node -v
in your terminal. If you see a version number, you are good to go.
When you have node installed, you can install Hardhat by running
npm install --save-dev hardhat
. This will install Hardhat in your project. To check that you are on the right track, runnpx hardhat
in your terminal. If everything is going smooth you'll see a list of commands.
-
Clone the repo by running
git clone https://github.com/chain4travel/camino-builder.git
-
CD into the root directory by running
cd camino-builder
-
Install all the dependencies that are prepared for you in package.json by running
npm install
Now you don't need to create your project from scratch. You can use the project available for you in the repo. Build you contracts by changing or making new files in contracts/, use the script presets in scripts/ to deploy them. Good luck!
- While in many cases you can use almost any wallet, a big part of functionality requires you to have a Camino Wallet. You can create one here. Hackathon participants are asked to pass a KYC-verfication process in advance, so that it doesn't slow you down during your building process.
๐ฉ NOTES:
- After cloning the repo - the only setup you need to perform is setting up .env. It is unique for each subdir! Hardhat won't be able to pull from .env that is located in the root directory!
- When compiling smart contracts for Columbus testnet with Remix IDE, don't forget to set the EVM version as 'istanbul'. (Default is 'shangai'). Otherwise the contract wouldn't compile.
- ๐ Create your first NFT
- ๐ซ Make a token-gate access NFT
- ๐ธ Create a KYC-compliant contract
- ๐ Deploy a token
- ๐ต Build a staking smart contract
- ๐พ Theory
- ๐ Security Studies
- ๐ธ Front-end Integration
- 1๏ธโฃ Intro to Tests
- 2๏ธโฃ Structure of tests
- ๐ฒ Pseudo-randomness Exploit
- ๐ Reentrancy
- Solidity Documentation
- Camino Documentation
- Remix IDE
- Hardhat Documentation
- Ehers.js
- Waffle/Chai Matchers Documentation
- Mocha
- Web3.js
- Viem
- Openzeppelin
- Alchemy
- Static Analysis Tools: Mythril, Slither
- Prep Session 1 Diagram: .excalidraw, .svg
We are always happy to help you learn. If you want some additional support or want to contribute reach out to us on Discord.