You can see this app as a web3 safe, where you can "hide" and save your tokens, and only the address that deployed the smart contract can withdraw and call the other functions.
The smart contract is written in Solidity and allows you to save tokens on chain, with some other basic functionality added.
The purpose is to learn some Solidity, web3.py, web3.js, Ethers.js by creating your own safe deployed on a blockchain.
This smart contract allows you to:
- Store tokens in it (native tokens out of the box).
- Change ownership of the safe.
- Withdraw tokens from its balance.
- See the contract balance.
- Emit events to display additional data on the front-end.
- Destroy the safe.
There are a few ways to use a smart contract like this, and we will see three.
- Programmatically, by using a script, Web3.py and web3.js in this case
- Note that this method is not the most practical, but it's an excellent way to learn how to use those libraries.
- Develop a front-end, using MetaMask and Ethers.js.
- Using a development framework, Ape by ApeWorX in this case.
Note: this project is for educational purposes, avoid to use it for production or with real funds.