A one-stop-shop for web3 development resources, including tutorials, sample code, and best practices for building decentralized applications.
- Client Framework: React
- Ethereum development environment: Hardhat
- Ethereum Web Client Library: Ethers.js
- API Layer: The Graph Protocol
| Description | URL |
|---|---|
| Everything resource | https://naderdabit.notion.site/Nader-s-web3-Resources-for-Developers-a200ed2ef21c4d578dc158df2b882c63 |
| Description | URL |
|---|---|
| Build a dapp with hardhat, react and ethersjs | https://dev.to/yakult/a-tutorial-build-dapp-with-hardhat-react-and-ethersjs-1gmi |
| How to deploy an ERC-20 token on ankr rpc | https://ankr.hashnode.dev/how-to-deploy-your-own-erc-20-token-with-ankr-and-hardhat-on-eth-goerli-testnet |
| Understand The Graph For Beginners | https://www.youtube.com/watch?v=l2rzT_Dp4T0 |
| Building GraphQL apis on Ethereum | https://dev.to/edge-and-node/building-graphql-apis-on-ethereum-4poa |
| Description | URL |
|---|---|
| Compilation of patterns and best practices for Solidity | https://github.com/fravoll/solidity-patterns |
| Refresher on Solidity state variables | https://docs.soliditylang.org/en/latest/contracts.html#constant-state-variables |
| How to create tests for solidity smart contracts | https://stermi.medium.com/how-to-create-tests-for-your-solidity-smart-contract-9fbbc4f0a319 |
| How to fork mainnet and impersonate accounts in hardhat | https://medium.com/coinmonks/impersonating-accounts-with-hardhat-21212c94dcec |
| How to build a dividend token in a gas-efficient way | https://www.crowdbotics.com/blog/how-to-build-a-dividend-token-with-solidity |
| Read and understand smart contracts easily | https://www.contractreader.io |
| Learn to use Foundry for Beginners | https://medium.com/@jtriley15/the-foundry-evm-development-environment-f198f2e4c372 |
| Description | URL |
|---|---|
| Learn to write Assembly in Solidity | https://jeancvllr.medium.com/solidity-tutorial-all-about-assembly-5acdfefde05c |
| Description | URL |
|---|---|
| How to make your smart contracts upgradeable | https://blog.logrocket.com/using-uups-proxy-pattern-upgrade-smart-contracts/ |
| How to write upgradeable contracts | https://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable |
| How diamond proxy works | https://dev.to/mudgen/how-diamond-storage-works-90e |
| Beginner's guide to Diamond proxy standard | https://blessingemah.medium.com/a-beginners-guide-to-the-diamond-standard-proxy-b57076365403 |
| How Diamond storage works | https://dev.to/mudgen/how-diamond-storage-works-90e |
| Quick start tutorial on creating Diamond and Facets | https://www.quicknode.com/guides/ethereum-development/smart-contracts/the-diamond-standard-eip-2535-explained-part-2/#create-and-deploy-the-diamond-smart-contract |
| Why do we need loupe functions in Diamond | https://dev.to/mudgen/why-loupe-functions-for-diamonds-1kc3 |
| Documentation for DELEGATECALL | https://eips.ethereum.org/EIPS/eip-7 |
| Description | URL |
|---|---|
| Smart contract security field guide | https://scsfg.io/ |
| Concise intro to basic attacks for beginners | https://www.halborn.com/blog/post/defi-security-part-3-smart-contract-vulnerabilities |
| Learn EVM attacks | https://github.com/coinspect/learn-evm-attacks |
| Exhaustive EVM attack vectors | https://github.com/Quillhash/Solidity-Attack-Vectors |
| Re-entrancy attack case study | https://medium.com/valixconsulting/solidity-smart-contract-security-by-example-02-reentrancy-b0c08cfcd555 |
How to prevent hacks via DELEGATECALL |
https://betterprogramming.pub/preventing-smart-contract-attacks-on-ethereum-delegatecall-e864d0042188 |
| Smart contract security guidelines | https://blog.openzeppelin.com/smart-contract-security-guidelines/ |
| Smart contract best practices | https://consensys.github.io/smart-contract-best-practices/ |
| Curated list of security tools | https://sovs.notion.site/Security-and-Privacy-3c3e6c296abf45f4a2c92dae3d54c958 |