Beginner to blockchain engineer (a journey)

Ever since I began working for KepingAi, I’ve been getting exposures on the crypto space. I’ve learned about how token works economically, tokenomics, and its role on the decentralized finance, DeFi, such as: exchanges, staking, lending, liquidity provider, and others. However, I just recently decided to dig deeper into the smart contracts and Solidity. May 2023, I started my journey on learning about blockchain engineering and here are some of the projects.

All of the projects are built with Solidity and Brownie; and deployed on Sepolia testnet.

1. Fund me smart contract

It’s a simple smart contract where users can send/transfer fund to the contract with minimum amount, in USD. However, only the contract owner that is able to withdraw all of the funds. Since the minimum fund amount is in USD, the contract should be able to use oracle in order to interact with the real time off-chain ETH/USD price rate. This is the project repository.

2. Smart lottery

Developed a decentralized lottery system where users/players should transfer fund, with minimum amount in USD, to enter the lottery. The smart contract will then pick a winner randomly at the end of the lottery and automatically sends all the compounding fund to the winner’s address. In order to ensure a fair and verifiable random number generator (RNG), this contract uses the Chainlink Verifiable Random Function (VRF). This is the project repository.

3. ERC-20 token

Built a simple burnable ERC-20 token. For context, most tokens that are available on the exchanges are built with ERC-20 token (e.g., BTC, ETH, USDC, SHIB, etc). This is the project repository.

4. Crypto lending interface for AAVE v3

This is a simple python interface for users to interact with AAVE v3, one of the most popular crypto lending protocol. The interface allow users to supply/deposit assets as collateral, borrow and repay tokens. This is the project repository.

5. NFT with ERC-721 and ERC-1155

Built simple and advanced non-fungible tokens (NFT) with ERC-721; and the multi-token NFT with ERC-1155. The contract will randomly choose which asset that will be received by a user on every token minting. The deployed contract is also available on OpenSea NFT marketplace (ERC-721 vs ERC-1155). Adding and pinning files/directory to IPFS (Inter-Planetary File System) was also included in this project. This is the project repository.