├── .eslintrc
├── .github
└── workflows
│ ├── most-popular.yml
│ ├── random-resource.yml
│ └── top-resources.yml
├── .gitignore
├── LICENSE
├── README.md
├── content
├── books
│ ├── build-a-blockchain-from-scratch-in-go.md
│ ├── building-ethereum-dapps-decentralized-applications-on-the-ethereum-blockchain.md
│ ├── ethereum-blockchains-digital-assets-smart-contracts-decentralized-autonomous-organizations.md
│ ├── ethereum-for-web-developers.md
│ ├── hands-on-smart-contract-development-with-solidity-and-ethereum-from-fundamentals-to-deployment.md
│ ├── how-to-defi-advanced.md
│ ├── how-to-defi.md
│ ├── lexon-digital-contracts.md
│ ├── life-after-google.md
│ ├── mastering-ethereum.md
│ ├── metadata.json
│ ├── out-of-the-ether.md
│ ├── the-infinite-machine.md
│ └── token-economy.md
├── code-challenges
│ ├── capture-the-ether.md
│ ├── cipher-shastra.md
│ ├── cryptohack.md
│ ├── cryptozombies.md
│ ├── damn-vulnerable-defi.md
│ ├── etherhack.md
│ ├── metadata.json
│ ├── the-ethernaut.md
│ └── vyperfun.md
├── courses
│ ├── -buildspace.md
│ ├── a16z-crypto-startup-school.md
│ ├── blockchain-and-money.md
│ ├── blockchain-berkeley.md
│ ├── blockchain-specialization.md
│ ├── chainshot.md
│ ├── code-with-ethereum-solidity.md
│ ├── consensys-academy.md
│ ├── cryptohack.md
│ ├── developer-bootcamp-with-solidity-2021.md
│ ├── developing-applications-on-ethereum-blockchain.md
│ ├── get-started-with-blockchain-development.md
│ ├── hyperledger-university-course.md
│ ├── introduction-to-ethers-js.md
│ ├── introduction-to-smart-contracts.md
│ ├── introduction-to-tokens-in-ethereum.md
│ ├── ipfs-course.md
│ ├── kerala-blockchain-academy.md
│ ├── metadata.json
│ ├── nft-school.md
│ ├── pointer.md
│ └── questbook.md
├── games
│ └── metadata.json
├── guides
│ ├── beginners-guide-to-web3.md
│ ├── best-resources-to-learn-solidity.md
│ ├── metadata.json
│ └── what-is-web3.md
├── movies
│ ├── banking-on-bitcoin.md
│ ├── cryptopia.md
│ ├── ethereum-the-infinite-garden.md
│ ├── hopium-diaries.md
│ ├── metadata.json
│ ├── the-infinite-machine-movie.md
│ ├── the-rise-and-rise-of-bitcoin.md
│ └── trust-machine-the-story-of-blockchain.md
├── podcasts
│ ├── chris-dixon-and-naval-ravikant-on-the-tim-ferriss-podcast.md
│ ├── epicenter.md
│ ├── hashing-it-out.md
│ ├── into-the-bytecode.md
│ ├── metadata.json
│ ├── on-the-other-side.md
│ ├── shadowy-super-coders.md
│ ├── signal.md
│ ├── solidity-galaxy-brain.md
│ ├── the-defi-scoop.md
│ ├── vitalik-buterin-on-the-tim-ferris-podcast.md
│ └── zero-knowledge.md
├── starter-kits
│ ├── basic-typescript-starter.md
│ ├── create-eth-app.md
│ ├── create-react-native-dapp.md
│ ├── fullstack-monorepo-template.md
│ ├── hardhat-react-boilerplate.md
│ ├── jolly-roger.md
│ ├── metadata.json
│ ├── next-web3-boilerplate.md
│ ├── popular-contract-templates.md
│ ├── scaffold-eth.md
│ ├── solidity-template.md
│ ├── starknet-hardhat-example.md
│ ├── starknet-react-example.md
│ ├── sveltekit-web3-hackaton-starter.md
│ ├── template-ethereum-contracts.md
│ ├── typescript-solidity-dev-starter-kit.md
│ └── usedapp.md
├── tools
│ └── metadata.json
├── tutorials
│ ├── a-guide-for-reusing-test-code-to-validate-smart-contract-exploits.md
│ ├── a-guide-to-designing-effective-nft-launches.md
│ ├── a-python-guide-to-ethereum-pt-1.md
│ ├── advanced-multiswap.md
│ ├── anatomy-of-a-stark.md
│ ├── arbitrum-tutorials.md
│ ├── become-a-blockchain-engineer.md
│ ├── become-a-smart-contract-auditor.md
│ ├── building-in-public-an-open-source-solana-wallet-cross-platform-app-with-expo-web3-and-react-native.md
│ ├── clean-contracts.md
│ ├── connect-users-to-metamask.md
│ ├── create-an-erc20-token-payment-splitting-smart-contract.md
│ ├── create-your-own-nft-collection-on-ethereum-w-solidity.md
│ ├── dapp-ux-guides.md
│ ├── dapptools-supercharge-your-smart-contracts.md
│ ├── deploy-a-contract-with-brownie.md
│ ├── deposit-and-withdrawal-on-optimistic-ethereum.md
│ ├── eip-2535-diamond-standard.md
│ ├── erc20-token-standard.md
│ ├── ethereum-dev-speed-run.md
│ ├── ethereum-private-keys-attacks.md
│ ├── events-logging-in-solidity.md
│ ├── fetch-data-from-ethereum-with-swr.md
│ ├── flavours-of-on-chain-svg-nfts.md
│ ├── get-to-know-ethereum-calldata.md
│ ├── github-in-remix-ide.md
│ ├── hacking-the-blockchain-an-ultimate-guide.md
│ ├── hardhat-tutorial-for-beginners.md
│ ├── hello-world-smart-contract.md
│ ├── how-does-ethereum-work-anyway-.md
│ ├── how-to-build-a-wallet-generator-for-solana-in-react.md
│ ├── how-to-poc-your-bug-leads.md
│ ├── how-to-save-50-on-gas-costs.md
│ ├── how-to-wrap-your-ethers-contracts-in-svelte-stores-.md
│ ├── introduction-to-ethereum-rollups.md
│ ├── learn-cryptography.md
│ ├── learn-solidity-events.md
│ ├── learn-solidity-the-factory-pattern.md
│ ├── learn-x-in-y-minutes.md
│ ├── learning-blockchain-development.md
│ ├── lessons-from-creating-a-web3-app.md
│ ├── making-dapps-using-svelteweb3.md
│ ├── mapping-vs-array-in-solidity.md
│ ├── metadata.json
│ ├── nft-avatars-for-ens-profiles.md
│ ├── on-chain-generative-nfts.md
│ ├── optimizing-attack-parameters.md
│ ├── optimizing-your-contracts-gas-usage.md
│ ├── plonk-by-hand.md
│ ├── recovering-assets-with-flashbots.md
│ ├── rock-paper-scissors-in-solidity.md
│ ├── set-up-a-solidity-project.md
│ ├── smock-2.md
│ ├── smtchecker-almost-practical-superpower.md
│ ├── smtchecker-remix-dapptools.md
│ ├── solidity-gas-optimizations-pt-3-packing-structs.md
│ ├── solidity-gas-optimizations-series.md
│ ├── staking-dapp.md
│ ├── starknet-cairo-101.md
│ ├── starks-scaling-decentralized-games.md
│ ├── state-state-variables.md
│ ├── store-nft-metadata-and-svgs-on-chain.md
│ ├── the-architecture-of-a-web-3-0-application.md
│ ├── the-complete-guide-to-full-stack-ethereum-development.md
│ ├── tips-and-tricks-to-save-gas.md
│ ├── understanding-solidity-design-patterns.md
│ ├── uniswap-v2-code-walk-through.md
│ ├── unit-testing-in-starknet.md
│ ├── using-optimistic-ethereum-with-hardhat.md
│ ├── voting-system-in-cairo.md
│ └── writing-dapps-with-flutter-solidity.md
├── videos
│ ├── a16z-crypto-startup-school.md
│ ├── blockchain-101-a-visual-demo.md
│ ├── blockchain-101-keys-signing.md
│ ├── blockchain-coding-setup.md
│ ├── blockchain-theory-101.md
│ ├── build-and-deploy-using-hardhat.md
│ ├── building-on-defi-with-solidity-hardhat.md
│ ├── building-on-ethereum.md
│ ├── debugging-with-dapptools.md
│ ├── deploy-smart-contract-with-remix-ide.md
│ ├── end-to-end-nft-tutorial.md
│ ├── eth-build.md
│ ├── ethereum-unity.md
│ ├── ethernaut-challenge-walkthrough.md
│ ├── finematics.md
│ ├── getting-started-with-dapptools.md
│ ├── getting-started-with-foundry.md
│ ├── hack-solidity.md
│ ├── hitchhikers-guide-to-the-evm.md
│ ├── how-to-build-an-nft-marketplace.md
│ ├── how-to-create-on-chain-nfts.md
│ ├── how-to-store-nft-metadata-uri-in-erc1155-solidity.md
│ ├── how-to-write-a-solidity-contract-pt1.md
│ ├── integrate-react-js-with-smart-contracts.md
│ ├── intro-to-solidity-programming-workshop.md
│ ├── learn-solidity-by-examples.md
│ ├── learn-vyper-by-examples.md
│ ├── learning-solidity.md
│ ├── live-smart-contract-hacking.md
│ ├── metadata.json
│ ├── nft-programming-with-moralis.md
│ ├── oracles-in-2-mins.md
│ ├── programming-a-simple-erc-token.md
│ ├── publish-your-nft-on-opensea.md
│ ├── send-eth-payments.md
│ ├── sign-and-verify-messages.md
│ ├── sign-in-with-ethereum-and-decentralized-identity.md
│ ├── solidity-applications.md
│ ├── solidity-blockchain-and-smart-contract-course-–-beginner-to-expert-python-tutorial.md
│ ├── sso-single-sign-on-using-ethereum.md
│ ├── symbolic-testing-with-dapptools.md
│ ├── the-complete-guide-to-full-stack-ethereum-development.md
│ ├── trade-sell-nfts-automatically-from-smart-contract.md
│ ├── transfer-any-erc20-token-from-your-smart-contract.md
│ ├── ultimate-introduction-to-ethereum-dapp-development.md
│ ├── using-and-building-on-arbitrum.md
│ ├── web3-with-solidity-and-svelte.md
│ ├── what-is-multicall-.md
│ └── 🎟-nft-on-💜-polygon-🐳-opensea.md
└── websites
│ ├── a-quick-reference-for-evm-opcodes.md
│ ├── awesome-solidity.md
│ ├── awesome-starknet.md
│ ├── best-practices-for-smart-contract-development.md
│ ├── buidl-guidl.md
│ ├── cairo-by-example.md
│ ├── defi-developer-roadmap.md
│ ├── dissecting-defi-protocols.md
│ ├── eth-build.md
│ ├── ethereum-developer-tools-list.md
│ ├── ethereum-org-developer-portal.md
│ ├── ethereum-stackexchange.md
│ ├── ethfiddle.md
│ ├── evm-codes.md
│ ├── gitcoin.md
│ ├── metadata.json
│ ├── not-so-smart-contracts.md
│ ├── smart-contract-best-practices.md
│ ├── solidity-by-example.md
│ ├── solidity-patterns.md
│ ├── tenderly.md
│ └── the-sway-book.md
├── next-env.d.ts
├── next.config.js
├── package.json
├── public
├── favicon.ico
├── images
│ └── social.png
└── robots.txt
├── src
├── assets
│ └── styles
│ │ ├── globals.scss
│ │ └── variables.scss
├── components
│ ├── SEO.tsx
│ ├── authors.module.scss
│ ├── authors.tsx
│ ├── card.module.scss
│ ├── card.tsx
│ ├── donate.module.scss
│ ├── donate.tsx
│ ├── dropdown.module.scss
│ ├── dropdown.tsx
│ ├── fab.module.scss
│ ├── fab.tsx
│ ├── featured.module.scss
│ ├── featured.tsx
│ ├── filtered-overview.tsx
│ ├── layouts
│ │ ├── main.module.scss
│ │ └── main.tsx
│ ├── link-button.module.scss
│ ├── link-button.tsx
│ ├── link.tsx
│ ├── mobileNav.tsx
│ ├── newsletter.module.scss
│ ├── newsletter.tsx
│ ├── row.module.scss
│ ├── row.tsx
│ ├── sitenav.module.scss
│ ├── sitenav.tsx
│ ├── tag.module.scss
│ ├── tag.tsx
│ ├── tags.module.scss
│ └── tags.tsx
├── context
│ └── navigation.tsx
├── hooks
│ ├── useNavigation.tsx
│ └── useOnOutsideClick.tsx
├── migrate.ts
├── pages
│ ├── [category].tsx
│ ├── [category]
│ │ └── [resource].tsx
│ ├── _app.tsx
│ ├── _document.tsx
│ ├── api
│ │ └── random.ts
│ ├── index.tsx
│ ├── jobs.tsx
│ ├── jobs
│ │ ├── [company].tsx
│ │ └── [company]
│ │ │ └── [job].tsx
│ ├── pages.module.scss
│ ├── sitemap.xml.ts
│ ├── tags.tsx
│ └── tags
│ │ └── [tag].tsx
├── services
│ ├── airtable.ts
│ ├── content.ts
│ ├── jobs.ts
│ └── jobs
│ │ ├── airtable.ts
│ │ ├── breezy.ts
│ │ ├── greenhouse.ts
│ │ ├── index.ts
│ │ ├── lever.ts
│ │ ├── workable.ts
│ │ └── wrk.ts
├── twitter-popular.ts
├── twitter-random.ts
├── twitter-top.ts
├── types
│ ├── category.ts
│ ├── company.ts
│ ├── content-item.ts
│ ├── count.ts
│ ├── index.d.ts
│ ├── job.ts
│ └── services
│ │ ├── item-service.ts
│ │ └── job-service.ts
└── utils
│ ├── constants.ts
│ └── helpers.ts
├── tsconfig.json
└── yarn.lock
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["next/core-web-vitals"]
3 | }
4 |
--------------------------------------------------------------------------------
/.github/workflows/most-popular.yml:
--------------------------------------------------------------------------------
1 | name: Most Popular tweet
2 |
3 | on:
4 | schedule:
5 | - cron: "0 15 * * 0"
6 |
7 | jobs:
8 | build:
9 | name: Tweet most popular categories
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Checkout Repo
13 | uses: actions/checkout@master
14 | - name: Use Node.js
15 | uses: actions/setup-node@v1
16 | with:
17 | node-version: '16.x'
18 | - name: Install Dependencies
19 | run: yarn install
20 | - name: Run Twitter bot
21 | run: yarn twitter:popular
22 | env:
23 | PLAUSIBLE_API_KEY: ${{ secrets.PLAUSIBLE_API_KEY }}
24 | TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }}
25 | TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }}
26 | TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
27 | TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
28 |
--------------------------------------------------------------------------------
/.github/workflows/random-resource.yml:
--------------------------------------------------------------------------------
1 | name: Random Resource tweet
2 |
3 | on:
4 | schedule:
5 | - cron: "30 15 * * *"
6 |
7 | jobs:
8 | build:
9 | name: Tweet random resource
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Checkout Repo
13 | uses: actions/checkout@master
14 | - name: Use Node.js
15 | uses: actions/setup-node@v1
16 | with:
17 | node-version: '16.x'
18 | - name: Install Dependencies
19 | run: yarn install
20 | - name: Run Twitter bot
21 | run: yarn twitter:random
22 | env:
23 | TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }}
24 | TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }}
25 | TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
26 | TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
27 |
--------------------------------------------------------------------------------
/.github/workflows/top-resources.yml:
--------------------------------------------------------------------------------
1 | name: Top Resources tweet
2 |
3 | on:
4 | schedule:
5 | - cron: "0 15 * * 5"
6 |
7 | jobs:
8 | build:
9 | name: Tweet most popular resources
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Checkout Repo
13 | uses: actions/checkout@master
14 | - name: Use Node.js
15 | uses: actions/setup-node@v1
16 | with:
17 | node-version: '16.x'
18 | - name: Install Dependencies
19 | run: yarn install
20 | - name: Run Twitter bot
21 | run: yarn twitter:top
22 | env:
23 | PLAUSIBLE_API_KEY: ${{ secrets.PLAUSIBLE_API_KEY }}
24 | TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }}
25 | TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }}
26 | TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
27 | TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
28 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 | export.json
3 |
4 | # dependencies
5 | /node_modules
6 | /.pnp
7 | .pnp.js
8 |
9 | # env
10 | .env
11 | .env.local
12 |
13 | # testing
14 | /coverage
15 |
16 | # next.js
17 | /.next/
18 | /out/
19 |
20 | # production
21 | /build
22 |
23 | # misc
24 | .DS_Store
25 | *.pem
26 |
27 | # debug
28 | npm-debug.log*
29 | yarn-debug.log*
30 | yarn-error.log*
31 |
32 | # local env files
33 | .env.local
34 | .env.development.local
35 | .env.test.local
36 | .env.production.local
37 |
38 | # vercel
39 | .vercel
40 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Wesley
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # useWeb3
2 |
3 | useWeb3 is a learning platform for developers to explore and learn about Web3. Whether you’re a new dev getting your hands dirty for the first time, or a seasoned developer making the transition into the Web3 space.
4 |
5 | Explore the latest resources, tutorials, challenges, tools, courses and boilerplates and start learning. Once you’re ready, browse the job board to land a job at some of the leading companies that work on core, open-source infrastructure, products, tools, frameworks, DAO's, etc.
6 |
7 | Explore. Learn. Build.
8 |
9 | https://www.useweb3.xyz/
10 |
11 | # Development
12 |
13 | First, install all packages `yarn install` and then run the development server:
14 |
15 | ```bash
16 | yarn dev
17 | ```
18 |
19 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
--------------------------------------------------------------------------------
/content/books/build-a-blockchain-from-scratch-in-go.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Build a Blockchain from Scratch in Go"
3 | description: "Follow the story of a software developer who is looking to revolutionize his local bar by implementing blockchain technology for its payment system."
4 | authors: ["@Web3Coach"]
5 | tags: ["Cryptography"]
6 | languages: ["Go"]
7 | url: "https://web3coach.gumroad.com/l/build-a-blockchain-from-scratch-in-go"
8 | dateAdded: 2021-08-19
9 | level: "Beginner"
10 | date: 2020-06-01
11 | ---
12 |
13 | What will you build?
14 | 1) You will build a peer-to-peer system from scratch
15 | 2) You will secure the system with a day-to-day practical cryptography
16 | 3) You will implement Bitcoin and Ethereum backend components
17 | 4) You will write unit tests and integration tests for all core components
18 |
--------------------------------------------------------------------------------
/content/books/building-ethereum-dapps-decentralized-applications-on-the-ethereum-blockchain.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Building ethereum dapps decentralized applications on the ethereum blockchain"
3 | description: "In this book, you'll learn the principles of Dapps development by rolling up your sleeves and actually building a few!"
4 | authors: ["@Robertinfante"]
5 | tags: ["Dapp","Smart Contracts"]
6 | languages: []
7 | url: "https://amzn.to/3f22DhQ"
8 | dateAdded: 2021-12-31
9 | level: "All"
10 | date: 2017-02-10
11 | ---
12 |
13 | Building Ethereum Dapps teaches Dapps development on the Ethereum blockchain platform. You'll begin with a mental model of how Dapps operate, and then dive into designing and implementing smart contracts in Ethereum's Solidity language. You'll explore Ethereum smart contract development tools, like Truffle and Web3, and pick up best practices for design and security. Practical exercises throughout give you valuable hands-on experience.
--------------------------------------------------------------------------------
/content/books/hands-on-smart-contract-development-with-solidity-and-ethereum-from-fundamentals-to-deployment.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Hands-On Smart Contract Development with Solidity and Ethereum: From Fundamentals to Deployment"
3 | description: "It's the perfect resource for people who want to break into the smart contract field but don't know where to start."
4 | authors: ["@Kevinsolorio","@randallkanna"]
5 | tags: ["Smart Contracts","Dapp","EVM"]
6 | languages: []
7 | url: "https://amzn.to/3Fai5Tq"
8 | dateAdded: 2021-12-31
9 | level: "Beginner"
10 | date: 2016-09-23
11 | ---
12 |
13 | Ready to dive into smart contract development for the blockchain? With this practical guide, experienced engineers and beginners alike will quickly learn the entire process for building smart contracts for Ethereum--the open source blockchain-based distributed computing platform. You'llget up to speed with the fundamentals and quickly move into builder mode.
--------------------------------------------------------------------------------
/content/books/how-to-defi-advanced.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "How to DeFi: Advanced"
3 | description: "Decentralized Finance is taking over the world. Learn how to get started and join the revolution."
4 | authors: ["@coingecko","@Darrenlautf"]
5 | tags: ["DeFi"]
6 | languages: []
7 | url: "https://amzn.to/3osVr4i"
8 | dateAdded: 2021-08-11
9 | level: "Intermediate"
10 | date: 2021-07-01
11 | alternateUrl: "https://www.goodreads.com/book/show/58512673-how-to-defi"
12 | ---
13 |
14 | Decentralized Finance (DeFi) has already existed since 2018, but it has recently witnessed a surge in popularity in the first half of 2021 with no ceiling in sight. Use this book to gain insight into the novel financial innovations enabled by DeFi. Join us in this exciting adventure of redefining finance.
--------------------------------------------------------------------------------
/content/books/how-to-defi.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "How to DeFi"
3 | description: "Decentralized Finance is taking over the world. Learn how to get started and join the revolution."
4 | authors: ["@coingecko","@Darrenlautf"]
5 | tags: ["DeFi"]
6 | languages: []
7 | url: "https://amzn.to/3uFEaFZ"
8 | dateAdded: 2021-08-11
9 | level: "Beginner"
10 | date: 2021-07-01
11 | alternateUrl: "https://www.goodreads.com/book/show/53530922-how-to-defi"
12 | ---
13 |
14 | Decentralized Finance (DeFi) is fast disrupting the traditional financial sector. This updated version of How To DeFi is a must-read book for anyone looking to learn DeFi. It is packed with simple explanations and step-by-step guides to help you understand and get started in this fast-developing ecosystem.
--------------------------------------------------------------------------------
/content/books/lexon-digital-contracts.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Lexon: Digital Contracts"
3 | description: "In non-technical terms, this book explains Digital Con-tracts: legally enforceable smart contracts that anyone can read."
4 | authors: ["@hdiedrich"]
5 | tags: ["Smart Contracts"]
6 | languages: []
7 | url: "https://amzn.to/34pfBUE"
8 | dateAdded: 2022-01-09
9 | level: "All"
10 | date: 2019-10-05
11 | ---
12 |
13 | In non-technical terms, this book explains Digital Con-tracts: legally enforceable smart contracts that anyone can read.
14 |
15 | You do NOT need prior knowledge about blockchains.
16 |
17 | The book outlines the concept, gives examples, provides links to online tools that help to write, sign, deploy and manage digital contracts on the blockchain. Lexon’s grammar, vocabulary and document structure are illustrated. Lex-on's paradigm is explained, including how it differs from other programming languages, staying closer to human thought. Lexon’s relationship to Computational Law and AI is discussed and applications and benefits are detailed. The appendix lists notable steps towards human-readability by other programming languages, complemented with notes on constructed human languages.
--------------------------------------------------------------------------------
/content/books/mastering-ethereum.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Mastering Ethereum"
3 | description: "A guide to the operation and use of Ethereum and other EVM-compatible blockchains."
4 | authors: ["@aantonop","@gavofyork"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://amzn.to/3onZcId"
8 | featured: true
9 | dateAdded: 2021-08-11
10 | level: "Beginner"
11 | date: 2018-11-13
12 | alternateUrl: "https://github.com/ethereumbook/ethereumbook"
13 | ---
14 |
15 | Ethereum represents the gateway to a worldwide, decentralized computing paradigm. This platform enables you to run decentralized applications (DApps) and smart contracts that have no central points of failure or control, integrate with a payment network, and operate on an open blockchain. With this practical guide, Andreas M. Antonopoulos and Gavin Wood provide everything you need to know about building smart contracts and DApps on Ethereum and other virtual-machine blockchains.
16 |
17 | Discover why IBM, Microsoft, NASDAQ, and hundreds of other organizations are experimenting with Ethereum. This essential guide shows you how to develop the skills necessary to be an innovator in this growing and exciting new industry.
--------------------------------------------------------------------------------
/content/books/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "books",
3 | "title": "Books",
4 | "description": "Books are still one most popular ways to acquire new knowledge. These books will provide you with a history of the web, a deep understanding of the fundamentals and provide you with everything you need to know about building smart contracts and DApps on Ethereum.",
5 | "emoji": "📚"
6 | }
--------------------------------------------------------------------------------
/content/code-challenges/capture-the-ether.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Capture the Ether"
3 | description: "Capture the Ether is a game in which you hack Ethereum smart contracts to learn about security."
4 | authors: ["@smarx"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Solidity"]
7 | url: "https://capturetheether.com/"
8 | dateAdded: 2021-08-11
9 | level: "Beginner"
10 | ---
11 |
12 | Capture the Ether is a game in which you hack Ethereum smart contracts to learn about security.
13 |
14 | It's meant to be both fun and educational.
15 |
16 | This game is brought to you by @smarx, who blogs about smart contract development at Program the Blockchain.
--------------------------------------------------------------------------------
/content/code-challenges/cipher-shastra.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Cipher Shastra"
3 | description: "A Smart Contract Security Playground"
4 | authors: ["@razzor_tweet"]
5 | tags: ["Smart Contracts","DeFi","Cryptography","Security"]
6 | languages: ["Solidity"]
7 | url: "https://ciphershastra.com/"
8 | dateAdded: 2021-09-18
9 | level: "All"
10 | ---
11 |
12 | Cipher Shastra is a playground where anyone can enhance their Security Skills by solving and learning from CTF like challenges.
13 |
14 | The playground is open source and anyone can contribute challenges to it
15 | Twitter: @ciphershastra
--------------------------------------------------------------------------------
/content/code-challenges/cryptohack.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "CryptoHack"
3 | description: "Learn about modern cryptography by solving a series of interactive puzzles and challenges."
4 | authors: ["@cryptohack__"]
5 | tags: ["Cryptography"]
6 | languages: []
7 | url: "https://cryptohack.org/challenges/"
8 | dateAdded: 2021-09-18
9 | level: "Beginner"
10 | ---
11 |
12 | Welcome to CryptoHack! These introductory challenges are designed to walk you through the process of solving challenges and submitting flags. Complete the challenges to earn your first gold trophy.
--------------------------------------------------------------------------------
/content/code-challenges/cryptozombies.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "CryptoZombies"
3 | description: "#1 Solidity Tutorial & Ethereum Blockchain Programming Course"
4 | authors: ["@loomnetwork"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://cryptozombies.io/"
8 | featured: true
9 | dateAdded: 2021-08-11
10 | level: "Beginner"
11 | ---
12 |
13 | Learn to Code Blockchain DApps By Building Simple Games
14 |
15 | CryptoZombies is an interactive school that teaches you all things technical about blockchains. Learn to make smart contracts in Solidity or Libra by making your own crypto-collectibles game.
--------------------------------------------------------------------------------
/content/code-challenges/damn-vulnerable-defi.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Damn Vulnerable DeFi"
3 | description: "Put your black hat on, and break some DeFi projects on Ethereum!"
4 | authors: ["@tinchoabbate"]
5 | tags: ["Smart Contracts","Security","EVM"]
6 | languages: ["Solidity"]
7 | url: "https://www.damnvulnerabledefi.xyz/"
8 | featured: true
9 | dateAdded: 2021-08-11
10 | level: "Beginner"
11 | ---
12 |
13 | More and more DeFi projects on Ethereum are getting hacked. This is your chance to join the party.
14 |
15 | Each challenge can be considered standalone. Depending on the challenge, you should either stop the system from working, steal as much funds as you can, or do some other unexpected things.
--------------------------------------------------------------------------------
/content/code-challenges/etherhack.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Etherhack"
3 | description: "At PHDays security conference a new contest called EtherHack was held, to solve all tasks which featured smart contract vulnerabilities."
4 | authors: ["Etherhack"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Solidity"]
7 | url: "https://etherhack.positive.com/"
8 | dateAdded: 2021-08-11
9 | level: "Beginner"
10 | ---
11 |
12 | At PHDays security conference a new contest called EtherHack was held, to solve all tasks which featured smart contract vulnerabilities.
--------------------------------------------------------------------------------
/content/code-challenges/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "code-challenges",
3 | "title": "Code Challenges",
4 | "description": "These interactive game tutorials get you through the basics of web3 development while you play. Build your own games or hack Ethereum smart contracts in a fun and educational way.",
5 | "emoji": "🏆"
6 | }
--------------------------------------------------------------------------------
/content/code-challenges/the-ethernaut.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "The Ethernaut"
3 | description: "A Web3 based wargame played in the Ethereum Virtual Machine"
4 | authors: ["@OpenZeppelin"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Solidity"]
7 | url: "https://ethernaut.openzeppelin.com/"
8 | dateAdded: 2021-08-11
9 | level: "Beginner"
10 | ---
11 |
12 | The Ethernaut is a Web3/Solidity based wargame inspired on overthewire.org, played in the Ethereum Virtual Machine. Each level is a smart contract that needs to be 'hacked'.
13 |
14 | The game is 100% open source and all levels are contributions made by other players. Do you have an interesting idea? PRs are welcome at github.com/OpenZeppelin/ethernaut.
--------------------------------------------------------------------------------
/content/code-challenges/vyperfun.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "VyperFun"
3 | description: "Learn Vyper by building a Pokémon Game!"
4 | authors: ["@vasa_develop"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Vyper"]
7 | url: "https://vyper.fun/"
8 | featured: true
9 | dateAdded: 2021-08-13
10 | level: "Beginner"
11 | ---
12 |
13 | This is an interactive tutorial website for learning Vyper while building games using smart contracts, similar to Cryptozombies.
--------------------------------------------------------------------------------
/content/courses/-buildspace.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "_buildspace"
3 | description: "Learn about crypto by building cool stuff."
4 | authors: ["@_buildspace"]
5 | tags: ["Smart Contracts","Dapp","NFT","DAO"]
6 | languages: ["Solidity"]
7 | url: "https://buildspace.so/"
8 | featured: true
9 | dateAdded: 2021-09-16
10 | level: "Beginner"
11 | ---
12 |
13 | If you're a dev that's curious about crypto but not sure where to start -- this is the spot for you. Get access to project-based courses you'll love.
--------------------------------------------------------------------------------
/content/courses/a16z-crypto-startup-school.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "a16z Crypto Startup School"
3 | description: "Hours of videos, lectures, presentations, real-world insights and fireside chats from some of the best minds in the crypto space."
4 | authors: ["@a16z"]
5 | tags: ["Web3"]
6 | languages: []
7 | url: "https://a16z.com/crypto-startup-school/"
8 | featured: true
9 | dateAdded: 2021-08-11
10 | level: "All"
11 | ---
12 |
13 | Learn How to Build a Crypto Company
14 |
15 | The course videos from a16z’s Crypto Startup School, held in the spring of 2020, are now available to all.
16 |
17 | Use the hours of free videos and the reading materials, to navigate the idea maze and start building crypto projects.
--------------------------------------------------------------------------------
/content/courses/blockchain-and-money.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Blockchain and Money"
3 | description: "This course is for students wishing to explore blockchain technology's potential use—by entrepreneurs and incumbents—to change the world of money and finance."
4 | authors: ["MIT"]
5 | tags: ["Web3","DeFi"]
6 | languages: []
7 | url: "https://ocw.mit.edu/courses/sloan-school-of-management/15-s12-blockchain-and-money-fall-2018/"
8 | dateAdded: 2021-08-11
9 | level: "All"
10 | ---
11 |
12 | This course is for students wishing to explore blockchain technology’s potential use—by entrepreneurs & incumbents—to change the world of money and finance.
13 |
14 | Kicking off with a review of the technology’s initial application, the cryptocurrency Bitcoin, students will gain an understanding of the commercial, technical and public policy fundamentals of blockchain technology, distributed ledgers and smart contracts in both open sourced and private applications.
15 |
16 | The class will then turn to current and potential blockchain applications in the financial sector. This will include reviews of potential use cases for payment systems, central banking, venture capital, secondary market trading, trade finance, commercial banking, post trade possessing and digital ID.
17 |
18 | Along the way, we will explore the markets and regulatory landscape for cryptocurrencies, initial coin offerings, other tokens and crypto derivatives.
--------------------------------------------------------------------------------
/content/courses/blockchain-berkeley.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Blockchain @ Berkeley"
3 | description: "Join over 150,000 students in earning our renowned BerkeleyX Blockchain Fundamentals Professional Certificate, with our free online course series."
4 | authors: ["@CalBlockchain"]
5 | tags: ["Smart Contracts","Dapp","EVM"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://blockchain.berkeley.edu/courses/"
8 | dateAdded: 2021-08-11
9 | level: "All"
10 | ---
11 |
12 | In October 2016, the Berkeley Bitcoin Association, a group of about a dozen members, founded Blockchain at Berkeley, an organization dedicated to becoming the blockchain hub of the East Bay. They also debuted the world’s first undergraduate university-accredited blockchain course, Blockchain Fundamentals, taught to about 50 students. Alongside Blockchain at Berkeley’s education team grew a consultancy that aimed to bridge the gap between geeky bitcoin enthusiasts and technovative early-adopters in the industry to develop Proof-of-Concepts for disruptive blockchain use cases. Since then, as a result of other ambitious B@B members, R&D and Design departments have also emerged.
--------------------------------------------------------------------------------
/content/courses/blockchain-specialization.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Blockchain Specialization"
3 | description: "Innovate with the Next Frontier in Technology. Learn how the blockchain is leading to a paradigm shift in decentralized application programming"
4 | authors: ["@BinaUB"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://www.coursera.org/specializations/blockchain"
8 | dateAdded: 2021-08-17
9 | level: "Intermediate"
10 | ---
11 |
12 | This specialization introduces blockchain, a revolutionary technology that enables peer-to-peer transfer of digital assets without any intermediaries, and is predicted to be just as impactful as the Internet. More specifically, it prepares learners to program on the Ethereum blockchain. The four courses provide learners with (i) an understanding and working knowledge of foundational blockchain concepts, (ii) a skill set for designing and implementing smart contracts, (iii) methods for developing decentralized applications on the blockchain, and (iv) information about the ongoing specific industry-wide blockchain frameworks.
13 |
14 | The specialization covers a range of essential topics, from the cryptographic underpinnings of blockchain technology to enabling decentralized applications on a private Ethereum blockchain platform.
15 |
16 | It is ideal for programmers and designers involved in developing and implementing blockchain applications, and anyone who is interested in understanding its potential.
--------------------------------------------------------------------------------
/content/courses/chainshot.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "ChainShot"
3 | description: "Fast-track your Ethereum Developer career in an instructor-led and challenging bootcamp focused on discussion and application!"
4 | authors: ["@TeamChainShot"]
5 | tags: ["Smart Contracts","Dapp","EVM"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://www.chainshot.com/"
8 | featured: true
9 | dateAdded: 2021-08-11
10 | level: "Beginner"
11 | ---
12 |
13 | Blockchain is an exciting new discipline in Computer Science. It combines a wide array of skills from math and cryptography to social sciences and understanding organizations. Understanding blockchain decentralization and how/where to apply it is a brand new skill that very few have mastered.
14 |
15 | You will build your skills from the ground up with strong fundamentals that will provide you with the ability to adapt in this rapidly evolving ecosystem.
16 |
17 | Choose From Multiple Paths to Begin Your Ethereum Coding Journey.
--------------------------------------------------------------------------------
/content/courses/code-with-ethereum-solidity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Code with Ethereum & Solidity"
3 | description: "Use Ethereum, Solidity, and Smart Contracts to build production-ready apps based on the blockchain"
4 | authors: ["@ste_grider"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://www.udemy.com/course/ethereum-and-solidity-the-complete-developers-guide/"
8 | dateAdded: 2021-08-16
9 | level: "Beginner"
10 | ---
11 |
12 | Smart Contracts? They're here. The Ethereum Blockchain? Covered. Solidity? Yep!
13 |
14 | There can be no understating it: Ethereum and Blockchain technology is the most disruptive force in years. Companies cannot hire developers who understand blockchain technologies fast enough, but there are a tiny number of resources published to help you truly understand what blockchains are used for, let alone build apps with them. That's the purpose of this course: to be the best resource online for learning about Ethereum, blockchains, and how to build apps with this new technology.
15 |
16 | The development community is still figuring out the best way to use Ethereum in the creation of new and exciting apps. I spent a tremendous amount of time to research and create best practice for interfacing with Ethereum from Javascript. I can't overstate it enough; this course will show you the best and most easily repeatable patterns for creating production-ready apps with Ethereum.
--------------------------------------------------------------------------------
/content/courses/consensys-academy.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "ConsenSys Academy"
3 | description: "ConsenSys Academy’s mission is to develop the global blockchain ecosystem by bridging the Ethereum knowledge gap, and revolutionizing education through blockchain technology."
4 | authors: ["@ConsenSys"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://consensys.net/academy/"
8 | dateAdded: 2021-08-11
9 | level: "All"
10 | ---
11 |
12 | Become a certified blockchain developer
13 |
14 | Blockchain Developer Online Bootcamp
15 |
16 | Get the skills you need to become an industry-leading Ethereum developer with our flagship Blockchain Developer Bootcamp! In our cohort-based bootcamp, you'll join a robust community of other students and developers and learn fundamental Ethereum concepts, key tools, security best practices, and smart contract/dApp development. You'll work in teams and have live access to Academy Ethereum experts through our online portal and office hours. You also get lifetime access to the community and one free year of access to the course materials through our alumni program.
--------------------------------------------------------------------------------
/content/courses/cryptohack.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "CryptoHack"
3 | description: "Learn about modern cryptography by solving a series of interactive puzzles and challenges."
4 | authors: ["@cryptohack__"]
5 | tags: ["Cryptography"]
6 | languages: []
7 | url: "https://cryptohack.org/courses/"
8 | dateAdded: 2021-09-18
9 | level: "Beginner"
10 | ---
11 |
12 | Welcome to CryptoHack! We've curated sets of challenges into guided tours, introducing our players to the fundamentals of modern cryptography.
--------------------------------------------------------------------------------
/content/courses/developer-bootcamp-with-solidity-2021.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Developer Bootcamp with Solidity (2021)"
3 | description: "Become An Ethereum Blockchain Developer With One Course. Master Solidity, Web3.JS, Truffle, Metamask, Remix & More!"
4 | authors: ["Ravinder Deol","@thinkingassets","Martin Sterlicchi"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://www.udemy.com/course/blockchain-developer/"
8 | dateAdded: 2021-08-17
9 | level: "Beginner"
10 | ---
11 |
12 | Welcome to the Ethereum Blockchain Developer Bootcamp With Solidity. The only course you'll need to become an Ethereum blockchain developer.
13 |
14 | With over 1,900 ⭐️⭐️⭐️⭐️⭐️ reviews, this course is one of the highest-rated Ethereum blockchain development courses online.
15 |
16 | Updated video tutorials, practical projects, and fast support in the discussion board are how you master Ethereum blockchain development.
17 |
18 | At 13+ hours, this Ethereum blockchain development course is undoubtedly the most comprehensive course of its kind anywhere online.
19 |
20 | Even if you have zero or limited programming experience, this course will take you from beginner to Ethereum blockchain developer.
--------------------------------------------------------------------------------
/content/courses/developing-applications-on-ethereum-blockchain.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Developing Applications on Ethereum Blockchain"
3 | description: "In-depth course about developing DApps on Ethereum"
4 | authors: ["@mushketyk"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: []
7 | url: "https://www.pluralsight.com/courses/ethereum-blockchain-developing-applications"
8 | dateAdded: 2021-11-01
9 | level: "Beginner"
10 | ---
11 |
12 | An in-depth course about developing Full-Stack applications on Ethereum blockchain. It covers the basics of Ethereum and its infrastructure, Solidity programming language, setting up a development environment, testing smart contracts, creating libraries in Solidity, writing frontend for Dapps, and much more.
--------------------------------------------------------------------------------
/content/courses/get-started-with-blockchain-development.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Get started with blockchain development"
3 | description: "This learning path introduces you to blockchain and development on Ethereum. Discover what skills are necessary to learn to begin building your own blockchain networks at scale."
4 | authors: ["@Microsoft"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://docs.microsoft.com/en-us/learn/paths/ethereum-blockchain-development/"
8 | dateAdded: 2021-08-18
9 | level: "Beginner"
10 | ---
11 |
12 | This learning path introduces you to blockchain and development on the Ethereum platform. Discover what skills are necessary to learn to begin building your own blockchain networks at scale.
13 |
14 | In this learning path, you will:
15 |
16 | - Learn the foundations of blockchain and how blockchain technology works.
17 | - Gain an understanding of the tools to develop on the Ethereum blockchain.
18 | - Create smart contracts and decentralized applications.
19 | - Deploy to local and test Ethereum networks.
--------------------------------------------------------------------------------
/content/courses/hyperledger-university-course.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'Enterprise Blockchain Technologies'
3 | description: 'This free, open-source course aims at providing a reliable basis for university students to get started in enterprise blockchain.
4 | '
5 | authors: ['Rafael Belchior and contributors']
6 | level: [Intermediate, Advanced]
7 | tags: ['Smart Contracts','Dapp','Enterprise']
8 | languages: ['Python','JavaScript']
9 | dateAdded: 2022-01-18
10 | url: 'https://github.com/hyperledger-labs/university-course'
11 | ---
12 |
13 | This course contains the practical part of a university course on enterprise blockchain technologies. Typically, a university course is divided into theory and laboratory classes. The theory explains the theoretical foundations behind what is learned in the laboratories. At the end of this course, you will:
14 |
15 | 1. Understand the theory on blockchain: what is it (Lab 1, Lab2), and which problems it can solve (Lab 3)
16 |
17 | 2. Get to know Hyperledger Fabric's components in detail, such as architecture and transactional model (Lab 4), chaincode (Lab 5), network, and how to develop an enterprise full-stack blockchain decentralized application (Lab 6)
18 |
19 | 3. Leverage Hyperledger Umbra to study advanced topics on Fabric (Lab 7, Lab 8)
--------------------------------------------------------------------------------
/content/courses/introduction-to-ethers-js.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Introduction to Ethers.js"
3 | description: "The Ethers.js course is a free course designed to help students learn how to interact with the blockchain via specialized API queries using the ethers.js library"
4 | authors: ["@TeamChainShot"]
5 | tags: ["Dapp"]
6 | languages: ["JavaScript"]
7 | url: "https://www.chainshot.com/learn/ethers"
8 | dateAdded: 2021-09-10
9 | level: "Beginner"
10 | ---
11 |
12 | The Ethers.js course is a free course designed to help students learn how to interact with the blockchain via specialized API queries using the ethers.js library
--------------------------------------------------------------------------------
/content/courses/introduction-to-smart-contracts.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Introduction to Smart Contracts"
3 | description: "Learn Solidity in this practical course"
4 | authors: ["@DefiAcademy","@EdsonAlcala"]
5 | tags: ["Smart Contracts","EVM"]
6 | languages: []
7 | url: "https://www.defi-academy.com/courses/introduction-to-smart-contracts"
8 | dateAdded: 2021-10-07
9 | level: "Beginner"
10 | ---
11 |
12 | Learn the basics of Solidity: the language to create smart contracts.
--------------------------------------------------------------------------------
/content/courses/introduction-to-tokens-in-ethereum.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Introduction to Tokens in Ethereum"
3 | description: "Learn how to create tokens in the Ethereum Blockchain"
4 | authors: ["@DefiAcademy","@EdsonAlcala"]
5 | tags: ["DeFi","NFT"]
6 | languages: []
7 | url: "https://www.defi-academy.com/courses/introduction-to-tokens"
8 | dateAdded: 2021-10-07
9 | level: "Beginner"
10 | ---
11 |
12 | Learn how to create tokens in the Ethereum Blockchain
--------------------------------------------------------------------------------
/content/courses/kerala-blockchain-academy.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kerala Blockchain Academy"
3 | description: "Kerala Blockchain Academy (KBA) offers training programs, consultancy services, and research activities in multiple domains of Blockchain Technology"
4 | authors: ["@kbaiiitmk"]
5 | tags: ["EVM","Smart Contracts","Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://elearning.kba.ai/"
8 | dateAdded: 2021-12-20
9 | level: "All"
10 | ---
11 |
12 | Blockchain Foundation Program
13 | Ethereum Fundamental Courses
14 | Certified Blockchain Associate Program
15 | Certified Hyperledger Fabric Developer Program
--------------------------------------------------------------------------------
/content/courses/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "courses",
3 | "title": "Courses",
4 | "description": "Courses are a great way to learn about blockchain and web3 development. They offer a guided approach to learning. Right from your home and at your own pace. \n\nAll the courses listed have been taken or highly recommended by others. They're either free or offer free introductory lessons, so you can try out their formats before considering to purchase.",
5 | "emoji": "🎓"
6 | }
--------------------------------------------------------------------------------
/content/courses/nft-school.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "NFT School"
3 | description: "Community education platform for developers in the non-fungible token space."
4 | authors: ["@protocollabs"]
5 | tags: ["Web3"]
6 | languages: []
7 | url: "https://nftschool.dev/"
8 | dateAdded: 2021-10-09
9 | level: "All"
10 | ---
11 |
12 | What does it mean to own a piece of the internet? Can you sell a meme to the highest bidder? Is the metaverse finally happening? Let's find out together!
13 |
14 | Welcome to NFT School, a collective of web developers and technology enthusiasts here to figure out what's going on with non-fungible tokens, or NFTs. In the past few years, NFTs have gone from a niche concern within the blockchain world to a cultural phenomenon that has captured the imagination of artists, technologists, and the mass media.
15 |
16 | As builders, we'll be exploring NFTs from the technical side, taking them apart, and seeing how they work. We'll also take a look at some of the use cases for NFTs, so that we can help build new experiences around them.
17 |
18 | We'll be building on a background of modern web development, with a focus on JavaScript. Along the way, we'll get familiar with the core technologies that make NFTs possible, like smart contracts and content-addressed storage. If you're a newcomer to the space and find yourself confused, we want to know about it! Please open an issue (opens new window)with any suggestions for how to make this content more accessible.
--------------------------------------------------------------------------------
/content/courses/pointer.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Pointer"
3 | description: "Earn crypto for learning web3 development skills"
4 | authors: ["@pointer_gg","@KennethCassel"]
5 | tags: ["Web3"]
6 | languages: ["Solidity"]
7 | url: "https://www.pointer.gg"
8 | dateAdded: 2022-01-03
9 | level: "Beginner"
10 | ---
11 |
12 | Learn in-demand web3 skills and get paid in crypto for completing tutorials!
--------------------------------------------------------------------------------
/content/courses/questbook.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Questbook"
3 | description: "Self paced tutorials to learn Web3 by building"
4 | authors: ["@questbookapp","@madhavanmalolan"]
5 | tags: ["Smart Contracts","Dapp","EVM"]
6 | languages: ["Solidity"]
7 | url: "https://www.questbook.app/"
8 | dateAdded: 2021-09-21
9 | level: "All"
10 | ---
11 |
12 | Questbook is a decentralized university where learning is always free. We enable with our cryptoeconomics and a native erc20 coin that powers the ecosystem.
13 |
14 | Wikipedia is where the world collaborates on facts, StackOverflow is where the world collaborates on technical question answers, but where does the world collaborate on great tutorials? That is the gap that Questbook fills. All the content is created collaboratively by the community and contributors are compensated by tokens from Questbook and other retroactive grants.
15 |
16 | Questbook will train the next 10 Million web3 developers not only with bite sized content created by the community but also by making it accessible on a mobile phone. Users will be able to learn and write web3 programming directly from a mobile phone. No need for a laptop. This unlocks a huge market in India, Southeast Asia, Africa and Latin America where many people don’t have access to a laptop - but have a mobile phone. But, it also allows those with access to be able to learn on the go.
--------------------------------------------------------------------------------
/content/games/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "games",
3 | "title": "Games",
4 | "description": "",
5 | "emoji": "🎲"
6 | }
--------------------------------------------------------------------------------
/content/guides/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "guides",
3 | "title": "Guides",
4 | "description": "These guides provide a more structured approach to learning.",
5 | "emoji": "📖"
6 | }
--------------------------------------------------------------------------------
/content/movies/banking-on-bitcoin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Banking on Bitcoin"
3 | description: "Bitcoin is the most disruptive invention since the Internet, and now an ideological battle is underway between fringe utopists and mainstream capitalism."
4 | authors: ["Christopher Cannucciari"]
5 | tags: []
6 | languages: []
7 | url: "https://www.imdb.com/title/tt5033790/"
8 | dateAdded: 2021-11-05
9 | level: "All"
10 | ---
11 |
12 | The film shows the players who are defining how this technology will shape our lives.
--------------------------------------------------------------------------------
/content/movies/cryptopia.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Cryptopia"
3 | description: "Bitcoin, Blockchains and the Future of the Internet"
4 | authors: ["Torsten Hoffmann","Michael Watchulonis"]
5 | tags: []
6 | languages: []
7 | url: "https://www.imdb.com/title/tt9203586/"
8 | dateAdded: 2021-11-05
9 | level: "All"
10 | ---
11 |
12 | Five years after his first documentary, award-winning producer/director Torsten Hoffmann revisits Bitcoin and sets out to explore the evolution of the blockchain industry and its new promise. Can this technology, designed to operate independent of trust and within a decentralized network, really provide a robust alternative to the Internet as we know it?
--------------------------------------------------------------------------------
/content/movies/ethereum-the-infinite-garden.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Ethereum: The Infinite Garden"
3 | description: "Ethereum: The Infinite Garden is a character-driven documentary film on the challenges and rewards of building a new world."
4 | authors: ["Zach Ingrasci","Chris Temple"]
5 | tags: []
6 | languages: []
7 | url: "https://optimist.co/films/ethereum-the-infinite-garden/"
8 | dateAdded: 2021-11-09
9 | level: "All"
10 | ---
11 |
12 | A vibrant community of developers, entrepreneurs, artists and crypto enthusiasts chart the future of the Ethereum blockchain as it experiences unprecedented growth. Ethereum: The Infinite Garden is a character-driven documentary film on the challenges and rewards of building a new world.
--------------------------------------------------------------------------------
/content/movies/hopium-diaries.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Hopium Diaries"
3 | description: "An dystopian view of the new financial world emerging from crypto"
4 | authors: ["@RektHQ"]
5 | tags: ["DeFi","Web3"]
6 | languages: []
7 | url: "https://youtu.be/v1Z5BnBuFyE"
8 | dateAdded: 2022-01-04
9 | level: "All"
10 | ---
11 |
12 | This is a video from Rekt, the dark web of DeFi journalism.
--------------------------------------------------------------------------------
/content/movies/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "movies",
3 | "title": "Movies",
4 | "description": "These documentaries help provide a better understanding of blockchain technology and crypto. They take you through the history, fundamentals, risks and towards the next steps.",
5 | "emoji": "🎬"
6 | }
--------------------------------------------------------------------------------
/content/movies/the-infinite-machine-movie.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "The Infinite Machine - movie"
3 | description: "The Infinite Machine tells the riveting true story of the creation of Ethereum, the second-largest cryptocurrency and most active blockchain network"
4 | authors: ["@CamiRusso"]
5 | tags: []
6 | languages: []
7 | url: "https://www.theinfinitemachinemovie.com/"
8 | dateAdded: 2021-11-30
9 | level: "All"
10 | ---
11 |
12 | The Ethereum movie will leverage Ethereum technology, more specifically, non-fungible tokens, to help finance the film and transform its audience from passive expectators, into active participants.
13 |
14 | 40 emerging artists from developing nations where crypto is life-changing have come together to showcase their interpretation of the Ethereum logo for a collection of 10,499 unique NFTs, to be sold in the coming weeks.
15 |
16 | NFT holders will be bound by the token, forming a community that is united by the belief in a more decentralized future powered by ETH. Token holders will get access to exclusive perks and further drops.
--------------------------------------------------------------------------------
/content/movies/the-rise-and-rise-of-bitcoin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "The Rise and Rise of Bitcoin"
3 | description: "A computer programmer becomes fascinated with Bitcoin, and through his involvement in the Bitcoin community, we learn about the impending global impact of this amazing technology."
4 | authors: ["Nicholas Mross"]
5 | tags: []
6 | languages: []
7 | url: "https://www.imdb.com/title/tt2821314/"
8 | dateAdded: 2021-11-05
9 | level: "All"
10 | ---
11 |
12 | A computer programmer becomes fascinated with the digital currency Bitcoin, and through his involvement in the Bitcoin community, we learn about the impending global impact of this amazing new technology.
--------------------------------------------------------------------------------
/content/movies/trust-machine-the-story-of-blockchain.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Trust Machine: The Story of Blockchain"
3 | description: "TRUST MACHINE is the first blockchain-funded, blockchain-distributed, and blockchain-focused documentary, from entertainment tech company SingularDTV and Futurism Studios."
4 | authors: ["Alex Winter"]
5 | tags: []
6 | languages: []
7 | url: "https://www.imdb.com/title/tt7407496/"
8 | dateAdded: 2021-11-05
9 | level: "All"
10 | ---
11 |
12 | TRUST MACHINE is the first blockchain-funded, blockchain-distributed, and blockchain-focused documentary, from entertainment tech company SingularDTV and Futurism Studios. The feature documentary explores the evolution of cryptocurrency, blockchain and decentralization, including the technology's role in addressing important real-world problems, such as world hunger and income inequality.
--------------------------------------------------------------------------------
/content/podcasts/epicenter.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Epicenter"
3 | description: "A weekly podcast about the blockchain and cryptocurrency industy."
4 | authors: ["@seb2point0","@crainbf","@meherroy","@sunnya97","@tw_tter"]
5 | tags: []
6 | languages: []
7 | url: "https://epicenter.tv/"
8 | dateAdded: 2021-08-16
9 | level: "All"
10 | ---
11 |
12 | Epicenter is the OG of crypto podcasts, making sense of cryptocurrencies and blockchain since before they were cool. Through interviews with founders and buidlers, we explore the technical, economic and social implications of this game-changing industry.
--------------------------------------------------------------------------------
/content/podcasts/hashing-it-out.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Hashing it Out"
3 | description: "Hashing It Out is a podcast that dives into the weeds of technology and how it impacts society."
4 | authors: ["@hashingitoutpod"]
5 | tags: ["Web3"]
6 | languages: []
7 | url: "https://www.youtube.com/channel/UCAI6Gk0R_1aGa76ShKFA78Q/videos"
8 | dateAdded: 2021-11-15
9 | level: "All"
10 | ---
11 |
12 | We are not shy about getting technical during the discussion and feel long form conversation is the best way to share information. We hope you enjoy!
--------------------------------------------------------------------------------
/content/podcasts/into-the-bytecode.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Into the Bytecode"
3 | description: "Into the Bytecode is a podcast about the ideas shaping crypto."
4 | authors: ["@sinahab"]
5 | tags: ["Web3"]
6 | languages: []
7 | url: "https://bytecode.substack.com/archive"
8 | dateAdded: 2021-11-15
9 | level: "All"
10 | ---
11 |
12 | Sina Habibian previously led engineering at a Layer 2 protocol and worked on ecosystem development at the Ethereum Foundation.
--------------------------------------------------------------------------------
/content/podcasts/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "podcasts",
3 | "title": "Podcasts",
4 | "description": "Listen to some of the best minds in the space. This list contains several podcasts and individual episodes that cover real-world insights, fireside chats and interviews covering the technology and evolution of Web3.",
5 | "emoji": "🎙️"
6 | }
--------------------------------------------------------------------------------
/content/podcasts/on-the-other-side.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "On The Other Side"
3 | description: "Exploring the intersection of society, culture, and crypto."
4 | authors: ["@chaserchapman"]
5 | tags: ["Web3"]
6 | languages: []
7 | url: "https://www.othersidepod.xyz/"
8 | dateAdded: 2021-10-06
9 | level: "All"
10 | ---
11 |
12 | Exploring the intersection of society, culture, and crypto.
--------------------------------------------------------------------------------
/content/podcasts/shadowy-super-coders.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Shadowy Super Coders"
3 | description: "An experimental new show - shadowy super coders. Great conversations with the people building the future of Web3."
4 | authors: ["@dabit3"]
5 | tags: ["Web3"]
6 | languages: []
7 | url: "https://www.youtube.com/playlist?list=PLSMvK3DkHvw-QOR6Fk1AFSsH11xD5nA2X"
8 | dateAdded: 2021-11-15
9 | level: "All"
10 | ---
11 |
12 | An experimental new show - shadowy super coders. Great conversations with the people building the future of Web3.
--------------------------------------------------------------------------------
/content/podcasts/signal.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "SIGNAL"
3 | description: "a podcast to empower the technology ecosystem through stories from the people that are participating in the next generation of the internet."
4 | authors: ["@ConsenSys"]
5 | tags: ["Web3"]
6 | languages: ["Solidity"]
7 | url: "https://signal-by-consensys.simplecast.com/"
8 | dateAdded: 2021-08-18
9 | level: "All"
10 | ---
11 |
12 | ConsenSys, the market-leading blockchain technology company, presents "SIGNAL," a podcast to empower the technology ecosystem through stories from the people that are participating in the next generation of the internet. Hear from the most captivating Ethereum insiders—from technologists and entrepreneurs to designers and creatives from all around the world—and join us for inspiring conversations on the future of finance, crypto, and what's making the Web3 world.
--------------------------------------------------------------------------------
/content/podcasts/solidity-galaxy-brain.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Solidity Galaxy Brain"
3 | description: "Conversations with Solidity developers about the contracts they've written and the contracts they admire."
4 | authors: ["@nnnnicholas"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://www.soliditygalaxybrain.com/"
8 | dateAdded: 2022-01-09
9 | level: "All"
10 | ---
11 |
12 | Conversations with Solidity developers about the contracts they've written and the contracts they admire.
--------------------------------------------------------------------------------
/content/podcasts/the-defi-scoop.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "The DeFi Scoop"
3 | description: "The bi-weekly podcast where our host DeFi Dave talks to industry leaders about everything DeFi and beyond."
4 | authors: ["@gelatonetwork"]
5 | tags: ["DeFi"]
6 | languages: []
7 | url: "https://linktr.ee/thedefiscoop"
8 | dateAdded: 2021-11-18
9 | level: "All"
10 | ---
11 |
12 | The bi-weekly podcast where our host DeFi Dave talks to industry leaders about everything DeFi and beyond.
--------------------------------------------------------------------------------
/content/podcasts/vitalik-buterin-on-the-tim-ferris-podcast.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Vitalik Buterin on the Tim Ferris podcast"
3 | description: "Vitalik Buterin provides a short overview of Ethereum and how it compares to Bitcoin and other platforms."
4 | authors: ["@naval","@tferriss","@VitalikButerin"]
5 | tags: ["Web3"]
6 | languages: []
7 | url: "https://tim.blog/2021/03/08/vitalik-buterin-naval-ravikant/"
8 | dateAdded: 2021-08-16
9 | level: "Intermediate"
10 | ---
11 |
12 | Vitalik Buterin, creator of Ethereum, on understanding Ethereum, ETH vs. BTC, ETH2, scaling plans and timelines, NFTs, future considerations, life extension, and more (ft. Naval Ravikant)
--------------------------------------------------------------------------------
/content/podcasts/zero-knowledge.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Zero Knowledge"
3 | description: "Where we talk about zero knowledge research and the decentralised web"
4 | authors: ["@AnnaRRose"]
5 | tags: ["Security","Cryptography"]
6 | languages: []
7 | url: "https://www.zeroknowledge.fm/"
8 | dateAdded: 2021-08-16
9 | level: "Intermediate"
10 | ---
11 |
12 | Zero Knowledge is a podcast which goes deep into the tech that will power the emerging decentralised web and the community building this. Covering the latest in zero knowledge research and applications, the open web as well as future technologies and paradigms that promise to change the way we interact — and transact — with one another online.
13 |
14 | Zero Knowledge is hosted by Anna Rose
--------------------------------------------------------------------------------
/content/starter-kits/basic-typescript-starter.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Basic Typescript Starter"
3 | description: "Ethereum Dapp Basic Typescript Starter"
4 | authors: ["@nezzRX"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://github.com/nezz0746/typescript-eth-starter"
8 | dateAdded: 2021-09-16
9 | level: "All"
10 | ---
11 |
12 | This monorepo should allow you to get started with a simple Greeter smart contract on localhost and Rinkeby in record time with this basic react stack using
13 |
14 | - Typescript
15 | - NextJS
16 | - Hardhat
17 | - useDapp
18 | - Tailwind CSS
19 | - Redux Toolkit
20 | - Yarn Workspace
--------------------------------------------------------------------------------
/content/starter-kits/create-eth-app.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Create Eth App"
3 | description: "Create Ethereum-powered apps with one command"
4 | authors: ["@PaulRBerg","@TomFrench_eth","@0xKaden"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://github.com/paulrberg/create-eth-app"
8 | featured: true
9 | dateAdded: 2021-09-16
10 | level: "All"
11 | ---
12 |
13 | Create Eth App supports multiple frontend frameworks. It comes with a host of decentralized finance templates pre-filled with contract ABIs, addresses and subgraphs. Everything you need to build a modern Ethereum-powered single-page app.
14 |
15 | - Learning how to write Ethereum-powered apps in a comfortable and feature-rich development environment.
16 | - Starting new Ethereum-powered single-page React applications without wasting time on copy-pasting boilerplates
17 | - Creating examples with React for your Ethereum-related libraries and components.
--------------------------------------------------------------------------------
/content/starter-kits/create-react-native-dapp.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "create-react-native-dapp"
3 | description: "create-react-native-dapp is an npx utility to help quickly bootstrap React Native applications with access to the Ethereum Blockchain."
4 | authors: ["@cawfree"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript","React-Native"]
7 | url: "https://github.com/cawfree/create-react-native-dapp"
8 | dateAdded: 2021-09-16
9 | level: "All"
10 | ---
11 |
12 | Our goal is to help create a sustainable open source ecosystem for Web3 in React Native by providing a dependable common runtime which we can buidl upon and extend together.
13 |
14 | Features
15 | - Bootstrapped by Expo.
16 | - Easily take advantage of Expo's high quality, well-supported and well-documented library architecture.
17 | - Supports Android, iOS and the Web.
18 |
19 | - Served with Hardhat.
20 | - Your generated app comes with a simple example contract which you can deploy, test and interact with directly.
21 |
22 | - Powered by WalletConnect.
23 | - Connect to secure wallets such as Rainbow out of the box!
24 |
25 | - It's typed, and pretty.
26 | - It comes pre-configured with TypeScript to help write applications that scale.
27 | - It's integrated with prettier and husky to ensure coding standards are enforced right from the beginning.
28 |
29 | - And it's ready to go.
30 | - Built applications come pre-packaged with .env support using react-native-dotenv and companion tests for your contracts.
31 | - Projects are initialized using deep linking so external navigation is a breeze.
--------------------------------------------------------------------------------
/content/starter-kits/fullstack-monorepo-template.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Fullstack monorepo template"
3 | description: "Full-stack dApp starter for solidity smart contract development"
4 | authors: ["@nfs__21"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://github.com/G3root/nextjs-dapp-starter-ts"
8 | dateAdded: 2021-11-09
9 | level: "All"
10 | ---
11 |
12 | A monorepo boilerplate code for typesafe full-stack Solidity development based on template-ethereum-contracts .
--------------------------------------------------------------------------------
/content/starter-kits/hardhat-react-boilerplate.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Hardhat React boilerplate"
3 | description: "Write smart-contracts that are typed, deployed, instantiated and connected to provider in React app."
4 | authors: ["@_robertosnap","@JonRamvi"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://github.com/symfoni/hardhat-react-boilerplate"
8 | dateAdded: 2021-09-16
9 | level: "All"
10 | ---
11 |
12 | Write smart-contracts that are typed, deployed, instantiated and connected to provider in React app.
--------------------------------------------------------------------------------
/content/starter-kits/jolly-roger.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Jolly Roger"
3 | description: "A template to build a decentralised application using ethereum, buidler, svelte and thegraph"
4 | authors: ["@wighawag"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://github.com/wighawag/jolly-roger"
8 | dateAdded: 2021-09-16
9 | level: "All"
10 | ---
11 |
12 | A template to build a decentralised application using ethereum, buidler, svelte and thegraph
--------------------------------------------------------------------------------
/content/starter-kits/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "starter-kits",
3 | "title": "Starter kits",
4 | "description": "These boilerplates and starterkits allow you to quickly get into web3 and smart contract development. Clone a repo or run a single command and start coding. These are the web3 equivalents of 'create-react-app'.",
5 | "emoji": "🏗️"
6 | }
--------------------------------------------------------------------------------
/content/starter-kits/next-web3-boilerplate.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Next Web3 boilerplate"
3 | description: "Slightly opinionated Web3 boilerplate based on Next.js and SWR"
4 | authors: ["@mirshko"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://github.com/mirshko/next-web3-boilerplate"
8 | dateAdded: 2021-09-16
9 | level: "All"
10 | ---
11 |
12 | This is a default Next.js project bootstrapped with create-next-app, customized as the default boilerplate for new Web3 projects.
13 |
14 | Features
15 | - Separate packages from ethers.js for improved tree-shaking, often only ethers Contracts
16 | - Hooks-first approach to fetching and caching data from Contracts and memoization for performance with SWR
17 | - web3-react for ease of connecting to Web3 providers with a solid API
18 | - Auto-generates types for the contract ABIs in the /contracts folder via TypeChain
--------------------------------------------------------------------------------
/content/starter-kits/popular-contract-templates.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Popular Contract Templates"
3 | description: "Deployable templates of popular smart contracts"
4 | authors: ["@marcelc63"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://github.com/marcelc63/popular-contract-templates"
8 | dateAdded: 2021-10-22
9 | level: "All"
10 | date: 2021-10-12
11 | ---
12 |
13 | This is a collection of templates based on popular smart contracts like CoolCatsNFT and Loot.
14 |
15 | Each contract is unique, addressing different aspects and mechanisms of the smart contract. Accompanying the contract is a detailed breakdown of how the contract is written and hardhat deployment scripts.
16 |
17 | New contracts and breakdown are published every week.
--------------------------------------------------------------------------------
/content/starter-kits/scaffold-eth.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Scaffold-ETH"
3 | description: "Forkable Ethereum dev stack focused on fast product iterations"
4 | authors: ["@austingriffith"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://github.com/scaffold-eth/scaffold-eth"
8 | featured: true
9 | dateAdded: 2021-09-16
10 | level: "All"
11 | ---
12 |
13 | Everything you need to build on Ethereum!
14 |
15 | Quickly experiment with Solidity using a frontend that adapts to your smart contract
--------------------------------------------------------------------------------
/content/starter-kits/solidity-template.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Solidity template"
3 | description: "Combines Hardhat, TypeChain, Ethers, Waffle, Solhint, Solcover and Prettier"
4 | authors: ["@PaulRBerg"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://github.com/paulrberg/solidity-template"
8 | dateAdded: 2021-09-20
9 | level: "All"
10 | ---
11 |
12 | This is a GitHub template, which means you can reuse it as many times as you want. You can do that by clicking the "Use this template" button at the top of the page.
--------------------------------------------------------------------------------
/content/starter-kits/starknet-hardhat-example.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Starknet Hardhat example"
3 | description: "Examples of how Starknet Hardhat plugin can be used."
4 | authors: ["@shard_labs"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: ["Cairo"]
7 | url: "https://github.com/Shard-Labs/starknet-hardhat-example"
8 | dateAdded: 2022-01-15
9 | level: "All"
10 | ---
11 |
12 | Basic Sample Hardhat Project - with Starknet Plugin
13 |
14 | This project demonstrates a basic Hardhat project, but with Starknet plugin.
--------------------------------------------------------------------------------
/content/starter-kits/starknet-react-example.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Starknet React example"
3 | description: "This repo shows how to connect your React app to StarkNet."
4 | authors: ["@ceccon_me"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: ["Cairo","JavaScript"]
7 | url: "https://github.com/fracek/starknet-react-example"
8 | dateAdded: 2022-01-15
9 | level: "All"
10 | ---
11 |
12 | StarkNet.js + React
--------------------------------------------------------------------------------
/content/starter-kits/sveltekit-web3-hackaton-starter.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "SvelteKit Web3 Hackaton Starter"
3 | description: "SvelteKit starter template for Web3 Hackatons"
4 | authors: ["@chiuzon"]
5 | tags: ["Dapp"]
6 | languages: []
7 | url: "https://github.com/chiuzon/sveltekit-web3-hackaton-starter"
8 | dateAdded: 2021-11-25
9 | level: "All"
10 | date: 2021-11-25
11 | ---
12 |
13 | Simple SvelteKit starter template for Web3 Hackatons. Uses svelteWeb3 for the wallet interactions, has examples on how to use stores and ethers contracts.
--------------------------------------------------------------------------------
/content/starter-kits/template-ethereum-contracts.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Template Ethereum contracts"
3 | description: "Template to develop ethereum smart contracts"
4 | authors: ["@wighawag"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://github.com/wighawag/template-ethereum-contracts"
8 | dateAdded: 2021-09-20
9 | level: "All"
10 | ---
11 |
12 | Boilerplate for ethereum solidity smart contract development
--------------------------------------------------------------------------------
/content/starter-kits/typescript-solidity-dev-starter-kit.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Typescript Solidity Dev Starter Kit"
3 | description: "Starter kit for smart contract development using Typescript"
4 | authors: ["@RHLSTHRM"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://github.com/rhlsthrm/typescript-solidity-dev-starter-kit"
8 | dateAdded: 2021-09-16
9 | level: "All"
10 | ---
11 |
12 | This is a starter kit for developing, testing, and deploying smart contracts with a full Typescript environment. This stack uses Hardhat as the platform layer to orchestrate all the tasks. Ethers is used for all Ethereum interactions and testing.
--------------------------------------------------------------------------------
/content/starter-kits/usedapp.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "useDapp"
3 | description: "Framework for rapid Dapp development. Simple. Robust. Extendable. Testable"
4 | authors: ["@ethworks"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://github.com/EthWorks/useDApp"
8 | featured: true
9 | dateAdded: 2021-09-16
10 | level: "All"
11 | ---
12 |
13 | Introduces great features:
14 |
15 | - React hooks - Uses React hooks as your primary building ingredient
16 | - Auto refresh - Refreshes on a new block, wallet change or network change
17 | - Multicall - Combines multiple blockchain calls into a single multicall
18 |
19 | Combines the best practices:
20 | - Modern stack - Employs ethers.js, web3-react, multicall & waffle
21 | - Extendability - Extends easily with custom hooks
22 | - Testability - Simple integration tests for UI and blockchain
--------------------------------------------------------------------------------
/content/tools/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "tools",
3 | "title": "Tools",
4 | "description": "",
5 | "emoji": "🛠️"
6 | }
--------------------------------------------------------------------------------
/content/tutorials/a-guide-for-reusing-test-code-to-validate-smart-contract-exploits.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "A guide for reusing test code to validate smart contract exploits"
3 | description: "This step-by-step guide will help you use developmental test code to validate smart contract exploits"
4 | authors: ["@lucash_dev","@immunefi"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Solidity"]
7 | url: "https://medium.com/immunefi/a-step-by-step-guide-for-reusing-development-test-code-to-validate-smart-contract-exploits-31ffb1afd044"
8 | dateAdded: 2021-10-09
9 | level: "Advanced"
10 | date: 2021-10-04
11 | ---
12 |
13 | Using the project’s code base and test frameworks for trying exploits, written as unit tests.
14 |
15 | This method has a few advantages:
16 | - Sometimes contracts are deployed, but there isn’t solid info on finding them. Using the development team’s code base makes things easier because you don’t have to interact with deployed contracts.
17 | - You can easily test contracts that are in scope for the bounties but haven’t been deployed yet. Forking the mainnet wouldn’t help you here.
18 | - Sometimes project code bases already have tons of tests and scenarios ready. You just need to tweak a few lines of a unit test to test an exploit.
19 | - Project development teams are familiar with their unit tests. A new unit test using the same practices is easier for them to validate than a stand-alone PoC (proof of concept).
20 |
21 | Being able to quickly modify an existing test and check if an exploit works is a valuable asset to have in your toolkit.
--------------------------------------------------------------------------------
/content/tutorials/a-python-guide-to-ethereum-pt-1.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "A Python Guide to Ethereum, Pt. 1"
3 | description: "This post will cover some blockchain basics, then get you interacting with a simulated Ethereum node using Python"
4 | authors: ["@wolovim"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","Python"]
7 | url: "https://snakecharmers.ethereum.org/a-developers-guide-to-ethereum-pt-1/"
8 | dateAdded: 2021-08-17
9 | level: "Beginner"
10 | date: 2020-09-08
11 | ---
12 |
13 | So, you’ve heard about this Ethereum thing and are ready to venture down the rabbit hole? This post will quickly cover some blockchain basics, then get you interacting with a simulated Ethereum node – reading block data, checking account balances, and sending transactions. Along the way, we’ll highlight the differences between traditional ways of building apps and this new decentralized paradigm.
--------------------------------------------------------------------------------
/content/tutorials/advanced-multiswap.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Advanced MultiSwap"
3 | description: "How to better arbitrage with Solidity by making multiple swaps across different decentralized exchanges in a single transaction"
4 | authors: ["@gorgos"]
5 | tags: ["Smart Contracts","DeFi"]
6 | languages: ["Solidity"]
7 | url: "https://soliditydeveloper.com/multiswap-advanced"
8 | dateAdded: 2022-01-10
9 | level: "Advanced"
10 | date: 2021-12-28
11 | ---
12 |
13 | If you want maximum arbitrage performance, you need to swap tokens between exchanges in a single transaction. Or maybe you just want to save gas on certain swaps you perform regularly. Or maybe you have your own custom use case for swapping between decentralized exchanges. And of course maybe you are just here for the learning aspect.
--------------------------------------------------------------------------------
/content/tutorials/arbitrum-tutorials.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Arbitrum Tutorials"
3 | description: "This monorepo will help you get started with building on Arbitrum. It provides various simple demos showing and explaining how to interact with Arbitrum"
4 | authors: ["@arbitrum"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: []
7 | url: "https://github.com/OffchainLabs/arbitrum-tutorials"
8 | dateAdded: 2022-01-15
9 | level: "Intermediate"
10 | ---
11 |
12 | This monorepo will help you get started with building on Arbitrum. It provides various simple demos showing and explaining how to interact with Arbitrum — deploying and using contracts directly on L2, moving Ether and tokens betweens L1 and L2, and more.
13 |
14 | We show how you can use broadly supported Ethereum ecosystem tooling (Hardhat, Ethers-js, etc.) as well as our special arb-ts library for convenience.
--------------------------------------------------------------------------------
/content/tutorials/become-a-blockchain-engineer.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Become a Blockchain Engineer"
3 | description: "Become a blockchain, solidity, and smart contract engineer by following these steps"
4 | authors: ["@PatrickAlphaC"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: []
7 | url: "https://betterprogramming.pub/how-to-become-a-blockchain-engineer-fa4386a0504f"
8 | featured: true
9 | dateAdded: 2021-11-15
10 | level: "Beginner"
11 | date: 2021-11-08
12 | ---
13 |
14 | Becoming a blockchain engineer is the most fun, rewarding, and exhilarating choice I’ve and my colleagues have ever made. And we’ve already blazed the trail for you to get started! In this article, we will show you exactly how to learn to become a blockchain engineer, from beginner to professional.
15 |
16 | Spoiler alert, here is the exact blueprint we are going to cover to get you to a successful blockchain engineer:
17 |
18 | 1. Understand why you should become a blockchain engineer
19 | 2. Take a Blockchain Course
20 | 3. Join a Hackathon, the Community, & Build
21 | 4. Start your own protocol, Take a job, Freelance & Contribute
22 |
23 | If you make it this far, you’ve done it! Although, I’ll add a bonus step 5 that we will talk about soon.
24 |
25 | 5. You’ve made it! Keep learning!
26 |
27 | That’s it! These are the exact steps you need to take to become a blockchain engineer!
--------------------------------------------------------------------------------
/content/tutorials/become-a-smart-contract-auditor.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Become a smart contract auditor"
3 | description: "This guide provides a path on how to get started as a smart contract security auditor."
4 | authors: ["@cmichelio"]
5 | tags: ["Smart Contracts","Security","EVM"]
6 | languages: []
7 | url: "https://cmichel.io/how-to-become-a-smart-contract-auditor/"
8 | dateAdded: 2021-11-15
9 | level: "Intermediate"
10 | date: 2021-10-30
11 | ---
12 |
13 | From time to time, I receive messages asking me for advice on how to get started as a smart contract security auditor. While there are already articles written about this topic, most of them are just a collection of security-related articles which they throw at beginners, overwhelming them. I’ll provide a path that I would take if I had to do it all over again. This will be ETH specific (or more general EVM-specific) as most auditing work is currently still in this ecosystem.
14 |
15 | At the end, I’ll also go over frequently asked questions that are related to auditing and getting your first job.
--------------------------------------------------------------------------------
/content/tutorials/building-in-public-an-open-source-solana-wallet-cross-platform-app-with-expo-web3-and-react-native.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Building in Public an Open Source Solana Wallet Cross-Platform App with Expo, Web3 and React Native"
3 | description: "Blog post series to build step by step a Solana Wallet"
4 | authors: ["@moviendo_me"]
5 | tags: ["Dapp"]
6 | languages: ["Solana"]
7 | url: "https://moviendo.me/building-in-public-an-open-source-solana-wallet-cross-platform-app-with-expo-web3-react-native/index.html"
8 | dateAdded: 2021-09-27
9 | level: "Intermediate"
10 | date: 2021-09-15
11 | ---
12 |
13 | The journey of building a Cross-Platform Solana Wallet to learn the basics to interact with Solana Blockchain.
--------------------------------------------------------------------------------
/content/tutorials/clean-contracts.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Clean Contracts"
3 | description: "A guide on smart contract patterns & practices"
4 | authors: ["@wslyvh"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Solidity"]
7 | url: "https://www.wslyvh.com/clean-contracts/"
8 | dateAdded: 2021-08-29
9 | level: "Intermediate"
10 | date: 2020-07-30
11 | ---
12 |
13 | Blockchain and smart contract development are still relatively new and highly experimental. They require a different engineering mindset than traditional web, or app development where ‘move fast and break things’ has become the norm.
14 |
15 | Blockchain development is much more like hardware, or financial service development. Smart contracts are complex instruments that offer the possibility to have self-enforcing contracts including transparent, tamper-proof, and immutable information. They have the authority to allocate high-value resources between complex systems. Often working autonomously. With huge financial loss at risk. This makes smart contracts critical components in these systems. Development of such components requires more investment, design, and effort upfront. Solid engineering practices, rigorous testing, and a strong security mindset.
--------------------------------------------------------------------------------
/content/tutorials/connect-users-to-metamask.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Connect Users to MetaMask"
3 | description: "in this post I’ll be showing how to use a library called web3-react in order to connect users to MetaMask or any wallet from your frontend."
4 | authors: ["@Shmojii"]
5 | tags: ["Dapp"]
6 | languages: ["JavaScript"]
7 | url: "https://medium.com/coinmonks/web3-react-connect-users-to-metamask-or-any-wallet-from-your-frontend-241fd538ed39"
8 | dateAdded: 2021-09-10
9 | level: "Beginner"
10 | date: 2021-08-10
11 | ---
12 |
13 | in this post I’ll be showing how to use a library called web3-react in order to connect users to MetaMask or any wallet from your frontend.
--------------------------------------------------------------------------------
/content/tutorials/create-an-erc20-token-payment-splitting-smart-contract.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Create an ERC20 token payment splitting smart contract"
3 | description: "Today we will learn how to create our own ERC20 token payment splitter that can be incorporated into any project!"
4 | authors: ["@Martin_Lastname"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://medium.com/coinmonks/create-an-erc20-token-payment-splitting-smart-contract-c79436470ccc"
8 | dateAdded: 2021-09-18
9 | level: "Intermediate"
10 | date: 2021-09-16
11 | ---
12 |
13 | Payments are a reoccurring topic across pretty much every area of crypto, specifically providing payments to multiple stakeholders. For instance, a DAO wants to provide funding to multiple initiatives, a DEX want to consolidate and distribute trading fees to certain participants, or a team wants to distribute tokens to team members as a monthly paycheck.
14 |
15 | Smart contracts allow us to automate these type of payment functions, which limits potential mistakes caused by manually managing payments and allows us to spend our valuable time on other productive tasks.
--------------------------------------------------------------------------------
/content/tutorials/create-your-own-nft-collection-on-ethereum-w-solidity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Create your own NFT collection on Ethereum w/Solidity"
3 | description: "This article introduces NFT's and guides you through creating your NFT collection on Ethereum using solidity."
4 | authors: ["@edatweets_"]
5 | tags: ["Smart Contracts","Dapp","NFT"]
6 | languages: ["Solidity"]
7 | url: "https://eda.hashnode.dev/create-your-own-nft-collection-on-ethereum"
8 | dateAdded: 2021-11-15
9 | level: "Beginner"
10 | date: 2021-11-01
11 | ---
12 |
13 | My Twitter feed has tons of avatar profile pictures, articles are coming out daily showcasing some large NFT sales, and people are earning money with their in-game creatures...
14 |
15 | I guess this means it's time to go down the NFT rabbit hole. So let's get to it!
--------------------------------------------------------------------------------
/content/tutorials/dapp-ux-guides.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Dapp UX guides"
3 | description: "Research-led guides for creating user-friendly blockchain experiences."
4 | authors: ["@ConsenSys"]
5 | tags: ["Dapp","UX & Design"]
6 | languages: []
7 | url: "https://rimble.consensys.design/guides"
8 | dateAdded: 2021-08-17
9 | level: "Beginner"
10 | date: 2018-09-13
11 | ---
12 |
13 | In-depth pieces on designing patterns and workflows that help your users navigate Ethereum.
--------------------------------------------------------------------------------
/content/tutorials/deploy-a-contract-with-brownie.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Deploy a contract with Brownie"
3 | description: "How to deploy a smart contract with Brownie"
4 | authors: ["@sensahil","@QuickNode"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity","Python"]
7 | url: "https://www.quicknode.com/guides/web3-sdks/how-to-deploy-a-smart-contract-with-brownie"
8 | dateAdded: 2021-08-20
9 | level: "Beginner"
10 | date: 2021-07-24
11 | ---
12 |
13 | Python is one of the most versatile programming languages; from researchers running their test models to developers using it in heavy production environments, it has use cases in every possible technical field. In today's guide, we will learn about Brownie, a Python-based tool used to write and deploy smart contracts.
14 |
15 | Prerequisites
16 | - Python3 installed
17 | - Ethereum node
18 | - Text editor
19 | - Command-line
20 | - Love for brownies
--------------------------------------------------------------------------------
/content/tutorials/deposit-and-withdrawal-on-optimistic-ethereum.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Deposit and withdrawal on Optimistic Ethereum"
3 | description: "This tutorial demonstrates how you can use existing Standard bridge infrastructure to deposit and withdraw ERC20 balance between the layers."
4 | authors: ["@optimismPBC"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: ["JavaScript"]
7 | url: "https://github.com/ethereum-optimism/optimism-tutorial/tree/main/l1-l2-deposit-withdrawal"
8 | dateAdded: 2022-01-15
9 | level: "Intermediate"
10 | ---
11 |
12 | This tutorial demonstrates how you can use existing Standard bridge infrastructure to deposit and withdraw ERC20 balance between the layers. For the purpose we are making use of the Standard Bridge architecture and creating a sample ERC20 on L1 and its respective representation using the standard token L2StandardERC20 on L2.
--------------------------------------------------------------------------------
/content/tutorials/eip-2535-diamond-standard.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "EIP-2535 Diamond standard"
3 | description: "EIP-2535: A standard for organizing and upgrading a modular smart contract system."
4 | authors: ["@gorgos"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://soliditydeveloper.com/eip-2535"
8 | dateAdded: 2021-10-24
9 | level: "Advanced"
10 | date: 2021-10-16
11 | ---
12 |
13 | The EIP-2535 standard has several projects already using it, most notably Aavegotchi holding many millions of dollars.
14 |
15 | What is it and should you use it instead of the commonly used proxy upgrade pattern?
16 |
17 | We're not talking about diamond programmer hands here of course. A diamond refers to a smart contract system where functionality and storage is split up into separate contracts. You might already be familiar with the upgrade proxy pattern. It shares some similarities to a diamond. In short to fix the problem of smart contracts not being upgradable due to their immutability, a proxy pattern deploys two contracts.
--------------------------------------------------------------------------------
/content/tutorials/erc20-token-standard.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "ERC20 token standard"
3 | description: "Understand the ERC20 token smart contract"
4 | authors: ["@ethereumdevio"]
5 | tags: ["DeFi","Smart Contracts"]
6 | languages: []
7 | url: "https://ethereumdev.io/understand-the-erc20-token-smart-contract/"
8 | dateAdded: 2021-08-17
9 | level: "Beginner"
10 | date: 2020-04-05
11 | ---
12 |
13 | One of the most significant smart contract standard on Ethereum is known as ERC-20, which has emerged as the technical standard used for all smart contracts on the Ethereum blockchain for fungible token implementations.
14 |
15 | The ERC-20 defines a common list of rules that all Ethereum tokens must adhere to. Consequently, this token standard empowers developers of all types to accurately predict how new tokens will function within the larger Ethereum system. This simplifies and eases developers’ tasks, because they can proceed with their work, knowing that each and every new project won’t need to be redone every time a new token is released, as long as the token follows the rules.
--------------------------------------------------------------------------------
/content/tutorials/ethereum-dev-speed-run.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Ethereum Dev Speed Run"
3 | description: "a quick start for developers"
4 | authors: ["@austingriffith"]
5 | tags: ["Dapp","Smart Contracts"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://medium.com/@austin_48503/%EF%B8%8Fethereum-dev-speed-run-bd72bcba6a4c"
8 | dateAdded: 2021-09-10
9 | level: "Beginner"
10 | date: 2021-07-30
11 | ---
12 |
13 | a quick start for developers
--------------------------------------------------------------------------------
/content/tutorials/ethereum-private-keys-attacks.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Ethereum private keys attacks"
3 | description: "This article is an introduction to possible attacks against cryptography algorithms used in blockchains and is to arouse your curiosity about cryptography."
4 | authors: ["@pierre_ia"]
5 | tags: ["Cryptography","Security"]
6 | languages: []
7 | url: "https://medium.com/@pierreia/quick-tour-on-ethereum-private-keys-attacks-3082846b7632"
8 | dateAdded: 2022-01-10
9 | level: "Intermediate"
10 | date: 2021-12-26
11 | ---
12 |
13 | Your entire Ethereum (and almost every other blockchains) wallet is accessible by your private key, which is basically a random 256 bits long number. In fact, you could enter any 32 hex characters long key, and import an account to your Metamask for example. If you want to try this out, there are two ways: some websites like https://keys.lol/ allow you to see random private keys, and even compute their balance. However, I’d be tempted to think that if you use such websites to compute a private key, you’ll probably won’t be able to withdraw from one whose balance is not zero, as there’s a high chance the website installed a bot that filters the latter and instantly transfers the funds to another address, such as the website owner’s.
--------------------------------------------------------------------------------
/content/tutorials/events-logging-in-solidity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Events & Logging in solidity"
3 | description: "Solidity events are integral for smart contract devs, allowing smart contracts to be tested for specific variables, frontends to be changed in an automated manner, and much more."
4 | authors: ["@PatrickAlphaC"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://blog.chain.link/events-and-logging-in-solidity/"
8 | dateAdded: 2021-11-30
9 | level: "Beginner"
10 | date: 2021-11-22
11 | ---
12 |
13 | Solidity events are integral for smart contract developers, allowing smart contracts to be tested for specific variables, frontends to be changed in an automated manner, and much more. In general, knowing how to use events in Solidity makes smart contract development a whole lot easier.
14 |
15 | In this post, we’ll look into the logging and events feature of the Ethereum Virtual Machine (EVM) from a smart contract developer’s perspective, covering what logging and events are used for, indexed events, and how to use logging and events in Hardhat and Brownie.
--------------------------------------------------------------------------------
/content/tutorials/fetch-data-from-ethereum-with-swr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Fetch data from Ethereum with SWR"
3 | description: "How to Fetch and Update Data From Ethereum with React and SWR"
4 | authors: ["@aboutlo"]
5 | tags: ["Dapp"]
6 | languages: ["JavaScript"]
7 | url: "https://consensys.net/blog/developers/how-to-fetch-and-update-data-from-ethereum-with-react-and-swr/"
8 | dateAdded: 2021-08-17
9 | level: "Intermediate"
10 | date: 2020-06-18
11 | ---
12 |
13 | Ethereum allows us to build decentralized applications (dapps). The main difference between a typical application and a dapp is that you don’t need to deploy a backend—at least as long as you take advantage of the other smart contracts deployed on the Ethereum mainnet.
14 |
15 | Because of that, the frontend plays a major role. It is in charge of marshaling and unmarshaling the data from the smart contracts, handling the interactions with the wallet (hardware or software) and, as usual, managing the UX. Not only that, by design, a dapp uses JSON-RPC calls and it can open a socket connection to receive updates.
16 |
17 | As you can see there are a few things to orchestrate but don’t worry, the ecosystem has matured quite a lot in the last few months.
--------------------------------------------------------------------------------
/content/tutorials/flavours-of-on-chain-svg-nfts.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Flavours of On-Chain SVG NFTs"
3 | description: "Store NFT visuals as SVG in the data URI, so it does not need ancillary infrastructure to support it."
4 | authors: ["@simondlr"]
5 | tags: ["Smart Contracts","NFT"]
6 | languages: ["Solidity"]
7 | url: "https://blog.simondlr.com/posts/flavours-of-on-chain-svg-nfts-on-ethereum"
8 | dateAdded: 2021-09-24
9 | level: "Intermediate"
10 | date: 2021-08-25
11 | ---
12 |
13 | NFTs, as unique items on the blockchain, has a URI that points to data containing the metadata & the corresponding visuals. This URI can be an HTTP link, pointing to a video or image hosted on a normal server, or other services like IPFS (hash-based addresses), or Arweave (incentivized hosting of hash-based content).
14 |
15 | There is another way, however, a format that's become increasingly popular: the usage of a data URI. These URIs contain all the information within it. There is thus no server at the other end. Using data URIs has allowed NFT creators to experiment with putting all the content related to an NFT 'on-chain'. It adds a vector of permanence to the art. If Ethereum continues, it does not need ancillary infrastructure to support it. A common format, currently, is to store the NFT visuals as SVG in the data URI, since most browsers are able to natively parse it.
16 |
17 | It's fun, and due to some of the constraints of smart contract coding (limited execution & expensive storage), it becomes in itself a game of gas golf, trying to pack as much as one can into the architecture to create dynamic art that will live (currently) forever on Ethereum.
--------------------------------------------------------------------------------
/content/tutorials/get-to-know-ethereum-calldata.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Get to know Ethereum Calldata"
3 | description: "This article explain what Ethereum Calldata is and how it's structured."
4 | authors: ["@jeantnd"]
5 | tags: ["Dapp","Smart Contracts","EVM"]
6 | languages: ["Solidity"]
7 | url: "https://medium.com/laika-lab/get-to-know-ethereum-calldata-72f65e8bffef"
8 | dateAdded: 2022-01-13
9 | level: "Intermediate"
10 | date: 2022-01-14
11 | ---
12 |
13 | Have you ever wondered what lies under the hood of the Ethereum network? How the transaction is made. How the data was passing around. And what is it made of?
14 |
15 | This blog is intended to be a very basic introduction to how to look at Ethereum Calldata (Or any other EVM based Calldata) we're going to look at how it structures, what it keeps, and how it can be categorized into what ways.
16 |
17 | The highlight of this article is we will also be revealing how to generate Ethereum Calldata without writing a single line of code - the Laika🐶 way!
--------------------------------------------------------------------------------
/content/tutorials/github-in-remix-ide.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "GitHub in Remix IDE"
3 | description: "Remix release v0.18.0 now includes full support for a plugin called dGIT that allows you to interact with GitHub as if you were doing it on your terminal or in VSCode."
4 | authors: ["@EthereumRemix","@bunsenstraat"]
5 | tags: ["DevEx"]
6 | languages: ["Solidity"]
7 | url: "https://medium.com/remix-ide/github-in-remix-ide-356de378f7da"
8 | dateAdded: 2021-09-25
9 | level: "Intermediate"
10 | date: 2021-09-17
11 | ---
12 |
13 | It supports cloning, pushing ( with pushing with force), pulling, using branches, working with remotes & checking out previous commits & files. It also includes a nifty diff viewer.
14 |
15 | The app does not handle more advanced tasks such as rebasing, squashing and the like. But you should find the basics to be ample.
--------------------------------------------------------------------------------
/content/tutorials/hardhat-tutorial-for-beginners.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Hardhat's tutorial for beginners"
3 | description: "A beginners guide to Ethereum contracts and dApp development"
4 | authors: ["@NomicLabs"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://hardhat.org/tutorial/"
8 | dateAdded: 2021-08-17
9 | level: "Beginner"
10 | date: 2020-03-25
11 | ---
12 |
13 | Welcome to our beginners guide to Ethereum contracts and dApp development. This tutorial is aimed at hackathon participants who are getting setup to quickly build something from scratch.
14 |
15 | To orchestrate this process we're going to use Hardhat, a development environment that facilitates building on Ethereum. It helps developers manage and automate the recurring tasks that are inherent to the process of building smart contracts and dApps, as well as easily introducing more functionality around this workflow. This means compiling and testing at the very core.
16 |
17 | Hardhat also comes built-in with Hardhat Network, a local Ethereum network designed for development. It allows you to deploy your contracts, run your tests and debug your code.
--------------------------------------------------------------------------------
/content/tutorials/hello-world-smart-contract.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Hello World Smart Contract"
3 | description: "This is a step-by-step introductory tutorial that will teach you how to create and deploy a smart contract on Ethereum"
4 | authors: ["@AlchemyPlatform","@thatguyintech","@0xElan"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://docs.alchemy.com/alchemy/tutorials/hello-world-smart-contract/"
8 | dateAdded: 2021-10-16
9 | level: "Beginner"
10 | date: 2021-10-12
11 | ---
12 |
13 | If you are new to blockchain development and don’t know where to start, or if you just want to understand how to deploy and interact with smart contracts, this guide is for you. We will walk through creating and deploying a simple smart contract on the Ropsten test network using a virtual wallet (Metamask), Solidity, Hardhat and Truffle, and Alchemy (don’t worry if you don’t understand what any of this means yet, we will explain it!).
--------------------------------------------------------------------------------
/content/tutorials/how-to-build-a-wallet-generator-for-solana-in-react.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "How to Build a Wallet Generator for Solana in React"
3 | description: "Practical guide you will build a basic Wallet application with React and Web3 that will interact with Solana Network."
4 | authors: ["@moviendo_me"]
5 | tags: []
6 | languages: ["Solana","JavaScript"]
7 | url: "https://www.quicknode.com/guides/web3-sdks/how-to-build-a-wallet-generator-for-solana-in-react"
8 | dateAdded: 2021-10-31
9 | level: "Beginner"
10 | date: 2021-10-29
11 | ---
12 |
13 | This application will do the following operations:
14 |
15 | - Connect to the Network
16 | - Generate an Account
17 | - Get the balance of the generated Account
18 | - Request an Airdrop
--------------------------------------------------------------------------------
/content/tutorials/how-to-poc-your-bug-leads.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "How to PoC your Bug Leads"
3 | description: "In this tutorial you’ll learn how to use a forked environment via Hardhat, to write a PoC for the Alchemix Access Control Exploit."
4 | authors: ["@immunefi"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Solidity"]
7 | url: "https://medium.com/immunefi/how-to-poc-your-bug-leads-5ec76abdc1d8"
8 | dateAdded: 2021-10-24
9 | level: "Advanced"
10 | date: 2021-10-12
11 | ---
12 |
13 | Picture this scenario: you’ve spent the entire day fruitlessly examining smart contract code. And now you’ve stumbled across a snippet of code that makes your Spidey-Senses tingle. You get excited. Could this be the bug that makes you a million dollars, turns you into a hall of fame legendary hacker, and changes your life forever?
14 |
15 | But you’re not 100% sure. How can you tell if that potential vulnerability you just found is critical or non-critical?
16 |
17 | You need to know if there’s a real issue at hand. You don’t want to sound the alarm bell for a false positive.
18 |
19 | Enter the proof-of-concept (PoC). If the bug is valid, a PoC quickly confirms this.
20 |
21 | Having a PoC will also make your bug report easier to follow and much more likely for the project to take it seriously. Not only do they know that the exploit is definitely real, but a PoC often demonstrates the magnitude of the potential damage, which helps to get bug hunters much, much larger rewards.
--------------------------------------------------------------------------------
/content/tutorials/how-to-save-50-on-gas-costs.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "How To Save 50% on Gas Costs"
3 | description: "When we built the first version of Goldfinch, we did not really pay attention to gas costs. This resulted in even basic actions being insanely expensive on our protocol."
4 | authors: ["@_blakewest"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://medium.com/goldfinch-fi/solidity-learnings-how-to-save-50-on-gas-costs-5e598c364ab2"
8 | dateAdded: 2021-08-17
9 | level: "Intermediate"
10 | date: 2021-05-18
11 | ---
12 |
13 | When we built the first version of Goldfinch, we did not really pay attention to gas costs. This resulted in even basic actions being insanely expensive on our protocol. Borrowing money cost $250+ at high gas times 😟. So the first improvement we made was to see how we could reduce gas costs. We spent hours profiling, researching, and going through our code, more or less line by line, to figure out how we could cut gas. Along the way we learned a lot of really useful rules of thumb. These are high level concepts you can always keep in the back of your mind while writing Solidity, both for what adds gas, and what doesn’t add gas, which is not always intuitive. Following these, we were able to cut costs of most functions by 30–50%, without sacrificing much in terms of readability.
--------------------------------------------------------------------------------
/content/tutorials/how-to-wrap-your-ethers-contracts-in-svelte-stores-.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "How to wrap your ethers contracts in svelte stores."
3 | description: "This week I tried to find the best way to interact with ethers contract. I think I kinda find the sweet spot."
4 | authors: ["@chiuzon"]
5 | tags: ["Dapp"]
6 | languages: []
7 | url: "https://chiuzon.medium.com/how-to-wrap-your-ethers-contracts-in-svelte-stores-7ce81d6234b3"
8 | dateAdded: 2021-11-25
9 | level: "Beginner"
10 | date: 2021-11-25
11 | ---
12 |
13 | This week I tried to find the best way to interact with ethers contract. I think I kinda find the sweet spot.
14 |
15 | For instancing I found that derived stores are the best, in theory your store is going to subscribe to your provider store and when the provider updates the contract is going to be re instanced with the signer instead of the json provider, if you don’t need to login with Metamask...
--------------------------------------------------------------------------------
/content/tutorials/introduction-to-ethereum-rollups.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Introduction to Ethereum Rollups"
3 | description: "In this guide, we will go over some Ethereum scaling solutions and deep dive into rollups."
4 | authors: ["@sensahil","@QuickNode"]
5 | tags: ["Scalability"]
6 | languages: []
7 | url: "https://www.quicknode.com/guides/infrastructure/introduction-to-ethereum-rollups"
8 | dateAdded: 2022-01-10
9 | level: "Beginner"
10 | date: 2021-12-29
11 | ---
12 |
13 | Ethereum, the most popular blockchain, has seen scaling issues for quite a long time now. With high gas fees due to congestion being the primary pain point. With the increasing cost to use the network, a plethora of scaling solutions have emerged. Today in this guide, we will go over some Ethereum scaling solutions and deep dive into rollups.
14 |
15 | Ethereum Scaling solutions
16 | The main goal of all the Ethereum scaling solutions is to increase transaction speed and throughput without compromising the decentralized nature of the blockchain.
17 |
18 | There are two main directions in which these scaling solutions are being explored:
19 | - On-chain Scaling
20 | - Off-chain Scaling
--------------------------------------------------------------------------------
/content/tutorials/learn-cryptography.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learn Cryptography"
3 | description: "This tutorial covers the basics of the science of cryptography."
4 | authors: ["@tutorialspoint"]
5 | tags: ["Cryptography","Security"]
6 | languages: []
7 | url: "https://www.tutorialspoint.com/cryptography/"
8 | dateAdded: 2021-08-17
9 | level: "Intermediate"
10 | date: 2015-07-01
11 | ---
12 |
13 | This tutorial covers the basics of the science of cryptography. It explains how programmers and network professionals can use cryptography to maintain the privacy of computer data. Starting with the origins of cryptography, it moves on to explain cryptosystems, various traditional and modern ciphers, public key encryption, data integration, message authentication, and digital signatures.
14 |
15 | This tutorial is meant for students of computer science who aspire to learn the basics of cryptography. It will be useful for networking professionals as well who would like to incorporate various cryptographic algorithms to ensure secure data communication over their networks.
16 |
17 | This tutorial has been prepared with the view to make it useful for almost anyone who is curious about cryptography. A basic knowledge of computer science and a secondary level of mathematics knowledge is sufficient to make the most of this tutorial.
--------------------------------------------------------------------------------
/content/tutorials/learn-solidity-events.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learn Solidity: Events"
3 | description: "How to use events for logging"
4 | authors: ["Wissal Haji"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://betterprogramming.pub/learn-solidity-events-2801d6a99a92"
8 | dateAdded: 2021-09-14
9 | level: "Intermediate"
10 | date: 2021-01-31
11 | ---
12 |
13 | Welcome to another article in the Learn Solidity series, which aims to introduce you to Ethereum programming.
14 |
15 | In the last article, we have seen how to use web3.js to build a dapp. In today’s article, we will see how to use web3.js to read events from the blockchain.
--------------------------------------------------------------------------------
/content/tutorials/learn-solidity-the-factory-pattern.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learn Solidity: The Factory Pattern"
3 | description: "How to use the factory pattern in your smart contracts"
4 | authors: ["Wissal Haji"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://betterprogramming.pub/learn-solidity-the-factory-pattern-75d11c3e7d29"
8 | dateAdded: 2021-09-14
9 | level: "Intermediate"
10 | date: 2020-12-13
11 | ---
12 |
13 | Welcome to another installment of the Learn Solidity series. In the previous article, we discussed how to create a smart contract from within another smart contract. Today, we will take a look at a typical use case for this scenario.
--------------------------------------------------------------------------------
/content/tutorials/learn-x-in-y-minutes.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learn X in Y minutes"
3 | description: "Where X=Solidity"
4 | authors: ["@nemild"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://learnxinyminutes.com/docs/solidity/"
8 | dateAdded: 2021-09-20
9 | level: "Beginner"
10 | ---
11 |
12 | Solidity lets you program on Ethereum, a blockchain-based virtual machine that allows the creation and execution of smart contracts, without requiring centralized or trusted parties.
13 |
14 | Solidity is a statically typed, contract programming language that has similarities to Javascript and C. Like objects in OOP, each contract contains state variables, functions, and common data types. Contract-specific features include modifier (guard) clauses, event notifiers for listeners, and custom global variables.
15 |
16 | Some Ethereum contract examples include crowdfunding, voting, decentralized finance, and blind auctions.
--------------------------------------------------------------------------------
/content/tutorials/learning-blockchain-development.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learning Blockchain Development"
3 | description: "A Guide for Developers Interested in Learning Blockchain Development"
4 | authors: ["@william94029369"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://www.linumlabs.com/articles/a-guide-for-developers-interested-in-learning-blockchain-development"
8 | dateAdded: 2021-08-17
9 | level: "Beginner"
10 | date: 2020-11-24
11 | ---
12 |
13 | I was recently asked in an online forum for my recommendations on resources for developers looking to learn blockchain development, and I started writing an answer, but it sort of kept on going and going. The results are the article in front of you.
14 |
15 | This isn’t an article about the advantages and disadvantages of building on a blockchain. It’s just a guide about the things you’ll need to learn once you’ve decided to learn blockchain, and what the steps of making a blockchain application look like. Not everything should be on a blockchain.
16 |
17 | There are a lot of different resources out there, and as with any tech stack choices, things can get opinionated. There is still a need, especially with regards newcomers in the field, to direct to the right tools. I'll try to find a middle ground in between my opinions and a general list.
--------------------------------------------------------------------------------
/content/tutorials/lessons-from-creating-a-web3-app.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Lessons from creating a Web3 app"
3 | description: "An introduction to blockchain, smart contracts, and decentralized apps."
4 | authors: ["@camiinthisthang"]
5 | tags: ["Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://camiinthisthang.hashnode.dev/wthisweb3"
8 | dateAdded: 2021-10-02
9 | level: "Beginner"
10 | date: 2021-09-28
11 | ---
12 |
13 | I'd been hearing a lot about Web3 and reluctantly did a deep dive on it over the weekend. What really caught my eye is the idea of decentralizing the control and ownership that currently only a few companies have.
14 |
15 | In the Web3 world, this wouldn't happen because of the decentralized nature of Web3 applications, no single entity on the network can block anyone from submitting transactions, taking away control to dictate what is and isn't allowed away from payment processors and the entities that govern them.
--------------------------------------------------------------------------------
/content/tutorials/making-dapps-using-svelteweb3.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Making DAPPs using SvelteWeb3"
3 | description: "My web3 experience started from Svelte but because I didn’t know how to use the window[‘ethereum’] global had to move to React so I could use the web3-react library."
4 | authors: ["@chiuzon"]
5 | tags: ["Dapp"]
6 | languages: ["Vyper"]
7 | url: "https://chiuzon.medium.com/enjoy-making-dapps-using-svelteweb3-b78dfea1d902"
8 | dateAdded: 2021-11-15
9 | level: "Intermediate"
10 | date: 2021-11-14
11 | ---
12 |
13 | My web3 experience started from Svelte but because I didn’t know how to use the window[‘ethereum’] global had to move to React so I could use the web3-react library. I got tired of writing useEffect() so I taught how hard will be to make a library like web3-react but for svelte. It wasn’t exactly that hard, I don’t know why no one did it before me.
14 |
15 | SvelteWeb3 is an adapter for web3-react connectors, at first I wanted to make my own connectors but after some thinking I realized that would be useless and it would add more dependencies.
--------------------------------------------------------------------------------
/content/tutorials/mapping-vs-array-in-solidity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Mapping vs. Array in Solidity"
3 | description: "There are some key differences between mapping and array in Solidity that are important to understand as you progress in your journey as a smart contract developer."
4 | authors: ["@znwhite_"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://www.devtwins.com/blog/understanding-mapping-vs-array-in-solidity"
8 | dateAdded: 2021-11-30
9 | level: "Intermediate"
10 | date: 2021-11-23
11 | ---
12 |
13 | If you already have some experience as a developer, many of the terms and concepts you encounter when first diving into Solidity will hopefully be familiar to you, such as Solidity's Array type, which is very similar to arrays found in other programming languages.
14 |
15 | However, Solidity also has a Mapping type, which may seem similar to an array at first since it is also used to store a group of data.
16 |
17 | However, there are some key differences between mapping and array in Solidity that are important to understand as you progress in your journey as a smart contract developer.
18 |
19 | In this article, we'll be taking a look at both types and discussing their differences, and explaining (with examples) when to use one instead of the other.
--------------------------------------------------------------------------------
/content/tutorials/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "tutorials",
3 | "title": "Tutorials",
4 | "description": "A curated list of free, community tutorials that are based around specific projects, tasks or challenges. They include step-by-step written instructions, screenshots and code examples to help you practice and master new skills.",
5 | "emoji": "💻"
6 | }
--------------------------------------------------------------------------------
/content/tutorials/nft-avatars-for-ens-profiles.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "NFT avatars for ENS profiles"
3 | description: "you can now set an NFT you own as the avatar of your ENS profile, and dapps can then display it alongside your ENS name."
4 | authors: ["@ensdomains"]
5 | tags: ["NFT","Dapp"]
6 | languages: []
7 | url: "https://medium.com/the-ethereum-name-service/nft-avatar-support-for-ens-profiles-bd4a5553f089"
8 | dateAdded: 2021-10-09
9 | level: "Beginner"
10 | ---
11 |
12 | ENS now supports NFT avatars for your profile.
13 |
14 | What this means is you can now set an NFT you own as the avatar of your ENS profile, and dapps can then display it alongside your ENS name.
--------------------------------------------------------------------------------
/content/tutorials/on-chain-generative-nfts.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "On-chain, generative NFTs"
3 | description: "Contract development of Buddy Buddy Tags — fun, completely on-chain, generative NFTs for interpreting friendships🤝"
4 | authors: ["@BeautifoolData"]
5 | tags: ["Smart Contracts","NFT"]
6 | languages: ["Solidity"]
7 | url: "https://medium.com/@beautifooldata/contract-development-of-buddy-buddy-tags-fun-completely-on-chain-generative-nfts-for-be9766bb680d"
8 | dateAdded: 2021-10-02
9 | level: "Intermediate"
10 | date: 2021-09-26
11 | ---
12 |
13 | buddy buddy tag NFTs are a brand new project put together to experiment with completely on-chain generative development. you get one for yourself, for your friend, forever😹. as of this point, there are 13 minted tags, with 7 of them confirmed!
14 |
15 | What does that mean? well, buddy buddy tags are on-chain, generative NFTs that require a minter to submit a buddy’s address when minting. the minter receives a randomized set of emojis along with his wallet address and his buddies. think of it like a fortune cookie, you don’t know what you’ll draw, and the interpretation is up to the minter and his buddy.
--------------------------------------------------------------------------------
/content/tutorials/optimizing-attack-parameters.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Optimizing Attack Parameters"
3 | description: "How to Get a Bigger Bounty by Optimizing Attack Parameters"
4 | authors: ["@bobface16","@immunefi"]
5 | tags: ["Security","DeFi"]
6 | languages: []
7 | url: "https://medium.com/immunefi/how-to-get-a-bigger-bounty-by-optimizing-attack-parameters-a51b144f5cc2"
8 | dateAdded: 2021-09-24
9 | level: "Advanced"
10 | date: 2021-09-15
11 | ---
12 |
13 | Imagine the following scenario: you just found a critical vulnerability that allows funds in a smart contract to be drained. The exploit, however, is complicated and requires multiple payload parameters to be set correctly for it to be effective or even profitable at all.
14 |
15 | It quickly turns out that calculating optimal parameters by hand is infeasible, due to the complex nature of the exploit. And yet, you want to responsibly disclose a Proof of Concept (PoC) that maximizes the amount of funds that can be drained from the contract. Why? Because it’s often true that the greater the funds at risk, the higher the bug bounty reward.
16 |
17 | In such a situation, linear programming can be an exceptionally helpful tool. This is an advanced tutorial for whitehats who are looking to take their hacking skills to the next level.
--------------------------------------------------------------------------------
/content/tutorials/optimizing-your-contracts-gas-usage.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Optimizing your contract’s gas usage"
3 | description: "We will look into tuning and optimizing our Solidity contract to minimize the amount of gas required."
4 | authors: ["@cipherzzz"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://medium.com/coinmonks/optimizing-your-solidity-contracts-gas-usage-9d65334db6c7"
8 | dateAdded: 2021-09-01
9 | level: "Intermediate"
10 | date: 2018-04-05
11 | ---
12 |
13 | As everyone in the Ethereum community knows, Gas is a necessary evil for the execution of smart contracts. If you specify too little, your transaction may not get picked up for processing in a timely manner — or, die in the middle of processing a smart contract action. That being said, a smart contract should not be greedy or loose with the valuable resources that the users entrust to them. It is for this reason that we will look into tuning and optimizing our contract to minimize the amount of gas required.
--------------------------------------------------------------------------------
/content/tutorials/recovering-assets-with-flashbots.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Recovering Assets with Flashbots"
3 | description: "Flashbots Auction is awesome. It allows advanced Ethereum users to do things that were once practically impossible"
4 | authors: ["@KaneWallmann"]
5 | tags: ["Smart Contracts","Security","MEV"]
6 | languages: []
7 | url: "https://medium.com/@kanewallmann_71759/recovering-assets-from-a-hacked-account-with-flashbots-bfe920435fb6"
8 | dateAdded: 2021-11-20
9 | level: "Advanced"
10 | date: 2021-11-13
11 | ---
12 |
13 | Flashbots Auction is awesome. It allows advanced Ethereum users to do things that were once practically impossible (at least for those of us who don’t operate several large Ethereum mining pools). With all the attention around MEV extraction bots, I’d forgive you for thinking that’s the only thing it’s good for. But this week I used it to recover a bag of ENS tokens (worth around $13k USD at the time) from a hacked account and returned them to their rightful owner. Sound like fun? Here’s how I did it.
--------------------------------------------------------------------------------
/content/tutorials/rock-paper-scissors-in-solidity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Rock, Paper, Scissors in Solidity"
3 | description: "This game is to demonstrate Solidity to new-comers and provides a lot of teachable moments"
4 | authors: ["@sculpt_web"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://medium.com/@websculpt/rock-paper-scissors-in-solidity-part-1-9d7c5d8a316e"
8 | dateAdded: 2021-10-02
9 | level: "Intermediate"
10 | date: 2021-09-28
11 | ---
12 |
13 | I chose this game (Rock, Paper, Scissors) as a way to demonstrate Solidity to new-comers, because it was very simple in React, but provides a lot of teachable moments when brought over to Solidity. This little contract shows the immediate differences between blockchain code and the code developers are used to.
--------------------------------------------------------------------------------
/content/tutorials/set-up-a-solidity-project.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Set up a Solidity project"
3 | description: "How to set up a Solidity project and create your first smart contract"
4 | authors: ["@oliverjumpertz"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://blog.oliverjumpertz.dev/how-to-set-up-a-solidity-project-and-create-your-first-smart-contract"
8 | dateAdded: 2021-08-17
9 | level: "Beginner"
10 | date: 2021-06-14
11 | ---
12 |
13 | There are many programming languages out there. But there are not many that were created solely to create smart contracts. Those programs that run on the blockchain. Programs that create crypto coins, NFTs, or whole decentralized exchanges (DEX).
14 |
15 | If you ever wanted to get into smart contract development with Solidity, then this article is for you. Well, even if you never heard of Solidity and smart contracts before, following this article might perhaps inspire you to dig a little deeper and perhaps even create your own crypto coin or DEX.
16 |
17 | This article is a guide and aims to help you to set up your first Solidity project. You will learn how to set up Visual Studio Code for Solidity, install Hardhat as a local development environment, write your first lines of Solidity, test your contract, and then deploy it to a local testnet.
--------------------------------------------------------------------------------
/content/tutorials/smock-2.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Smock 2"
3 | description: "The powerful mocking tool for Hardhat. Features of smock v2 and how to use them with examples."
4 | authors: ["@gorgos"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://soliditydeveloper.com/smock2"
8 | dateAdded: 2021-11-20
9 | level: "Intermediate"
10 | date: 2021-11-14
11 | ---
12 |
13 | The powerful mocking tool for Hardhat. Features of smock v2 and how to use them with examples.
--------------------------------------------------------------------------------
/content/tutorials/smtchecker-almost-practical-superpower.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "SMTChecker: (almost) practical superpower"
3 | description: "A tool that performs formal verification of your contract: you define a specification and SMTChecker formally proves that the contract conforms to the spec."
4 | authors: ["@owpckcr"]
5 | tags: ["Security","Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://medium.com/@sblowpckcr/smtchecker-almost-practical-superpower-5a3efdb3cf19"
8 | dateAdded: 2021-09-01
9 | level: "Advanced"
10 | date: 2021-08-31
11 | ---
12 |
13 | Would you bet your firstborn that the contract you just deployed doesn’t have critical vulnerabilities? If you’re like me, the answer is a resounding ‘no’.
14 | I’ve seen enough hacks in traditional software engineering to know that you can never be 100% sure. That is scary, but a combination of different techniques can get us pretty close to the desired level of confidence. SMTChecker is one of them.
--------------------------------------------------------------------------------
/content/tutorials/smtchecker-remix-dapptools.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "SMTChecker, Remix & Dapptools"
3 | description: "Using SMTChecker formal verification module in Solidity compiler with Remix & Dapptools"
4 | authors: ["@leonardoalt"]
5 | tags: ["Smart Contracts","Security","EVM"]
6 | languages: ["Solidity"]
7 | url: "https://fv.ethereum.org/2021/12/01/smtchecker-dapptools/"
8 | dateAdded: 2021-12-05
9 | level: "Advanced"
10 | date: 2021-12-01
11 | ---
12 |
13 | The SMTChecker is a formal verification module inside the Solidity compiler. Historically it has been complicated to run the SMTChecker on your own contracts, since you had to compile the compiler with an SMT/Horn solver, usually z3. We have been working on different solutions to this, and nowadays it is quite easy to run it.
--------------------------------------------------------------------------------
/content/tutorials/solidity-gas-optimizations-pt-3-packing-structs.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Solidity Gas Optimizations Pt. 3 - Packing Structs"
3 | description: "How to pack structs efficiently to save gas in Solidity"
4 | authors: ["@javier123454321"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://dev.to/javier123454321/solidity-gas-optimizations-pt-3-packing-structs-23f4"
8 | dateAdded: 2021-10-03
9 | level: "Intermediate"
10 | date: 2021-10-03
11 | ---
12 |
13 | Packing structs is one of the ways you can optimize your smart contracts, especially if you will be doing multiple read and writes to storage in the same operation. Here we go over how, and some of the caveats associated with this method.
--------------------------------------------------------------------------------
/content/tutorials/solidity-gas-optimizations-series.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Solidity Gas Optimizations Series"
3 | description: "A serie of posts on Solidity gas optimizations geared for beginners"
4 | authors: ["@javier123454321"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://dev.to/javier123454321/series/14724"
8 | dateAdded: 2021-10-02
9 | level: "Intermediate"
10 | date: 2021-09-09
11 | ---
12 |
13 | A serie of posts on Solidity gas optimizations geared for beginners
--------------------------------------------------------------------------------
/content/tutorials/staking-dapp.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Staking dApp"
3 | description: "The end goal of the project is to mimic the Ethereum 2.0 staking contract using scaffold-eth."
4 | authors: ["@StErMi"]
5 | tags: ["Dapp","Smart Contracts"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://stermi.medium.com/how-to-write-your-first-decentralized-app-scaffold-eth-challenge-1-staking-dapp-b0b6a6f4d242"
8 | dateAdded: 2021-09-01
9 | level: "Intermediate"
10 | date: 2021-08-31
11 | ---
12 |
13 | In this blog post, I’m going to cover the first scaffold-eth speed run project: creating a Staking dApp. If you want to know more about scaffold-eth and my current journey in the web3 world you should read my previous article: My journey in Web3 development: scaffold-eth.
14 |
15 | The goal of the dApp
16 | The end goal of the project is to mimic the Ethereum 2.0 staking contract. The requirements are pretty simple:
17 | - allow anyone to stack ether and track their balance
18 | - if a time and stack amount deadline have reached don’t allow - users to withdraw their fund (those found are used for a future project, like the Ethereum PoS)
--------------------------------------------------------------------------------
/content/tutorials/starknet-cairo-101.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "StarkNet Cairo 101"
3 | description: "Get started with Cairo with this simple tutorial. Complete the puzzles, get points and learn about StarkNet smart contracts!"
4 | authors: ["@HenriLieutaud"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: ["Cairo"]
7 | url: "https://github.com/l-henri/starknet-cairo-101"
8 | dateAdded: 2022-01-15
9 | level: "Beginner"
10 | ---
11 |
12 | This workshop is a set of smart contracts deployed on StarkNet Alpha on testnet. Each smart contract is an exercice/puzzle; each one outlines a feature of the Cairo Smart contract language. Completing the exercice will credit you with points, in the form of an ERC20 token.
13 |
14 | This workshop focuses on reading Cairo code and StarkNet smart contracts, in order to understand its syntax. You don't need to code or install anything on your machine in order to follow and complete it. Getting started (doing the first two exercises) will take you some time, in order to get into the tutorial. Hang on! Once there, things will flow more easily. You're learning!
15 |
16 | This workshop is the first in a serie that will cover broad smart contract concepts (writing and deploying ERC20/ERC721, bridging assets, L1 <-> L2 messaging...).
--------------------------------------------------------------------------------
/content/tutorials/starks-scaling-decentralized-games.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "STARKs: Scaling decentralized games"
3 | description: "Verifying complex auto battler calculation on Ethereum"
4 | authors: ["@Qhuesten"]
5 | tags: ["Smart Contracts","Scalability","Cryptography"]
6 | languages: ["Cairo"]
7 | url: "https://killari.medium.com/starks-verifying-a-complex-auto-battler-calculation-on-ethereum-d8698f29808d"
8 | dateAdded: 2021-11-23
9 | level: "Advanced"
10 | date: 2021-10-06
11 | ---
12 |
13 | Executing complex functions on chain Ethereum has always been a big no-no, something that you should never do. Blockchain computation is very expensive as all the nodes are needed to execute the same calculation to verify its correctness.
14 |
15 | StarkWare is one of the Ethereum scaling services that is attempting to scale Ethereum using STARKs (Scalable Transparent ARgument of Knowledge) proofs. I will not go too deep into how STARKs work in this blogpost, but I am going to give a practical overview on how they can be used in practice.
--------------------------------------------------------------------------------
/content/tutorials/state-state-variables.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "State & State Variables"
3 | description: "Solidity Basics: An Introduction To State In Solidity And How To Change It"
4 | authors: ["@paul_can_code"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://blog.paulmcaviney.ca/state-variables"
8 | dateAdded: 2021-11-15
9 | level: "Beginner"
10 | date: 2021-11-06
11 | ---
12 |
13 | One of the great things about blockchains are their ability to store data in their distributed ledger systems. This is typically done through transactions, and once accepted, they form part of a block and then permanently become part of the blockchain. When the information is part of the blockchain it is immutable, meaning there is a permanent record of that transaction that can never be deleted or modified.
14 |
15 | The Ethereum Blockchain however is more advanced than this. It can store blocks of code called smart contracts and through the Ethereum Virtual Machine (EVM) can execute the code stored in these contracts. This effectively allows for the modification of the EVM's state from block to block. Due to the immutability aspect, the previous state is still in the records of the blockchain, albeit in the form of hexadecimal hashes instead of human-readable text.
16 |
17 | In this article we will write a simple smart contract with a function we can use to change its state. Before we get into coding though, it is important to understand a few concepts around contract state and transactions.
--------------------------------------------------------------------------------
/content/tutorials/store-nft-metadata-and-svgs-on-chain.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Store NFT Metadata and SVG’s on-chain"
3 | description: "Solidity Tutorial — How to Store NFT Metadata and SVG’s on the Blockchain"
4 | authors: ["@AndyHartnett12"]
5 | tags: ["Smart Contracts","NFT"]
6 | languages: ["Solidity"]
7 | url: "https://andyhartnett.medium.com/solidity-tutorial-how-to-store-nft-metadata-and-svgs-on-the-blockchain-6df44314406b"
8 | dateAdded: 2021-09-18
9 | level: "Intermediate"
10 | date: 2021-09-17
11 | ---
12 |
13 | Recently I took a deep dive into the Crypto World. Especially on DeFi and Smart Contracts. So I did what probably every other developer has done that started working on the Block Chain. I minted my own NFT. Particularly an ERC-721 Token. This is an article I really wish I had a few weeks ago.
--------------------------------------------------------------------------------
/content/tutorials/the-complete-guide-to-full-stack-ethereum-development.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "The Complete Guide to Full Stack Ethereum Development"
3 | description: "Building Full Stack dApps with React, Ethers.js, Solidity, and Hardhat"
4 | authors: ["@dabit3"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://dev.to/dabit3/the-complete-guide-to-full-stack-ethereum-development-3j13"
8 | featured: true
9 | dateAdded: 2021-08-17
10 | level: "Beginner"
11 | date: 2021-04-09
12 | ---
13 |
14 | I recently joined Edge & Node as a Developer Relations Engineer and have been diving deeper into smart contract development with Ethereum. I have settled upon what I think is the best stack for building full stack dApps with Solidity:
15 |
16 | ▶︎ Client Framework - React
17 | ▶︎ Ethereum development environment - Hardhat
18 | ▶︎ Ethereum Web Client Library - Ethers.js
19 | ▶︎ API layer - The Graph Protocol
--------------------------------------------------------------------------------
/content/tutorials/tips-and-tricks-to-save-gas.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Tips and tricks to save gas"
3 | description: "Solidity tips and tricks to save gas and reduce bytecode size"
4 | authors: ["@mudit__gupta"]
5 | tags: ["Smart Contracts","EVM"]
6 | languages: ["Solidity"]
7 | url: "https://mudit.blog/solidity-tips-and-tricks-to-save-gas-and-reduce-bytecode-size/"
8 | dateAdded: 2021-09-01
9 | level: "Intermediate"
10 | date: 2019-02-16
11 | ---
12 |
13 | Solidity is a special language with many little quirks. A lot of things behave differently in Solidity than most other languages as Solidity is created to work on the EVM with its limited feature set. I wrote a blog post with ten tips to save gas in Solidity a few months back and it got a great response. Since then, I have gathered more tips and tricks to share with you all.
--------------------------------------------------------------------------------
/content/tutorials/understanding-solidity-design-patterns.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Understanding Solidity Design Patterns"
3 | description: "In this tutorial series we'll talk about design patterns in solidity, where to use them."
4 | authors: ["@__tirtha__"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://hackernoon.com/solidity-tutorial-understanding-design-patterns-part-1"
8 | dateAdded: 2021-10-09
9 | level: "Intermediate"
10 | date: 2021-10-07
11 | ---
12 |
13 | With the rising demand of blockchain developers, developers want to master the art of smart contracts. In this tutorial series we'll talk about design patterns in solidity, where to use them. In this first part, our focus is on "Authorization Patterns". To make sure unwanted parties don't access important features on your smart contract, we'll learn four popular ways to do that.
--------------------------------------------------------------------------------
/content/tutorials/uniswap-v2-code-walk-through.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Uniswap v2 Code walk-through"
3 | description: "Uniswap v2 can create an exchange market between any two ERC-20 tokens. In this article we will go over the source code for the contracts that implement this protocol."
4 | authors: ["@ori_pomerantz"]
5 | tags: ["DeFi","Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://ethereum.org/en/developers/tutorials/uniswap-v2-annotated-code/"
8 | dateAdded: 2021-11-15
9 | level: "Intermediate"
10 | date: 2021-05-01
11 | ---
12 |
13 | Basically, there are two types of users: liquidity providers and traders.
14 |
15 | The liquidity providers provide the pool with the two tokens that can be exchanged (we'll call them Token0 and Token1). In return, they receive a third token that represents partial ownership of the pool called a liquidity token.
16 |
17 | Traders send one type of token to the pool and receive the other (for example, send Token0 and receive Token1) out of the pool provided by the liquidity providers. The exchange rate is determined by the relative number of Token0s and Token1s that the pool has. In addition, the pool takes a small percent as a reward for the liquidity pool.
18 |
19 | When liquidity providers want their assets back they can burn the pool tokens and receive back their tokens, including their share of the rewards.
--------------------------------------------------------------------------------
/content/tutorials/unit-testing-in-starknet.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Unit testing in Starknet"
3 | description: "Tests your contracts before deployment"
4 | authors: ["@eth_worm"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: ["Cairo"]
7 | url: "https://perama-v.github.io/cairo/examples/unit_test/"
8 | dateAdded: 2022-01-15
9 | level: "Intermediate"
10 | ---
11 |
12 | Below is a contract that stores pen and paper inventory across different warehouses. To test that the contract works as expected a test is created that stores to the inventory twice with record_items(), then calls check_items(). By asserting that the values received match those that are expected, the test identifies errors before deployment.
--------------------------------------------------------------------------------
/content/tutorials/using-optimistic-ethereum-with-hardhat.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Using Optimistic Ethereum with Hardhat"
3 | description: "This tutorial aims to help you get started with developing decentralized applications on Optimistic Ethereum using Hardhat."
4 | authors: ["@optimismPBC"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: []
7 | url: "https://github.com/ethereum-optimism/optimism-tutorial/tree/main/hardhat"
8 | dateAdded: 2022-01-15
9 | level: "Beginner"
10 | ---
11 |
12 | This tutorial aims to help you get started with developing decentralized applications on Optimistic Ethereum using Hardhat. Applications running on top of Optimistic Ethereum are about as secure as those running on the underlying Ethereum mainnet itself, but are significantly cheaper.
--------------------------------------------------------------------------------
/content/tutorials/voting-system-in-cairo.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Voting system in Cairo"
3 | description: "In this guide we will write Cairo code for a small voting system, which can be used, for example, to run a secure (non-private) voting with a lot of voters."
4 | authors: ["@CairoLang"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: ["Cairo"]
7 | url: "https://www.cairo-lang.org/docs/hello_cairo/voting.html"
8 | dateAdded: 2022-01-15
9 | level: "Intermediate"
10 | ---
11 |
12 | In this section we will write Cairo code for a small voting system. This voting system can be used, for example, to run a secure (non-private) voting with a lot of voters on a blockchain. We will assume that each voter has a pair of private and public keys (for the ECDSA signature scheme) and that the list of voters’ public keys is fixed. Each voter may vote “Yes” (1) or “No” (0). The system will not guarantee anonymity.
13 |
14 | This section assumes some basic knowledge of cryptographic primitives such as hash functions, digital signatures and Merkle trees. In addition, if you haven’t already read the previous parts of the “Hello, Cairo” tutorial, you are encouraged to do so before reading this part.
--------------------------------------------------------------------------------
/content/tutorials/writing-dapps-with-flutter-solidity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Writing DAPPs with Flutter + Solidity"
3 | description: "Flutter example project to run Solidity smart contracts using web3Dart library"
4 | authors: ["@mcarlomagno1"]
5 | tags: []
6 | languages: ["Solidity","Flutter","Dart"]
7 | url: "https://itnext.io/writing-dapps-with-flutter-solidity-27d0621fd01"
8 | dateAdded: 2021-10-09
9 | level: "Beginner"
10 | date: 2021-10-07
11 | ---
12 |
13 | This article is to show how to build a pipeline to interact with Smart Contracts from Flutter apps, creating DAPPs that interact directly with decentralized blockchain networks and this way allowing much more interesting applications.
--------------------------------------------------------------------------------
/content/videos/a16z-crypto-startup-school.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "a16z Crypto Startup School"
3 | description: "a16z Crypto Startup School is a series of lectures and discussions given by experts to help technologists learn how to build crypto companies."
4 | authors: ["@a16z"]
5 | tags: ["Web3","DeFi"]
6 | languages: ["Solidity"]
7 | url: "https://www.youtube.com/playlist?list=PLM4u6XbiXf5oDP6DFeEoNP5K_Epy1RAx4"
8 | dateAdded: 2021-08-18
9 | level: "All"
10 | date: 2020-05-13
11 | ---
12 |
13 | a16z Crypto Startup School is a series of lectures and discussions given by experts to help technologists learn how to build crypto companies.
--------------------------------------------------------------------------------
/content/videos/blockchain-101-a-visual-demo.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Blockchain 101 - A visual demo"
3 | description: "This is a very basic visual introduction to the concepts behind a blockchain. We introduce the idea of an immutable ledger using an interactive web demo."
4 | authors: ["@anders94"]
5 | tags: ["Cryptography"]
6 | languages: []
7 | url: "https://youtu.be/_160oMzblY8"
8 | dateAdded: 2021-09-07
9 | level: "Beginner"
10 | date: 2016-11-05
11 | ---
12 |
13 | This is a very basic visual introduction to the concepts behind a blockchain. We introduce the idea of an immutable ledger using an interactive web demo.
--------------------------------------------------------------------------------
/content/videos/blockchain-101-keys-signing.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Blockchain 101 - Keys & signing"
3 | description: "We build on the concepts from the previous video and introduce public / private key pairs and signing using an interactive web demo."
4 | authors: ["@anders94"]
5 | tags: ["Cryptography"]
6 | languages: []
7 | url: "https://youtu.be/xIDL_akeras"
8 | dateAdded: 2021-09-07
9 | level: "Beginner"
10 | date: 2017-12-30
11 | ---
12 |
13 | This is part two in my basic visual introduction to the concepts behind a blockchain. We build on the concepts from the previous video and introduce public / private key pairs and signing using an interactive web demo.
--------------------------------------------------------------------------------
/content/videos/blockchain-coding-setup.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Blockchain Coding Setup"
3 | description: "My setup for developing #ethereum and #solidity smart contracts."
4 | authors: ["@PatrickAlphaC"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity","Python"]
7 | url: "https://youtu.be/4gHx-VESMMw"
8 | dateAdded: 2021-08-18
9 | level: "Beginner"
10 | date: 2021-05-12
11 | ---
12 |
13 | My setup for developing #ethereum and #solidity smart contracts.
14 |
15 | VSCode: https://code.visualstudio.com/download
16 | .zsh .bash_profiles: https://stackoverflow.com/questions/2...
17 | Metamask: https://metamask.io/
18 | Brownie: https://github.com/eth-brownie/brownie
--------------------------------------------------------------------------------
/content/videos/blockchain-theory-101.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Blockchain Theory 101"
3 | description: "Understand the basics and potential applications of blockchain technology"
4 | authors: ["@lablogga"]
5 | tags: []
6 | languages: []
7 | url: "https://www.udemy.com/share/101yjc2@PUdKbFpaTVMPcUBCO0hOfg==/"
8 | dateAdded: 2021-12-20
9 | level: "Beginner"
10 | date: 2021-10-15
11 | ---
12 |
13 | Executives, strategists, CTOs, IT professionals, developers and other interested parties will gain an understanding of blockchain technology (including mining, consensus algorithms, smart property, and smart contracts). The current status of blockchain technology, potential applications in Financial Services, Logistics, Healthcare, Energy, and IoT, and next steps regarding its deployment in your organization are discussed.
--------------------------------------------------------------------------------
/content/videos/build-and-deploy-using-hardhat.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Build and Deploy using Hardhat"
3 | description: "Build and Deploy Smart Contracts using Hardhat"
4 | authors: ["@PatrickAlphaC"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://youtu.be/GBc3lBrXEBo"
8 | dateAdded: 2021-08-18
9 | level: "Beginner"
10 | date: 2021-02-15
11 | ---
12 |
13 | Build and Deploy Smart Contracts using Hardhat
--------------------------------------------------------------------------------
/content/videos/building-on-defi-with-solidity-hardhat.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Building On DeFi With Solidity & Hardhat"
3 | description: "In this intermediate solidity tutorial I'll be building on the lego bricks of DeFi using Solidity and Hardhat."
4 | authors: ["@james_bachini"]
5 | tags: ["Smart Contracts","DeFi","Security"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/R91Uhw07W3U"
8 | dateAdded: 2022-01-15
9 | level: "Intermediate"
10 | ---
11 |
12 | In this intermediate solidity tutorial I'll be building on the lego bricks of DeFi using Solidity and Hardhat. I'll be looking at how to interact with external contracts such as chainlink oracles and how to carry out swaps/trades on Uniswap v3. Then we will look at testing and deploying the contracts to the Ethereum kovan testnet.
13 |
14 | There is more deatails and a full tutorial at https://jamesbachini.com/intermediate-solidity-tutorial/
15 |
16 | The code from this tutorial is open-sourced at: https://github.com/jamesbachini/myVault/
17 |
18 | 00:00 Solidity Tutorial Intro
19 | 00:34 Hardhat & Dev Environment
20 | 02:38 Solidity Code
21 | 017:59 Hardhat Testing
22 | 21:33 Solidity Security
23 | 24:52 Hardhat Deployment
24 | 29:58 Conclusion
--------------------------------------------------------------------------------
/content/videos/building-on-ethereum.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Building on Ethereum"
3 | description: "Nader Dabit and Austin Griffith discuss building apps with Solidity and Ethereum as well as the developer ecosystem, how to get started, as well as landing jobs and contracts."
4 | authors: ["@dabit3","@austingriffith"]
5 | tags: []
6 | languages: []
7 | url: "https://www.youtube.com/watch?v=ogjOjUjCVLk"
8 | dateAdded: 2021-08-16
9 | level: "Beginner"
10 | date: 2021-05-07
11 | ---
12 |
13 | Nader Dabit and Austin Griffith discuss building apps with Solidity and Ethereum as well as the developer ecosystem, how to get started, as well as landing jobs and contracts.
--------------------------------------------------------------------------------
/content/videos/debugging-with-dapptools.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Debugging With Dapptools"
3 | description: "Let's learn how to optimize our contracts using the Dapptools debugger."
4 | authors: ["@what_the_func"]
5 | tags: ["Smart Contracts","Security","DevEx"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/SJZ1FX-vYGs"
8 | dateAdded: 2021-10-30
9 | level: "Intermediate"
10 | date: 2021-10-29
11 | ---
12 |
13 | Let's learn how to optimize our contracts using the Dapptools debugger.
--------------------------------------------------------------------------------
/content/videos/deploy-smart-contract-with-remix-ide.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Deploy smart contract with Remix IDE"
3 | description: "In this video, I will show you how to deploy smart contracts using Remix IDE (web app for Solidity development)."
4 | authors: ["@ArtiChmaro"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/bZKVfXmzRDw"
8 | dateAdded: 2021-09-18
9 | level: "Beginner"
10 | date: 2021-09-12
11 | ---
12 |
13 | In this video, I will show you how to deploy smart contracts using Remix IDE (web app for Solidity development). As example, I created a simple contract that can receive and store ether. Owner of the contract can withdraw accumulated funds to any valid public address.
--------------------------------------------------------------------------------
/content/videos/end-to-end-nft-tutorial.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "End-to-end NFT tutorial"
3 | description: "NFT/ERC-721/Collectible END-TO-END TUTORIAL | Deploy, List on Opensea, Host Metadata on IPFS"
4 | authors: ["@PatrickAlphaC"]
5 | tags: ["NFT"]
6 | languages: ["Solidity","Python"]
7 | url: "https://youtu.be/p36tXHX1JD8"
8 | dateAdded: 2021-08-18
9 | level: "Intermediate"
10 | date: 2021-04-14
11 | ---
12 |
13 | End-To-End NFT/ERC-721/Blockchain Collectible tutorial. We deploy some adorable puppies.
14 |
15 | Deploy your smart contract to Opensea, end-to-end. The Ultimate/end-to-end tutorial.
16 |
--------------------------------------------------------------------------------
/content/videos/eth-build.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "ETH.Build"
3 | description: "Educational sandbox for building on web3. Visually understand how Ethereum works by doing."
4 | authors: ["@austingriffith"]
5 | tags: ["Smart Contracts","Cryptography"]
6 | languages: ["Solidity"]
7 | url: "https://www.youtube.com/playlist?list=PLJz1HruEnenCXH7KW7wBCEBnBLOVkiqIi"
8 | featured: true
9 | dateAdded: 2021-08-16
10 | level: "Beginner"
11 | date: 2019-10-10
12 | ---
13 |
14 | Educational sandbox for building on web3. Visually understand how Ethereum works by doing.
--------------------------------------------------------------------------------
/content/videos/ethereum-unity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Ethereum + Unity"
3 | description: "If you wonder how to connect to the Ethereum blockchain with Unity, this video is for you!"
4 | authors: ["@TheCoderious"]
5 | tags: ["Dapp"]
6 | languages: ["Solidity","Unity"]
7 | url: "https://youtu.be/sy1wKhAitX4"
8 | dateAdded: 2021-10-12
9 | level: "Beginner"
10 | date: 2021-10-12
11 | ---
12 |
13 | In this video we will create a simple Ethereum wallet to check an account balance and send Ether. All this will be done with the new Unity UI Toolkit.
14 |
15 | - NuGetForUnity
16 | - Nethereum Docs
17 | - Unity UI Toolkit Docs
18 | - Ethereum Blockchain
19 | - Etherscan (Ropsten)
--------------------------------------------------------------------------------
/content/videos/ethernaut-challenge-walkthrough.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Ethernaut Challenge walkthrough"
3 | description: "A new series walking through the Ethernaut challenges using Hardhat and ethers.js"
4 | authors: ["@BlueAlder"]
5 | tags: ["Smart Contracts","Security","Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://youtube.com/playlist?list=PLwHGiYB583Ys8cCjX1gjzh4Up4h13J1lD"
8 | dateAdded: 2022-01-10
9 | level: "Beginner"
10 | ---
11 |
12 | A new series walking through the Ethernaut challenges using Hardhat and ethers.js
--------------------------------------------------------------------------------
/content/videos/finematics.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Finematics"
3 | description: "Educational videos on DeFi (Decentralized Finance)."
4 | authors: ["@finematics"]
5 | tags: ["DeFi","Web3"]
6 | languages: []
7 | url: "https://www.youtube.com/c/Finematics/videos"
8 | dateAdded: 2021-11-30
9 | level: "All"
10 | ---
11 |
12 | DeFi is one of the most interesting and fastest growing movements with an amazing potential of completely disrupting traditional finance. Although I believe DeFi is the future, it can be quite difficult for newcomers as it combines a lot of elements from two poorly understood subjects: finance and technology. I started Finematics to make it easier to understand this new, fascinating world.
--------------------------------------------------------------------------------
/content/videos/getting-started-with-dapptools.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Getting Started With Dapptools"
3 | description: "In this video I show you how to get started with the new framework du jour, Dapptools!"
4 | authors: ["@what_the_func"]
5 | tags: ["Smart Contracts","DevEx"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/UY9WeFBLI5M"
8 | dateAdded: 2021-10-30
9 | level: "Beginner"
10 | date: 2021-10-18
11 | ---
12 |
13 | In this video I show you how to get started with the new framework du jour, Dapptools!
--------------------------------------------------------------------------------
/content/videos/getting-started-with-foundry.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Getting Started With Foundry"
3 | description: "In this video I show you how to get started using Foundry, a feature for feature rewrite of Dapptools in Rust."
4 | authors: ["@what_the_func"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Rust"]
7 | url: "https://youtu.be/wqFnif_6Mbc"
8 | dateAdded: 2022-01-10
9 | level: "Beginner"
10 | date: 2022-01-09
11 | ---
12 |
13 | In this video I show you how to get started using Foundry, a feature for feature rewrite of Dapptools in Rust.
--------------------------------------------------------------------------------
/content/videos/hack-solidity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Hack Solidity"
3 | description: "This series will explain how the Solidity exploit work and then explain how to protect your Solidity smart contract from it."
4 | authors: ["@ProgrammerSmart"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Vyper"]
7 | url: "https://www.youtube.com/playlist?list=PLO5VPQH6OWdWsCgXJT9UuzgbC8SPvTRi5"
8 | dateAdded: 2021-08-16
9 | level: "Beginner"
10 | date: 2020-06-20
11 | ---
12 |
13 | This series will explain how the Solidity exploit work and then explain how to protect your Solidity smart contract from it.
--------------------------------------------------------------------------------
/content/videos/hitchhikers-guide-to-the-evm.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Hitchhiker’s Guide to the EVM"
3 | description: "A walk-through of the intricacies of the Ethereum Virtual Machine (EVM)—from how EVM treats data to various tricks that help devs write more secure and scalable smart contracts."
4 | authors: ["@alexroan"]
5 | tags: ["Smart Contracts","EVM"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/zgukojxyHKc"
8 | dateAdded: 2021-09-01
9 | level: "Intermediate"
10 | date: 2021-08-19
11 | ---
12 |
13 | During this SmartCon presentation, Chainlink Labs’ Alex Roan walks smart contract developers through the intricacies of the Ethereum Virtual Machine (EVM)—from how EVM treats data to various tricks that help devs write more secure and scalable smart contracts.
--------------------------------------------------------------------------------
/content/videos/how-to-build-an-nft-marketplace.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "How to Build an NFT Marketplace"
3 | description: "Learn Solidity by building a smart contract to trade NFTs. Watch this introduction to blockchain development and Solidity basics for beginners."
4 | authors: ["@husn_ai"]
5 | tags: ["Smart Contracts","NFT"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/84j71K6wOCs"
8 | dateAdded: 2021-11-30
9 | level: "Intermediate"
10 | date: 2021-11-29
11 | ---
12 |
13 | Learn Solidity by building a smart contract to trade NFTs. Watch this introduction to blockchain development and Solidity basics for beginners.
--------------------------------------------------------------------------------
/content/videos/how-to-create-on-chain-nfts.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "How to create on-chain NFTs"
3 | description: "This video will show you the process of creating NFTs purely on-chain"
4 | authors: ["@de_botha"]
5 | tags: ["NFT"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/UBGXFV1TQxc"
8 | dateAdded: 2021-10-09
9 | level: "Intermediate"
10 | date: 2021-10-06
11 | ---
12 |
13 | Today I will show you the process of creating NFTs purely on-chain. This is a simple yet powerful example. With this knowledge, you will be able to extend on this and create creative solutions for on-chain SVG NFTs. Hope you enjoy the video.
--------------------------------------------------------------------------------
/content/videos/how-to-store-nft-metadata-uri-in-erc1155-solidity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "How to store NFT metadata URI in ERC1155 Solidity"
3 | description: "Learn how to manage your metadata URIs. After watching this video you will know how to make your URIs immutable or allow to change them under special circumstances."
4 | authors: ["@ArtiChmaro"]
5 | tags: ["Smart Contracts","NFT"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/19SSvs32m8I"
8 | dateAdded: 2021-10-24
9 | level: "Intermediate"
10 | date: 2021-10-18
11 | ---
12 |
13 | Learn how to manage your metadata URIs. After watching this video you will know how to make your URIs immutable or allow to change them under special circumstances.
--------------------------------------------------------------------------------
/content/videos/how-to-write-a-solidity-contract-pt1.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "How To Write a Solidity Contract pt1"
3 | description: "This is a step-by-step introductory tutorial that will teach you how to create and deploy a smart contract on Ethereum"
4 | authors: ["@AlchemyPlatform","@thatguyintech"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/g73EGNKatDw"
8 | dateAdded: 2021-10-16
9 | level: "Beginner"
10 | date: 2021-10-12
11 | ---
12 |
13 | If you are new to blockchain development and don’t know where to start, or if you just want to understand how to deploy and interact with smart contracts, this guide is for you. We will walk through creating and deploying a simple smart contract on the Ropsten test network using a virtual wallet (Metamask), Solidity, Hardhat and Truffle, and Alchemy (don’t worry if you don’t understand what any of this means yet, we will explain it!).
--------------------------------------------------------------------------------
/content/videos/integrate-react-js-with-smart-contracts.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Integrate React.js with Smart Contracts"
3 | description: "Learn how to read and display data from smart contracts, issue or sign new transactions and listen to events."
4 | authors: ["@ArtiChmaro"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/38WUVVoMZKM"
8 | dateAdded: 2021-11-22
9 | level: "Intermediate"
10 | date: 2021-11-21
11 | ---
12 |
13 | 0:00:00 - Intro
14 | 0:02:00 - ERC20 deploy
15 | 0:06:00 - What is ABI?
16 | 0:08:00 - Read data from smart contract (ethers)
17 | 0:15:00 - Run contract function from React.js app
18 | 0:20:10 - Listen to events emitted from contract
19 | 0:25:00 - Use same code for other contract (DAI)
20 |
21 |
22 | In this video, I used ERC20 as an example. You can find code here:
23 | https://codesandbox.io/s/react-write-read-smart-contracts-shtjf
24 |
25 |
--------------------------------------------------------------------------------
/content/videos/intro-to-solidity-programming-workshop.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Intro to Solidity Programming Workshop"
3 | description: "A recording a free workshop given by me, Joseph Schiarizzi, on the basics of programming in Solidity, designed for absolute beginners."
4 | authors: ["@CupOJoseph"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/UGiA709mQSg"
8 | dateAdded: 2021-10-16
9 | level: "Beginner"
10 | date: 2021-01-23
11 | ---
12 |
13 | A recording a free workshop given by me, Joseph Schiarizzi, on the basics of programming in Solidity, designed for absolute beginners.
--------------------------------------------------------------------------------
/content/videos/learn-solidity-by-examples.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learn Solidity by Examples"
3 | description: "Learn how to write your first smart contract in Solidity."
4 | authors: ["@ProgrammerSmart"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://www.youtube.com/playlist?list=PLO5VPQH6OWdULDcret0S0EYQ7YcKzrigz"
8 | dateAdded: 2021-08-16
9 | level: "Beginner"
10 | date: 2019-08-20
11 | ---
12 |
13 | Learn how to write your first smart contract in Solidity.
--------------------------------------------------------------------------------
/content/videos/learn-vyper-by-examples.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learn Vyper by Examples"
3 | description: "Vyper is a smart contract programming language for EVM. This is the first of series of videos teaching you how to code smart contracts in Vyper."
4 | authors: ["@ProgrammerSmart"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Vyper"]
7 | url: "https://www.youtube.com/playlist?list=PLO5VPQH6OWdWOd-IJTfIzlM2a1yv1rSN-"
8 | dateAdded: 2021-08-16
9 | level: "Beginner"
10 | date: 2020-09-26
11 | ---
12 |
13 | Vyper is a smart contract programming language for EVM. This is the first of series of videos teaching you how to code smart contracts in Vyper.
--------------------------------------------------------------------------------
/content/videos/learning-solidity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learning Solidity"
3 | description: "Learning Solidity with a collection of YouTube videos and example code."
4 | authors: ["James Lockhart"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://www.youtube.com/playlist?list=PL16WqdAj66SCOdL6XIFbke-XQg2GW_Avg"
8 | featured: true
9 | dateAdded: 2021-08-16
10 | level: "Beginner"
11 | date: 2017-09-21
12 | ---
13 |
14 | Learning Solidity with a collection of YouTube videos and example code.
--------------------------------------------------------------------------------
/content/videos/live-smart-contract-hacking.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Live smart contract hacking"
3 | description: "What Ethereum Smart Contract Hacking Looks Like"
4 | authors: ["@LiveOverflow"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/P8LXLoTUJ5g"
8 | dateAdded: 2021-09-28
9 | level: "Intermediate"
10 | date: 2021-09-12
11 | ---
12 |
13 | In this video you can see me working over 10h on hacking an Ethereum smart contract. The attack was done on a private chain, so no actual Ethereum users have been affected.
14 |
15 | This was a challenge called `Montagy` from the Real World CTF 2019 competition.
16 |
17 | Even though this was part of a competition, the methodology and technologies used are the tools used in real-life Ethereum hacking as well.
--------------------------------------------------------------------------------
/content/videos/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "videos",
3 | "title": "Videos",
4 | "description": "These videos provide you with an amazing opportunity to learn from some of the best community members and instructors. This list includes short explainers, extensive walkthroughs and complete series and playlists in an online viewing experience.",
5 | "emoji": "📺"
6 | }
--------------------------------------------------------------------------------
/content/videos/nft-programming-with-moralis.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "NFT Programming with Moralis"
3 | description: "Ultimate NFT Programming Tutorial - Full course"
4 | authors: ["@MoralisWeb3"]
5 | tags: ["Smart Contracts","NFT"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/tBMk1iZa85Y"
8 | dateAdded: 2021-10-02
9 | level: "Intermediate"
10 | date: 2021-09-10
11 | ---
12 |
13 | Tutorial Overview
14 |
15 | ► Creating ERC 1155 contract with OpenZeppelin
16 | ► Uploading metadata compliant with ERC1155
17 | ► Deploying and Listing on Opensea
18 | ► Building an NFT Dashboard using Moralis - with Mint and Transfer functionality
--------------------------------------------------------------------------------
/content/videos/oracles-in-2-mins.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Oracles in 2 mins"
3 | description: "Blockchains can only access on-chain data, but most of the interesting data is off-chain. If we want to unlock the full potential of Blockchain, we need to access off-chain data."
4 | authors: ["@jklepatch"]
5 | tags: ["Oracles"]
6 | languages: []
7 | url: "https://youtu.be/1gVsV2PWUKU"
8 | dateAdded: 2021-10-31
9 | level: "Beginner"
10 | date: 2021-10-26
11 | ---
12 |
13 | And that’s when Oracles come into play.
--------------------------------------------------------------------------------
/content/videos/programming-a-simple-erc-token.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Programming a simple ERC token"
3 | description: "We're programming a simple ERC20 token in Solidity and looking at the underlying bytecode generated by the compiler using the DappHub toolset."
4 | authors: ["@nanexcool"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://www.youtube.com/playlist?list=PLYSZ-f9LCH3sEf0UKTLCaZErJeQtK7GCD"
8 | dateAdded: 2021-08-16
9 | level: "Intermediate"
10 | date: 2021-05-19
11 | ---
12 |
13 | We're programming a simple ERC20 token in Solidity and looking at the underlying bytecode generated by the compiler using the https://github.com/dapphub/dapptools/ toolset.
--------------------------------------------------------------------------------
/content/videos/publish-your-nft-on-opensea.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Publish your NFT on OpenSea"
3 | description: "How to mint NFT and publish it on OpenSea using ERC1155 smart contract"
4 | authors: ["@ArtiChmaro"]
5 | tags: ["Smart Contracts","NFT","Storage"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/J4p1sdo3Rz4"
8 | dateAdded: 2021-09-24
9 | level: "Intermediate"
10 | date: 2021-09-19
11 | ---
12 |
13 | How to mint NFT and publish it on OpenSea using ERC1155 smart contract
--------------------------------------------------------------------------------
/content/videos/send-eth-payments.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Send ETH payments"
3 | description: "Learn how communicate with your Ethereum wallet and send transactions using React.js, Metamask and ethers"
4 | authors: ["@ArtiChmaro"]
5 | tags: ["Dapp"]
6 | languages: ["JavaScript"]
7 | url: "https://youtu.be/QJZUItAsdfg"
8 | dateAdded: 2021-09-10
9 | level: "Intermediate"
10 | date: 2021-08-21
11 | ---
12 |
13 | Learn how communicate with your Ethereum wallet and send transactions using React.js, Metamask and ethers
--------------------------------------------------------------------------------
/content/videos/sign-and-verify-messages.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Sign and Verify messages"
3 | description: "Learn how to generate and verify signatures from React.js code using MetaMask wallet."
4 | authors: ["@ArtiChmaro"]
5 | tags: ["Cryptography","Dapp"]
6 | languages: ["JavaScript"]
7 | url: "https://youtu.be/vhUjCLYlnMM"
8 | dateAdded: 2021-09-10
9 | level: "Intermediate"
10 | date: 2021-09-05
11 | ---
12 |
13 | Learn how to generate and verify signatures from React.js code using MetaMask wallet.
--------------------------------------------------------------------------------
/content/videos/sign-in-with-ethereum-and-decentralized-identity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Sign In with Ethereum and Decentralized Identity"
3 | description: "In this video we'll build out an identity management system for creating, reading, and updating a user's profile using their Ethereum wallet with."
4 | authors: ["@dabit3"]
5 | tags: ["Dapp"]
6 | languages: ["JavaScript"]
7 | url: "https://youtu.be/t9gWZYJxk7c"
8 | dateAdded: 2021-08-16
9 | level: "Intermediate"
10 | date: 2021-08-11
11 | ---
12 |
13 | In this video we'll build out an identity management system, with Ceramic, IDX, React, and 3ID Connect, for creating, reading, and updating a user's profile using their Ethereum wallet with.
--------------------------------------------------------------------------------
/content/videos/solidity-applications.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Solidity Applications"
3 | description: "This series will explain how to build Solidity applications."
4 | authors: ["@ProgrammerSmart"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://www.youtube.com/playlist?list=PLO5VPQH6OWdVfvNOaEhBtA53XHyHo_oJo"
8 | dateAdded: 2021-08-16
9 | level: "Beginner"
10 | date: 2020-03-31
11 | ---
12 |
13 | This series will explain how to build Solidity applications.
--------------------------------------------------------------------------------
/content/videos/solidity-blockchain-and-smart-contract-course-–-beginner-to-expert-python-tutorial.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial"
3 | description: "This course will give you a full introduction into all of the core concepts in blockchain, smart contracts, solidity, NFTs/ERC721s, upgrades, and more."
4 | authors: ["@PatrickAlphaC"]
5 | tags: ["DeFi","NFT","Dapp","Cryptography","Smart Contracts","UX & Design","Storage"]
6 | languages: ["Solidity","Python"]
7 | url: "https://www.youtube.com/watch?v=M576WGiDBdQ"
8 | featured: true
9 | dateAdded: 2021-09-10
10 | level: "Beginner"
11 | date: 2021-09-09
12 | ---
13 |
14 | https://www.youtube.com/watch?v=M576WGiDBdQ
15 |
16 | This course will give you a full introduction into all of the core concepts in blockchain, smart contracts, solidity, NFTs/ERC721s, ERC20s, Coding Decentralized Finance (DeFi), python and solidity, Chainlink, Ethereum, upgradable smart contracts, and full stack blockchain development.
17 |
18 | Some of the technologies covered are:
19 | - BrownieEth
20 | - solidity
21 | - IPFS
22 | - AlchemyPlatform
23 | - Infura
24 | - MetaMask
25 | - Etherscan
26 | - EthereumRemix
27 | - Chainlink
28 | - web3.py
29 | - Ganache
30 | - AaveAave
31 | - OpenZeppelin
32 | - NFT
33 | - ERC20
34 | - Opensea
35 | - Pinatacloud
36 | And more!
37 |
38 | Follow along with the videos and you'll be a blockchain wizard in no time! 💻 The repository with helpful links to all code, resources, and support forums is located here: https://github.com/smartcontractkit/full-blockchain-solidity-course-py.
--------------------------------------------------------------------------------
/content/videos/sso-single-sign-on-using-ethereum.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "SSO (Single Sign On) using Ethereum"
3 | description: "Live Code-along: Deploying a SSO (Single Sign On) using Ethereum Smart Contract"
4 | authors: ["@rahatcodes"]
5 | tags: ["Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/D7oWCWNbeOs"
8 | dateAdded: 2021-10-30
9 | level: "Intermediate"
10 | date: 2021-10-17
11 | ---
12 |
13 | Live Code-along: Deploying a SSO (Single Sign On) using Ethereum Smart Contract
--------------------------------------------------------------------------------
/content/videos/symbolic-testing-with-dapptools.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Symbolic Testing With Dapptools"
3 | description: "In this video I cover some of the more advanced testing features of Dapptools. Specifically I go over symbolic testing."
4 | authors: ["@what_the_func"]
5 | tags: ["Smart Contracts","Security","DevEx"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/K3Umd1ITqus"
8 | dateAdded: 2021-10-24
9 | level: "Advanced"
10 | date: 2021-10-21
11 | ---
12 |
13 | In this video I cover some of the more advanced testing features of Dapptools. Specifically I go over symbolic testing.
--------------------------------------------------------------------------------
/content/videos/the-complete-guide-to-full-stack-ethereum-development.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "The Complete Guide to Full Stack Ethereum Development"
3 | description: "In this video you’ll learn how to build a modern full stack dApp on the Ethereum blockchain with React, Solidity, Hardhat, and Ethers.js."
4 | authors: ["@dabit3"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://youtu.be/a0osIaAOFSE"
8 | dateAdded: 2021-08-16
9 | level: "Beginner"
10 | date: 2021-04-15
11 | ---
12 |
13 | In this video you’ll learn how to build a modern full stack dApp on the Ethereum blockchain with React, Solidity, Hardhat, and Ethers.js. We’ll start from scratch, creating a React application, installing the dependencies, and initializing a new local Hardhat Ethereum environment.
14 |
15 | Next, we’ll create a couple of different smart contracts in Solidity, compile them, and deploy them to a local blockchain node that we will also initialize using Hardhat. We’ll then learn how to deploy the smart contracts to a real live test network.
16 |
17 | We’ll then connect the React front end to allow users to read data from the blockchain as well as create transactions with MetaMask using test Ether that we create using accounts created by our local test environment.
18 |
19 | Finally, we’ll learn how to create and mint real ERC20 tokens, as well as how to rapidly prototype smart contracts using the Remix IDE.
20 |
21 | By the end of this guide, you should have a good understanding of how to build modern dApps with React and Solidity on the Ethereum blockchain.
--------------------------------------------------------------------------------
/content/videos/trade-sell-nfts-automatically-from-smart-contract.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Trade/sell NFTs automatically from smart contract"
3 | description: "Learn how to build contract that can move other tokens"
4 | authors: ["@ArtiChmaro"]
5 | tags: ["NFT","Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://www.youtube.com/watch?v=XLrhD6GHi0E"
8 | dateAdded: 2021-10-04
9 | level: "Intermediate"
10 | date: 2021-09-28
11 | ---
12 |
13 | Learn how to build contract that can move other tokens
--------------------------------------------------------------------------------
/content/videos/transfer-any-erc20-token-from-your-smart-contract.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Transfer any ERC20 token from your smart contract"
3 | description: "Lern how to allow your smart contract to transfer any ERC20 token that your contract received."
4 | authors: ["@ArtiChmaro"]
5 | tags: ["Smart Contracts","EVM","Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://www.youtube.com/watch?v=9tYkS7YyOjU"
8 | dateAdded: 2021-10-04
9 | level: "Beginner"
10 | date: 2021-10-04
11 | ---
12 |
13 | Every valid public address can receive an ERC20 token/coin. That's really powerful because your smart contracts can receive and hold coins as well. In this video, I will show you how to allow your smart contract to actually transfer any ERC20 token that your contract received.
--------------------------------------------------------------------------------
/content/videos/ultimate-introduction-to-ethereum-dapp-development.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Ultimate Introduction to Ethereum Ðapp Development"
3 | description: "A 24 part screencast series outlining everything you need to know in order to get started building Ðapps in Ethereum."
4 | authors: ["@AlwaysBCoding"]
5 | tags: ["Smart Contracts","Dapp"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://www.youtube.com/playlist?list=PLV1JDFUtrXpFh85G-Ddyy2kLSafaB9biQ"
8 | dateAdded: 2021-08-16
9 | level: "Beginner"
10 | date: 2016-11-16
11 | ---
12 |
13 | A 24 part screencast series outlining everything you need to know in order to get started building Ðapps in Ethereum. The series covers creating an Ethereum development environment, how to use various Javascript libraries to interact with the Ethereum protocol, simple ways to send transactions to the main Ethereum network, how to write and test smart contracts, how to run your own Ethereum node, how to mine Ether, adventures into undergraduate computer science, and more.
--------------------------------------------------------------------------------
/content/videos/using-and-building-on-arbitrum.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Using and building on Arbitrum"
3 | description: "Arbitrum is a L2 scaling solution for Ethereum. In this tutorial we will be looking at how optimistic roll ups work, deploying a contract and then carrying out a swap on L2."
4 | authors: ["@james_bachini"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: ["Solidity","JavaScript"]
7 | url: "https://youtu.be/d4EgugQLZqs"
8 | dateAdded: 2022-01-15
9 | level: "Intermediate"
10 | ---
11 |
12 | Arbitrum is a layer 2 scaling solution for the Ethereum network. In this tutorial we will be looking at how optimistic roll ups work, deploying a smart contract to Arbitrum and then carrying out a token swap on layer 2 using Uniswap.
13 |
14 | 00:00 What Is Arbitrum?
15 | 00:23 How Optimistic Rollups Work
16 | 02:00 Arbitrum Rinkeby
17 | 02:48 Arbitrum Token Bridge
18 | 04:44 Setting Up Truffle
19 | 06:54 Deploy To Arbitrum
20 | 07:36 Developer Notes
21 | 08:26 Uniswap On Arbitrum
22 | 09:33 Conclusion
--------------------------------------------------------------------------------
/content/videos/web3-with-solidity-and-svelte.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Web3 with Solidity and Svelte"
3 | description: "Creating a basic Solidity contract and using Svelte to access it."
4 | authors: ["Richard G"]
5 | tags: ["Dapp"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/jQ1rK2vlEAU"
8 | dateAdded: 2021-09-24
9 | level: "Beginner"
10 | date: 2021-09-17
11 | ---
12 |
13 | Creating a basic Solidity contract and using Svelte to access it.
--------------------------------------------------------------------------------
/content/videos/what-is-multicall-.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "What is Multicall?"
3 | description: "How to make a ton of API calls to our blockchain node with 1 single API call to a multicall contract. We learn how we can keep our API calls low, and be more efficient overall."
4 | authors: ["@PatrickAlphaC"]
5 | tags: ["Smart Contracts","DevEx","Cryptography","EVM"]
6 | languages: ["Solidity","Python"]
7 | url: "https://youtu.be/EXas4uBqQr8"
8 | dateAdded: 2021-11-15
9 | level: "Intermediate"
10 | ---
11 |
12 | We go through the how to make a ton of API calls to our blockchain node with 1 single API call to a multicall contract. We learn how we can keep our API calls low, and be more efficient overall.
--------------------------------------------------------------------------------
/content/videos/🎟-nft-on-💜-polygon-🐳-opensea.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "🎟 NFT on 💜 Polygon + 🐳 Opensea"
3 | description: "I sit down with my dude @XianganH and we deploy an 🎟 NFT contract to 💜 Polygon and it shows up on 🐳 OpenSea!"
4 | authors: ["@austingriffith"]
5 | tags: ["Smart Contracts","NFT"]
6 | languages: ["Solidity"]
7 | url: "https://youtu.be/zgj8ZT4-9lk"
8 | dateAdded: 2021-08-20
9 | level: "Intermediate"
10 | date: 2021-08-13
11 | ---
12 |
13 | I sit down with my dude @XianganH and we deploy an 🎟 NFT contract to 💜 Polygon and it shows up on 🐳 OpenSea!
--------------------------------------------------------------------------------
/content/websites/a-quick-reference-for-evm-opcodes.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "A quick reference for EVM opcodes"
3 | description: "An updated version of the EVM reference page at ethervm.io"
4 | authors: ["@wolflo0"]
5 | tags: ["EVM"]
6 | languages: []
7 | url: "https://github.com/wolflo/evm-opcodes"
8 | dateAdded: 2021-09-14
9 | level: "Advanced"
10 | ---
11 |
12 | An updated version of the EVM reference page at ethervm.io
--------------------------------------------------------------------------------
/content/websites/awesome-solidity.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Awesome Solidity"
3 | description: "A curated list of awesome Solidity resources, libraries, tools and more"
4 | authors: ["@bkrem_"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://github.com/bkrem/awesome-solidity"
8 | dateAdded: 2021-08-14
9 | level: "Beginner"
10 | ---
11 |
12 | A curated list of awesome Solidity resources, libraries, tools and more
--------------------------------------------------------------------------------
/content/websites/awesome-starknet.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Awesome StarkNet"
3 | description: "A curated list of awesome StarkNet resources, libraries, tools and more"
4 | authors: ["@gakonst"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: ["Cairo"]
7 | url: "https://github.com/gakonst/awesome-starknet"
8 | dateAdded: 2021-11-30
9 | level: "All"
10 | ---
11 |
12 | A curated list of awesome StarkNet resources, libraries, tools and more
--------------------------------------------------------------------------------
/content/websites/best-practices-for-smart-contract-development.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Best Practices for Smart Contract Development"
3 | description: "This guide summarizes the lessons I’ve learned from writing smart contracts, building decentralized applications, and open source projects in the Ethereum ecosystem."
4 | authors: ["@yosriady"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Solidity"]
7 | url: "https://yos.io/2019/11/10/smart-contract-development-best-practices/"
8 | dateAdded: 2021-08-29
9 | level: "Intermediate"
10 | ---
11 |
12 | The history of software development spans decades. We benefit from the best practices, design patterns, and nuggets of wisdom that has accumulated over half a century.
13 |
14 | In contrast, smart contract development is just getting started. Ethereum and Solidity launched in 2015, only a handful of years ago.
15 |
16 | The crypto space is an ever-growing uncharted territory. There’s no definitive stack of tools to build decentralized apps. There are no developer handbooks like Design Patterns or Clean Code for smart contracts. Information about tools and best practices are scattered all over the place.
17 |
18 | You’re reading the missing guide I wish existed. It summarizes the lessons I’ve learned from writing smart contracts, building decentralized applications, and open source projects in the Ethereum ecosystem.
--------------------------------------------------------------------------------
/content/websites/buidl-guidl.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Buidl Guidl"
3 | description: "The Buidl Guidl is a curated group of Ethereum builders creating products, prototypes, and tutorials with scaffold-eth."
4 | authors: ["@austingriffith"]
5 | tags: ["Smart Contracts","Dapp","Web3"]
6 | languages: []
7 | url: "https://buidlguidl.com/"
8 | dateAdded: 2021-11-18
9 | level: "Intermediate"
10 | ---
11 |
12 | The Buidl Guidl is a curated group of Ethereum builders creating products, prototypes, and tutorials with scaffold-eth.
--------------------------------------------------------------------------------
/content/websites/cairo-by-example.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Cairo by example"
3 | description: "Cairo is programming language that can be used to write blockchain applications. The language is novel in that it converts program logic into STARK proofs."
4 | authors: ["@eth_worm"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: ["Cairo"]
7 | url: "https://perama-v.github.io/cairo/by-example/"
8 | dateAdded: 2022-01-15
9 | level: "Beginner"
10 | ---
11 |
12 | First setup using Nile which makes managing files and command line calls to StarkNet simple.
13 | Second have a look at how pytest works
14 | After you have set everything up, to run the examples:
15 | - Open two terminals in the project folder and run source env/bin/activate
16 | - In one run nile node to start a local devnet.
17 | - In the other run the commands in the examples.
18 |
19 | Examples of different elements in Cairo and StarkNet.
20 | - Hello, World!
21 | - First application
22 | - Array
23 | - Data types
24 | - Variables
25 | - Read and write values
26 | - Read and write tuples
27 | - Currency
28 | - Constructor
29 | - Custom imports
30 | - Contract calls
31 | - Array argument
32 | - Array returns
33 | - Struct returns
--------------------------------------------------------------------------------
/content/websites/defi-developer-roadmap.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "DeFi Developer roadmap"
3 | description: "Here we collect and discuss the best DeFi & Blockchain researches and tools"
4 | authors: ["@officer_cia"]
5 | tags: ["DeFi"]
6 | languages: ["Solidity"]
7 | url: "https://github.com/OffcierCia/DeFi-Developer-Road-Map"
8 | featured: true
9 | dateAdded: 2021-08-20
10 | level: "Beginner"
11 | ---
12 |
13 | Here we collect and discuss the best DeFi & Blockchain researches and tools
--------------------------------------------------------------------------------
/content/websites/dissecting-defi-protocols.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Dissecting DeFi Protocols"
3 | description: "My newsletter explains how DeFi protocols work as smart contracts"
4 | authors: ["@0xkowloon"]
5 | tags: ["DeFi","Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://0xkowloon.substack.com/"
8 | dateAdded: 2021-11-15
9 | level: "Advanced"
10 | ---
11 |
12 | Dissecting DeFi Protocols analyzes smart contracts of different DeFi protocols.
--------------------------------------------------------------------------------
/content/websites/eth-build.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "ETH.Build"
3 | description: "Educational sandbox for building on web3. Visually understand how Ethereum works by doing."
4 | authors: ["@austingriffith"]
5 | tags: ["Smart Contracts","Cryptography"]
6 | languages: ["Solidity"]
7 | url: "https://eth.build/"
8 | dateAdded: 2021-08-16
9 | level: "Beginner"
10 | ---
11 |
12 | Educational sandbox for building on web3. Visually understand how Ethereum works by doing.
--------------------------------------------------------------------------------
/content/websites/ethereum-developer-tools-list.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Ethereum Developer Tools List"
3 | description: "A guide to available tools and platforms for developing on Ethereum."
4 | authors: ["@ConsenSys","@pi0neerpat"]
5 | tags: []
6 | languages: []
7 | url: "https://github.com/ConsenSys/ethereum-developer-tools-list"
8 | dateAdded: 2021-09-24
9 | level: "All"
10 | ---
11 |
12 | A guide to available tools and platforms for developing on Ethereum.
--------------------------------------------------------------------------------
/content/websites/ethereum-org-developer-portal.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Ethereum.org Developer portal"
3 | description: "A builders manual for Ethereum. By builders, for builders."
4 | authors: ["@ethdotorg"]
5 | tags: ["Smart Contracts","Dapp","EVM"]
6 | languages: []
7 | url: "https://ethereum.org/developers"
8 | dateAdded: 2021-08-16
9 | level: "All"
10 | ---
11 |
12 | ethereum.org is here to help you build with Ethereum with documentation on foundational concepts as well as the development stack. Plus there are tutorials to get you up and running.
13 |
14 | Inspired by the Mozilla Developer Network, we thought Ethereum needed a place to house great developer content and resources. Like our friends at Mozilla, everything here is open-source and ready for you to extend and improve.
--------------------------------------------------------------------------------
/content/websites/ethereum-stackexchange.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Ethereum StackExchange"
3 | description: "For users of Ethereum, the decentralized application platform and smart contract enabled blockchain"
4 | authors: ["@StackExchange"]
5 | tags: ["Smart Contracts","Dapp","EVM"]
6 | languages: []
7 | url: "https://ethereum.stackexchange.com/"
8 | dateAdded: 2021-08-14
9 | level: "All"
10 | ---
11 |
12 | For users of Ethereum, the decentralized application platform and smart contract enabled blockchain
--------------------------------------------------------------------------------
/content/websites/ethfiddle.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "EthFiddle"
3 | description: "Solidity IDE in the browser"
4 | authors: ["@loomnetwork"]
5 | tags: ["DevEx"]
6 | languages: ["Solidity"]
7 | url: "https://ethfiddle.com/"
8 | dateAdded: 2021-09-25
9 | level: "All"
10 | ---
11 |
12 | Solidity IDE in the browser
--------------------------------------------------------------------------------
/content/websites/evm-codes.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "EVM Codes"
3 | description: "An interactive reference to
4 | Ethereum Virtual Machine Opcodes"
5 | authors: ["@comitylabs","@tair"]
6 | tags: ["EVM","Smart Contracts"]
7 | languages: []
8 | url: "https://www.evm.codes/"
9 | dateAdded: 2021-12-05
10 | level: "Intermediate"
11 | ---
12 |
13 | evm.codes is brought to you by Comity Labs, powered by open-source projects such as EthereumJS, SolcJS and many others.
--------------------------------------------------------------------------------
/content/websites/gitcoin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Gitcoin"
3 | description: "Build and Fund the Open Web Together"
4 | authors: ["@gitcoin"]
5 | tags: []
6 | languages: []
7 | url: "https://gitcoin.co/"
8 | dateAdded: 2021-10-24
9 | level: "All"
10 | ---
11 |
12 | Connect with the community developing digital public goods, creating financial freedom, and defining the future of the open web.
--------------------------------------------------------------------------------
/content/websites/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "websites",
3 | "title": "Websites",
4 | "description": "These websites all contain a huge amount of information on anything related to Web3, blockchain and Ethereum development. From Solidity examples to guides on smart contract design patterns, best practices and complete developer roadmaps.",
5 | "emoji": "🌐"
6 | }
--------------------------------------------------------------------------------
/content/websites/not-so-smart-contracts.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "(Not So) Smart Contracts"
3 | description: "Examples of Solidity security issues"
4 | authors: ["@trailofbits"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Solidity"]
7 | url: "https://github.com/crytic/not-so-smart-contracts/"
8 | dateAdded: 2021-08-16
9 | level: "Intermediate"
10 | ---
11 |
12 | This repository contains examples of common Ethereum smart contract vulnerabilities, including code from real smart contracts. Use Not So Smart Contracts to learn about EVM and Solidity vulnerabilities, as a reference when performing security reviews, and as a benchmark for security and analysis tools.
--------------------------------------------------------------------------------
/content/websites/smart-contract-best-practices.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Smart Contract Best Practices"
3 | description: "A guide to Ethereum smart contract security best practices"
4 | authors: ["@ConsenSys"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Solidity"]
7 | url: "https://consensys.github.io/smart-contract-best-practices/"
8 | featured: true
9 | dateAdded: 2021-08-16
10 | level: "Intermediate"
11 | ---
12 |
13 | This document provides a baseline knowledge of security considerations for intermediate Solidity programmers. It is maintained by ConsenSys Diligence, with contributions from our friends in the broader Ethereum community.
--------------------------------------------------------------------------------
/content/websites/solidity-by-example.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Solidity by Example"
3 | description: "an introduction to Solidity with simple examples"
4 | authors: ["@ProgrammerSmart"]
5 | tags: ["Smart Contracts"]
6 | languages: ["Solidity"]
7 | url: "https://solidity-by-example.org/"
8 | featured: true
9 | dateAdded: 2021-08-14
10 | level: "Beginner"
11 | ---
12 |
13 | an introduction to Solidity with simple examples
--------------------------------------------------------------------------------
/content/websites/solidity-patterns.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Solidity Patterns"
3 | description: "A compilation of patterns and best practices for the smart contract programming language Solidity"
4 | authors: ["Franz Volland"]
5 | tags: ["Smart Contracts","Security"]
6 | languages: ["Solidity"]
7 | url: "https://fravoll.github.io/solidity-patterns/"
8 | dateAdded: 2021-08-16
9 | level: "Intermediate"
10 | ---
11 |
12 | This document contains a collection of design and programming patterns for the smart contract programming language Solidity in version 0.4.20. Note that newer versions might have changed some of the functionalities. Each pattern consists of a code sample and a detailed explanation, including background, implications and additional information about the patterns.
--------------------------------------------------------------------------------
/content/websites/tenderly.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Tenderly"
3 | description: "Simulate, debug and monitor anything on EVM-compatible chains"
4 | authors: ["@TenderlyApp"]
5 | tags: ["DevEx"]
6 | languages: ["Solidity, Vyper"]
7 | url: "https://docs.tenderly.co/"
8 | dateAdded: 2021-01-19
9 | level: "All"
10 | ---
11 |
12 | A great set of tools allowing all devs to dive deep into smart contracts (either for learning or prod-level debugging), simulate both individual transactions and complex scenarios with real-time on-chain data, monitor any entity and create full-fledged serverless DeFi solutions. Oh, and it's all available in the free plan :)
13 |
--------------------------------------------------------------------------------
/content/websites/the-sway-book.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "The Sway Book"
3 | description: "An introduction to the Sway programming language."
4 | authors: ["@FuelLabs"]
5 | tags: ["Smart Contracts","Scalability"]
6 | languages: ["Sway"]
7 | url: "https://fuellabs.github.io/sway/latest/"
8 | dateAdded: 2022-01-16
9 | level: "Intermediate"
10 | ---
11 |
12 | The Sway Book introduces the Sway language to smart contract developers. It covers how to write, test, and deploy smart contracts for the Fuel Network using Sway and the Sway toolchain.
13 |
--------------------------------------------------------------------------------
/next-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
5 | // NOTE: This file should not be edited
6 | // see https://nextjs.org/docs/basic-features/typescript for more information.
7 |
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | reactStrictMode: true,
3 | images: {
4 | domains: ['dl.airtable.com'],
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "use-web3",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint --fix",
10 | "tools:migrate": "ts-node src/migrate",
11 | "twitter:popular": "ts-node src/twitter-popular",
12 | "twitter:random": "ts-node src/twitter-random",
13 | "twitter:top": "ts-node src/twitter-top"
14 | },
15 | "dependencies": {
16 | "airtable": "^0.11.1",
17 | "bootstrap-icons": "^1.7.2",
18 | "dayjs": "^1.10.7",
19 | "gray-matter": "^4.0.3",
20 | "he": "^1.2.0",
21 | "marked": "^4.0.1",
22 | "next": "^12.0.3",
23 | "next-pagination": "^3.1.0",
24 | "next-plausible": "^2.1.1",
25 | "react": "17.0.2",
26 | "react-dom": "17.0.2",
27 | "sass": "^1.41.1",
28 | "slugify": "^1.6.1",
29 | "twit": "^2.2.11"
30 | },
31 | "devDependencies": {
32 | "@types/he": "^1.1.2",
33 | "@types/marked": "^4.0.0",
34 | "@types/react": "17.0.14",
35 | "cross-fetch": "^3.1.5",
36 | "dotenv": "^10.0.0",
37 | "eslint": "7.30.0",
38 | "eslint-config-next": "11.0.1",
39 | "ts-node": "^10.4.0",
40 | "typescript": "4.3.5"
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PatrickAlphaC/useWeb3/6d1cad6a1eaec4bf615d49faa6c1cf90af1e5096/public/favicon.ico
--------------------------------------------------------------------------------
/public/images/social.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PatrickAlphaC/useWeb3/6d1cad6a1eaec4bf615d49faa6c1cf90af1e5096/public/images/social.png
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Allow: /
3 | Sitemap: https://www.useweb3.xyz/sitemap.xml
--------------------------------------------------------------------------------
/src/assets/styles/globals.scss:
--------------------------------------------------------------------------------
1 | @use './variables' as *;
2 |
3 | @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap');
4 | @import url('https://unpkg.com/blocks.css/dist/blocks.min.css');
5 |
6 | html,
7 | body {
8 | margin: 0 auto;
9 | padding: 0;
10 | font-family: $font-primary;
11 | font-weight: $font-normal;
12 | font-size: $size-16;
13 | color: $color-neutral;
14 | --block-accent-color: #EBA134; // secondary
15 | overflow: hidden;
16 | }
17 |
18 | * {
19 | padding: 0;
20 | margin: 0;
21 | border: 0;
22 | box-sizing: border-box;
23 | min-height: 0;
24 | min-width: 0;
25 | }
26 |
27 | a {
28 | color: inherit;
29 | text-decoration: none;
30 |
31 | &:hover {
32 | color: $color-neutral-500;
33 | }
34 | }
35 |
36 | .truncate {
37 | white-space: nowrap;
38 | overflow: hidden;
39 | text-overflow: ellipsis;
40 | }
41 |
42 | h1, .h1 {
43 | font-size: $size-h1;
44 | }
45 |
46 | h2, .h2 {
47 | font-size: $size-h2;
48 | }
49 |
50 | h3, .h3 {
51 | font-size: $size-h3;
52 | }
53 |
54 | .p, p,
55 | .article, article {
56 | margin-bottom: $gap-16;
57 | }
58 |
--------------------------------------------------------------------------------
/src/assets/styles/variables.scss:
--------------------------------------------------------------------------------
1 | // Fonts
2 | $font-primary: 'JetBrains Mono', 'Courier New', monospace;
3 |
4 | // Weight
5 | $font-normal: 400;
6 | $font-bold: 700;
7 |
8 | // Colors
9 | $color-primary: #000D99;
10 | $color-primary-500: #004FFF;
11 | $color-primary-100: #99CCFF;
12 |
13 | $color-secondary: #EBA134;
14 | $color-secondary-500: #FAC748;
15 | $color-secondary-100: #FFE3B2;
16 |
17 | $color-neutral: #151A26;
18 | $color-neutral-500: #6A707F;
19 | $color-neutral-100: #E9ECF1;
20 |
21 | // Error, warning, succes, info colors
22 | $color-info: #d0f0fd;
23 | $color-info-dark: #04283f;
24 | $color-success: #d1f7c4;
25 | $color-success-dark: #0b1d05;
26 | $color-warning: #ffeab6;
27 | $color-warning-dark: #3b2501;
28 | $color-error: #ffdce5;
29 | $color-error-dark: #4c0c1c;
30 |
31 | // Sizes
32 | $size-12: 0.75rem; // 12px
33 | $size-16: 1rem; // 16px
34 | $size-20: 1.25rem; // 20px
35 |
36 | // Headings
37 | $size-h1: 2rem; // 32px
38 | $size-h2: 1.75rem; // 28px
39 | $size-h3: 1.5rem; // 24px
40 |
41 | // Gaps
42 | $gap-8: 8px;
43 | $gap-16: 16px;
44 | $gap-24: 24px;
45 | $gap-32: 32px;
46 | $gap-40: 40px;
47 |
48 | // Screens
49 | $screen-360: 360px;
50 | $screen-480: 480px;
51 | $screen-640: 640px;
52 | $screen-768: 768px;
53 | $screen-1024: 1024px;
54 | $screen-1280: 1280px;
55 |
56 | // Content
57 | $max-content-width: $screen-1280 + (24px * 2);
--------------------------------------------------------------------------------
/src/components/authors.module.scss:
--------------------------------------------------------------------------------
1 | @use 'assets/styles/variables.scss' as *;
2 |
3 | .container {
4 | list-style-type: none;
5 | display: flex;
6 | flex-wrap: wrap;
7 |
8 | li {
9 | margin-right: $gap-8;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/components/authors.tsx:
--------------------------------------------------------------------------------
1 | import styles from './authors.module.scss'
2 | import { Link } from './link'
3 |
4 | interface Props {
5 | authors: Array
6 | className?: string
7 | }
8 |
9 | export function Authors(props: Props) {
10 | let className = `${styles.container}`
11 | if (props.className) className += ` ${props.className}`
12 |
13 | return (
14 |