All-in-one forkable dev stack to build your dapp in Harmony π
π§ͺ Play with contracts and frontend to see how Harmony One works:
Video tutorial with generator βοΈ NEW -> Youtube
Video tutorial manual -> Youtube
NOTE: Tested on Ubuntu 20.04.2 LTS
Clone/fork π§° Harmony Dapp Template:
git clone https://github.com/jotagep/harmony-dapp-template
or
Use our harmony dapp generator βοΈ NEW:
# Install yo and our generator globally
npm install -g yo
npm install -g generator-harmony-dapp
# Create a folder & use harmony dapp generator
mkdir harmony-dapp-template
cd harmony-dapp-template
yo harmony-dapp
Check generator's full documentation
Once you have repository downloaded, you can follow Auto init or Manual init tutorial
This script build & start docker harmony localnet and deploy your contract with Hot reloading, all-in-one command π‘.
cd harmony-dapp-template
yarn autoinit
Install dependencies and build & start your βοΈ Harmony Localnet Node:
cd harmony-dapp-template
yarn install
yarn localnet:build
yarn localnet:start
Open a second terminal window, π° deploy your contract:
cd harmony-dapp-template
yarn deploy
# Localnet by default
# But you can deploy in another network: yarn deploy:testnet // yarn deploy:mainnet
or if you want to have Hot Reloading to deploy your contracts on live:
cd harmony-dapp-template
yarn deploy:watch
Open another terminal window, start your π± frontend:
cd harmony-dapp-template
yarn start
# Start your frontend in localhost:3000
π Edit your smart contract Donation.sol
in packages/hardhat/contracts
π Edit your frontend App.jsx
in packages/frontend/src
πΌ Edit your deployment scripts in packages/hardhat/deploy
π± Open http://localhost:3000 to see the app
To get 100 ONEs in your wallet on localnet
cd harmony-dapp-template
yarn fund 'YOUR_WALLET_ADDRESS'
# Example yarn fund one1hru2uxps5z76atvc666v4yqp8r3894wh9uf7qn
Now you have all you need to interact with example dapp, but that's not all. We decide to add more tasks to Hardhat to simplify your life.
cd harmony-dapp-template
yarn hardhat [GLOBAL_OPTION] [AVALIABLE_TASK]
# Example: yarn hardhat clean
To see this info in your terminal:
yarn hardhat --help
When you want to deploy your contracts in another network: Testnet or Mainnet. You should create .env
file based on .example.env
and set your private keys.
Once you have your project done, you can deployed to live
cd harmony-dapp-template
yarn surge
# By default your frontend is build on localnet network
# You can deploy testnet or mainnet
# Example: yarn surge:testnet
π Inspired by scaffold-eth - Austin Griffith genius π§