https://alfvj17.github.io/blockchain-developer-bootcamp-final-project/
NB: Please connect to the Ropsten Network.
- Node.js >= v12.21.0
- npm
- Truffle and Ganache
- Run
npm install
in project root to install Truffle build and smart contract dependencies - Run
npm install @openzeppelin/contracts
to install OpenZeppelin contracts - Run
npm i chai
andnpm i chai-as-promised
to install the assertion libraries for testing - Run local testnet in port
7545
with an Ethereum client, e.g. Ganache truffle migrate --network development
truffle console --network development
- Run tests in Truffle console:
test
npm install
npm i web3
npm start
- Open
http://localhost:3000
0x3D77fC007057880EFf34979f23af8B8Fc6e8ba3A
Yield farming is the practice of staking or lending crypto assets in order to generate high returns or rewards in the form of additional cryptocurrency.
The ACE Token Farm Dapp allows users to stake thier crypto assets into the TokenFarm smart contract on the Dapp and get rewarded with an equal amount of ACE token, an ERC20 token that is created and added to the TokenFarm contract. Users can also unstake their assets anytime and take back the rewards they have recieved for staking.
The ERC20 token is created using the OpenZeppelin contracts and the preminted tokens are transferred to the TokenFarm contract. The owner of the contract can issue dividends to all the investors using dedicated methods from the TokenFarm contract.
- Enter the service website
- Connect to Ropsten Wallet via Metamask
- Stake Crypto Assets into the Dapp
- Issue ERC20 Token Rewards and Dividends to the Investor
- Unstake Crypto Assets from the Dapp
src/components
: Project's React frontend components.src/contracts
: Smart contracts that are deployed in the Ropsten testnet.src/abis
: Build of smart contracts that are deployed in the Ropsten testnet.migrations
: Migration files for deploying contracts insrc/contracts
directory.test
: Tests for smart contracts.scripts
: Useful scripts for the user.
ROPSTEN_INFURA_PROJECT_ID=
ROPSTEN_MNEMONIC=
- Add more crypto assets like the DAI token to the staking pool, so that users can stake any of these assets to get rewarded with ACE tokens.
- Add applications like betting or gambling in the Dapp using chainlink and other protocols, for which users will need ACE tokens to participate. This adds some utility for the ACE tokens.
- Create new applications like betting or gambing for the Dapp.
- Navigate to the application from the Dapp landing page.
- Participate in the application using ACE Tokens.