Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/panaverse/defi-dapps-solidity-smart-contracts
This is a Web 3 Smart Contract learning and teaching repo which will be used to teach students all across Pakistan.
https://github.com/panaverse/defi-dapps-solidity-smart-contracts
dao dapp defi erc1155 erc20 erc721 ethereum hardhat solidity typescript
Last synced: 10 days ago
JSON representation
This is a Web 3 Smart Contract learning and teaching repo which will be used to teach students all across Pakistan.
- Host: GitHub
- URL: https://github.com/panaverse/defi-dapps-solidity-smart-contracts
- Owner: panaverse
- License: mit
- Created: 2021-08-08T05:21:23.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-09T08:53:41.000Z (over 1 year ago)
- Last Synced: 2024-04-13T23:06:19.050Z (7 months ago)
- Topics: dao, dapp, defi, erc1155, erc20, erc721, ethereum, hardhat, solidity, typescript
- Language: TypeScript
- Homepage:
- Size: 17.6 MB
- Stars: 270
- Watchers: 22
- Forks: 115
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Solidity Smart Contracts: Building DeFi DApps and Protocols for the Ethereum Blockchain
### [The Companion Dapp Learning Repo](https://github.com/panacloud-modern-global-apps/dapps-nextjs)
This repo is part of the [Certified Web 3.0 and Metaverse Developer Training Program](https://www.panaverse.co/)
This repository will provide a latest updated learning resource for Solidity developers.
[Digital assets to replace fiat in ten years – Deloitte Survey](https://www.cryptopolitan.com/digital-assets-to-replace-fiat-in-10-years/)
[DeFi can be 100 times larger than today in 5 years](https://cointelegraph.com/news/defi-can-be-100-times-larger-than-today-in-5-years)
[How DeFi Hopes to Disrupt Traditional Finance](https://www.wsj.com/video/series/wsj-glossary/how-defi-hopes-to-disrupt-traditional-finance/1BB73865-57AD-4791-9A36-ADAE3193DA2C)
[Crypto Job Postings Jumped 395% in 2021: LinkedIn](https://www.coindesk.com/business/2022/01/14/crypto-job-postings-jumped-395-in-2021-linkedin/)
[DeFi and NFT Scaled to New Heights in 2021: CoinGecko Report](https://cryptopotato.com/defi-and-nft-scaled-to-new-heights-in-2021-coingecko-report/)
[The 5 Promising Blockchain Projects Leading The Way Forward For Decentralized Technology In 2022](https://www.newsbtc.com/news/company/the-5-promising-blockchain-projects-leading-the-way-forward-for-decentralized-technology-in-2022/)
[DeFi – Reflections on 2021 and the Road Ahead](https://novonews.io/indiv-news?id=82268)
## Class Videos
[Class 1: Steps 00 and 01: Blockchain, Ethereum Smart Contract, and Hardhat Intro in English on Facebook](https://www.facebook.com/fb.anees.ahmed/videos/611810023268930)
[Class 1: Steps 00 and 01: Blockchain, Ethereum Smart Contract, and Hardhat Intro in English on YouTube](https://youtu.be/24Nl4fVGH6g)
[Class 1: Step 00 and 01: Blockchain, Ethereum Smart Contract, and Hardhat Intro in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/394282572468467)
[Class 1: Step 00 and 01: Blockchain, Ethereum Smart Contract, and Hardhat Intro in Urdu on YouTube](https://youtu.be/wXFi1wkn_5o)
[Class 2: Step 03 Part 1 - Solidity Tutorial in English on Facebook](https://web.facebook.com/trouble.maker121/videos/448321510117377)
[Class 2: Step 03 Part 1 - Solidity Tutorial in English on YouTube](https://youtu.be/NcZMDsjJ-OA)
[Class 2: Step 03 Part 1 - Solidity Tutorial in Urdu on Facebook](https://web.facebook.com/Ai.SirQasim/videos/322455473108467)
[Class 2: Step 03 Part 1 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/rfnAsGNH14E)
[Class 3: Step 03 Part 2 - Solidity Tutorial in English on Facebook](https://web.facebook.com/fb.anees.ahmed/videos/7151001034909886)
[Class 3: Step 03 Part 2 - Solidity Tutorial in English on YouTube](https://youtu.be/mXuY7Sp5jmw)
[Class 3: Step 03 Part 2 - Solidity Tutorial in Urdu on Facebook](https://web.facebook.com/Ai.SirQasim/videos/2126325780860897)
[Class 3: Step 03 Part 2 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/nhlchB7Mij4)
[Class 3 Part 2: Step 03 Part 2B - Solidity Tutorial in Urdu on YouTube](https://youtu.be/J3C9KGG61pA)
[Class 4: Step 03 Part 3 - Solidity Tutorial in English on Facebook](https://www.facebook.com/fb.anees.ahmed/videos/319111146832336)
[Class 4: Step 03 Part 3 - Solidity Tutorial in English on YouTube](https://youtu.be/t-8fHUpbjb8)
[Class 4: Step 03 Part 3 - Solidity Tutorial in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/1812389385622735)
[Class 4: Step 03 Part 3 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/nbG_FhoCLoE)
[Class 5: Step 03 Part 4 - Solidity Tutorial in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/1378858009232147)
[Class 5: Step 03 Part 4 - Solidity Tutorial in English on YouTube](https://youtu.be/scga3Cy-NFQ)
[Class 5: Step 03 Part 4 - Solidity Tutorial in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/495841945575417)
[Class 5: Step 03 Part 4 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/Rq7q8ztRs70)
[Class 6: Step 03 Part 5 - Solidity Tutorial in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/352545383194950)
[Class 6: Step 03 Part 5 - Solidity Tutorial in English on YouTube](https://youtu.be/56StWx7V4vM)
[Class 6: Step 03 Part 5 - Solidity Tutorial in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/2210008845814579)
[Class 6: Step 03 Part 5 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/lyQUb7vuvpY)
[Class 7: Step 03 Part 6 - Solidity Tutorial in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/474397740982913)
[Class 7: Step 03 Part 6 - Solidity Tutorial in English on YouTube](https://youtu.be/dNel-1J7WAo)
[Class 7: Step 03 Part 6 - Solidity Tutorial in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/1114838999266069)
[Class 7: Step 03 Part 6 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/ynRJq88pJQo)
[Class 8: Step 04 - Chapter 02 Textbook in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/480580873784502)
[Class 8: Step 04 - Chapter 02 Textbook in English on YouTube](https://youtu.be/eLxMxhfEZ9g)
[Class 8: Step 04 - Chapter 02 Textbook in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/647528262963595)
[Class 8: Step 04 - Chapter 02 Textbook in Urdu on YouTube](https://youtu.be/HYgh3Nix7jQ)
[Class 9: Step 04 and 05 - Chapter 02 and 03 Textbook in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/7014356888634818)
[Class 9: Step 04 and 05 - Chapter 02 and 03 Textbook in English on YouTube](https://youtu.be/zGvMRE6rflU)
[Class 9: Step 04 and 05 - Chapter 02 and 03 Textbook in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/1050761768987494)
[Class 9: Step 04 and 05 - Chapter 02 and 03 Textbook in Urdu on YouTube](https://youtu.be/1DmqDVVv0Wg)
[Class 10: Step 6A - Chapter 07 Textbook in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/1248604509216381)
[Class 10: SStep 6A - Chapter 07 Textbook in English on YouTube](https://youtu.be/rgEbkqhr-2g)
[Class 10: Step 6A - Chapter 07 Textbook in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/703398320695153)
[Class 10: Step 6A - Chapter 07 Textbook in Urdu on YouTube](https://youtu.be/VFIItvWFfOY)
[Class 11: Step 6B - Vacation Project Assignment in English on Facebook](https://www.facebook.com/inampaki/videos/717989595995770)
[Class 11: SStep 6B - Vacation Project Assignment in English on YouTube](https://youtu.be/MXINU6LLC2A)
[Class 11: Step 6B - Vacation Project Assignment in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/274105618254173)
[Class 11: Step 6B - Vacation Project Assignment in Urdu on YouTube](https://youtu.be/hLVxr-1seaA)
## We will take a 1 month Ramdan/Summer Vacation and do the following project during this vacation. The project is due after Eid. Classes will also continue after Eid.
## Project 1: Create a Token and Launch ICO/IEO/IDO
As you probably know, the ICO ("Initial Coin Offering") industry has been booming, and it's completely reinventing the way new startups kickstart themselves. In fact, go have a look at [Wikipedia's list of highest crowdfunding projects](https://en.wikipedia.org/wiki/List_of_highest-funded_crowdfunding_projects), and you'll notice that blockchain projects absolutely dominate the list.
[Understand the difference between IDO vs. IEO vs. ICO](https://phemex.com/blogs/what-is-a-dex-ido)
Also check these links for latest listings:
[ICO list at ICO Drops](https://icodrops.com/).
[ICO List of Best New Initial Coin Offerings](https://topicolist.com/).
[Top-Rated Crypto Token Sales: List of New ICOs, STOs, IEOs and IDOsTop-Rated Crypto Token Sales: List of New ICOs, STOs, IEOs and IDOs](https://cryptototem.com/ico-list/)
[ICO List Online](https://www.icolistingonline.com/)
[Binance IEO List](https://coincodex.com/ieo-list/binance/)
[Binance Launchpad](https://www.coinspeaker.com/ieo/platform/binance-launchpad/)
[IEO List](https://icomarks.com/ieo)
[Polkastarter](https://polkastarter.com/)
Project Part 1: How to Launch a IEO on Binance Lauchpad
[Read how to Lauch an IEO](https://appinventiv.com/blog/how-to-launch-an-ieo/)
Your first task of the project is to make a google slides presentation on how to start a IEO on the [Binance Launch Pad](https://www.binance.com/en/support/faq/94ed108ce89d44ab8602aa3c476dfb04).
Note: Also document the alternatives to Binance Launchpad.
Project Part 2: How to Launch a IDO on Polkastarter
Review the [list of top fundraising platforms](https://cryptorank.io/fundraising-platforms)
Your second task of the project is to make a google slides presentation on how to start a IDO on the [Polkastarter](https://polkastarter.com/).
Project Part 3: Create a Pako Token
By creating an token and related contracts, you'll also learn how to handle money sent to to your contracts, which should come in handy if you want to create some kind of paid decentralised service in the future.
Therefore, for the sake of this chapter, let's imagine that our Pako DApp uses its own coin – the Pako Token. We will create two contracts – one for the token itself and one for the token crowd sale (the ICO).
Now Create your own Pako ERC20 Token and deploy it on a testnet. The Token should be to use openzeppelin contracts. You will use Harkhat development envirnoment. Also, write at least 20 automated tests. We will be using the Solidity and Typescript for dvelopment.
Project Part 4: Develop Crowd Sale Contract
Now the next decision you have to make is "how do I get these tokens to users?". This is usually done in one of three ways:
Owned Crowdsale — The Crowdsale contract owns tokens and simply transfers tokens from its own ownership to users that purchase them.
Minted Crowdsale — The Crowdsale mints tokens when a purchase is made.
Allowance Crowdsale — The Crowdsale is granted an allowance to another wallet (like a Multisig) that already owns the tokens to be sold in the crowdsale.
Other option is that we let an exchange handles this process.
In this part of the project we will implement the Owned Crowdsale strategy.
This contract will be responsible to allow users to exchange ETH for our Pako Token. In order to do that we need to
Set a price for our token (1 ETH = 100 Pako Token)Implement a [payable](https://codedamn.com/news/solidity/payable-function-in-solidity-example-how-to-use-it) buyToken() function.
Also may also see [payable example](https://solidity-by-example.org/payable/).
Emit a BuyTokens event that will log who’s the buyer, the amount of ETH sent and the amount of Token bought
Transfer 75% the Tokens to the Crowd Sale contract at deployment time. i.e. Right after the contract is deployed, we want the token contract to send 75% of our token supply to it. While 25% remain in our personal "owner" account.
Transfer the ownership of the Crowd Sale contract (at deploy time) to our frontend address so that we are able to withdraw the ETH.
You can use the [openzeppelin crowd sale contracts](https://docs.openzeppelin.com/contracts/4.x/crowdsales), however you will have to update the code to the latest solidity version.
Also write exentisive tests, for example we will simply send a transaction of 1 ETH from a random account to the contract. After the transaction, we should expect the account to have received Pako, while the contract's balance should have been reduced.
Note: Before you get started writing the token contract we suggest you review [access control](https://docs.openzeppelin.com/contracts/4.x/access-control).
Project Part 5: Trying it with MetaMask
While it's always good to test your code, it's often more satisfying to see the results of your work wrapped in a nice UI. Let's see how we can deploy our contracts and get some Pako tokens into our MetaMask wallet!
We start by running our deployment scripts for the test network so that the new token contracts are uploaded and deployed.
When it's done, take note of what addresses the contracts was uploaded to and copy it!
Now head to MetaMask, and send a transaction of 1 ETH to the crowd sale contract address. If your MetaMask wallet doesn't have any ethers, remember that you can use any faucet.
After the transaction has confirmed, you might be confused about why you can't see any tokens in your wallet. It turns out that you need to manually add the token address in MetaMask in order to "register" it – after all, there are so many tokens out there, there's no way MetaMask could list them all by default!
To do this, open the side menu and click on the "Add token" button to get started:
Once you're on the token page, click on "Add custom token" and paste in the token contract's address in the address field.
After confirming that you want to add the token, you should be able to see your Pako balance right next to your ETH balance in the wallet. How cool!
Project Part 6: Trying it with Multisignature Wallets
[Read](https://www.coindesk.com/tech/2020/11/10/multisignature-wallets-can-keep-your-coins-safer-if-you-use-them-right/)
Now use [Gnosis Safe]{https://gnosis-safe.io/) with multi-sigs to do what you did in the last part.
Project Part 7: Sending Tokens using Ethers.js
Write a Typescript program to send Pako Token to some friend's address using Ethers.js.
[You may follow this tutorial](https://ethereum.org/en/developers/tutorials/send-token-etherjs/)
Project Part 8 Advance: Create, Deploy, Mint, and Sell a NFT
[Read this NFT tutorial series](https://ethereum.org/en/developers/tutorials/how-to-write-and-deploy-an-nft/)
Create a NFT contract using the [OpenZepplen ERC721 NFT Standard](https://docs.openzeppelin.com/contracts/4.x/erc721).
You may use the [Preset ERC721 contract](https://docs.openzeppelin.com/contracts/4.x/erc721#Presets).
Deploy your NFT contract on a testnet, mint it, and view it on the MetaMask wallet and list it on [OpenSea Marketplace](https://opensea.io/) for sale.
[Implement a ERC721 Market](https://ethereum.org/en/developers/tutorials/how-to-implement-an-erc721-market/)
[![Internet's Value Layer](video_image.png)](https://www.youtube.com/watch?v=LNpjKZnsdfI "Internet's Value Layer")
The world of finance and software development is fusing. DeFi, Serverless, AI and IoT have merged. Our plan is to create the quintessential Unicorn Developer for this new age, who have a unique and rare skillset. They are basically individuals who on one hand can develop software and on the other mint money. They will be experts not only in serverless cloud computing technologies but also ninjas of the new token economy and decentralised finance. They will know not only to develop AI and IoT APIs but create a economic system where everyone can participate. In this repo we will focus on learning DeFi.
### Our Text Books
[Mastering Blockchain Programming with Solidity](https://www.oreilly.com/library/view/mastering-blockchain-programming/9781839218262/)
[Book Code](https://github.com/PacktPublishing/Mastering-Blockchain-Programming-with-Solidity)
### To Get Started
[Zero to Hero: Web3.0 and Solidity Development Roadmap 2021](https://javascript.plainenglish.io/zero-to-hero-web3-0-and-solidity-development-roadmap-2021-926e759a366b)
[Read The Book: The Wisdom of Finance - Discovering Humanity in the World of Risk and Return](https://pdfroom.com/books/the-wisdom-of-finance-discovering-humanity-in-the-world-of-risk-and-return/qjb5qerR5xQ/download)
[Watch “The Big Short” Movie](https://youtu.be/vgqG3ITMv1Q)
For complete details about this course visit [Operation Unicorn website](https://www.operationunicorn.org/training)
### Blockchain and Serverless
[How blockchain and serverless processing are impacting event-driven architectures](https://acloudguru.com/blog/engineering/blockchain-and-serverless-processing-similarities-differences-and-how-they-fit-together)
[Blockchain is the Ultimate Serverless Platform](https://www.informit.com/articles/article.aspx?p=3006828)
[On the Serverless Nature of Blockchains and Smart Contracts](https://arxiv.org/pdf/2011.12729.pdf)
### DeFi
[How to DeFi for Beginners](https://landing.coingecko.com/how-to-defi/)
[How to DeFi for Advanced](https://landing.coingecko.com/how-to-defi/)
[DeFi and the Future of Finance](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3711777)
[Ethereum Book](https://github.com/ethereumbook/ethereumbook/)
[How to Become a DeFi Developer](https://defiweekly.substack.com/p/how-to-become-a-defi-developer)
[DeFi Developer Road Map](https://github.com/OffcierCia/DeFi-Developer-Road-Map)
[Ultimate DeFi & Blockchain Research Base](https://github.com/OffcierCia/ultimate-defi-research-base)
[Comparing Centralized to Decentralized Finance](https://arxiv.org/pdf/2106.08157.pdf)
[Finding Alpha in DeFi](https://www.coindesk.com/finding-alpha-in-defi)
[6 Reasons DeFi Will Stay Inefficient (and Profitable)](https://www.coindesk.com/6-reasons-defi-will-stay-inefficient-and-profitable?fbclid=IwAR1g9Sjt6w0WjxQ9O_heJqstSWEBWFnSaOJY0QlJxZaxRzhwJZRmApLhrAU)
### Metamask
[How To Build A Blockchain App with Ethereum, Web3.js & Solidity Smart Contracts](https://www.dappuniversity.com/articles/how-to-build-a-blockchain-app)
[How to Build Ethereum Dapp with React.js · Complete Step-By-Step Guide](https://www.dappuniversity.com/articles/ethereum-dapp-react-tutorial)
[Send ETH payments using React.js / MetaMask](https://www.youtube.com/watch?v=QJZUItAsdfg)
[web3-react: Connect Users to MetaMask (or any wallet) From Your Frontend](https://www.youtube.com/watch?v=DCA53Go5ON8)
[MetaMask (or any wallet) From Your Frontend](https://medium.com/coinmonks/web3-react-connect-users-to-metamask-or-any-wallet-from-your-frontend-241fd538ed39)
### Tokens
[What Is a ‘Semi-Fungible’ Crypto Token?](https://www.coindesk.com/what-is-a-semi-fungible-crypto-token)
### DeFi 2.0
[What's DeFi 2.0? - Full Explanation](https://www.youtube.com/watch?v=uP3cTB5Afs4)
[What is DeFi 2.0, and how can you invest in it?](https://blockworks.co/the-investors-guide-to-defi-2-0/)
[What Is DeFi 2.0 and Why Does it Matter?](https://academy.binance.com/en/articles/what-is-defi-2-0-and-why-does-it-matter)
[DeFi 2.0: A beginner's guide to the second generation of DeFi protocols](https://cointelegraph.com/defi-101/defi2-0-a-beginners-guide-to-the-second-generation-of-defi-protocols)