All my projects

Study and Resources

The information below is a list of some materials and resources I used for studying.
All are free, so please feel free to use them.

Study・Resources

Other「Usefull links」

I have created a repository to share useful links with other peoples.

It might be helpful for studying and practicing new technologies. This is because starting something new is always troublesome, and it can be difficult to understand new concepts at first. I have decided to compile a list of links I have collected so far. Most of the resources are in English, but there are ways to translate everything currently.
The list includes academic-level courses, tools, and games for development learning.
Examples:

  • A war game for learning JavaScript
  • An RPG game for learning HTML
  • SA detective game where you find suspects and murderers while interacting with a database in SQL
  • Games for hacking challenges and learning advanced concepts in Solidity
  • And more

Repeating commands, revisiting concepts, and occasionally having fun at the same time is a good way to learn things.

View Github repo

Tools

Ethical Hacking of Smart Contracts「Security & Auditing」

A course using Solidity and the Foundry framework to learn about auditing protocols and projects in the Web3 industry while fixing exploits found in smart-contracts, preventing users and protocols from losing all their funds by interacting maliciously with the smart-contract.
The content is led by the 'Red Guild' and security auditors, including lead developers from Chainlink and OpenZeppelin. These individuals have saved millions of dollars by preventing significant vulnerabilities in the DEFI ecosystem.

Covers auditing of Defi protocols (swaps, staking, flash loans, AMMs), bridges, NFTs and the 'randomness', stablecoins, and other entities (like DAOs) to enhance their security and protect protocol and user funds. It includes advanced testing techniques, Solidity/Assembly programming, communication with protocol developers (clients), creating reports with including Proof Of Code (POC), and detailing vulnerabilities and how to fix them.

Learn also about lesser-known and major vulnerabilities and how to prevent them: frontrunning, logic errors, reentrancy attacks, DOS attacks, constructor attacks, MEV, Proxy storage attacks, etc...
Note: This is not for beginners.

The amount stolen in Defi hacking and theft over the past two years:

  • 2022: $3.8 billion stolen.
  • 2023: $3 billion stolen.

Uses Solidity, Huff, and Yul (assembly languages) with the following testing methods:

  • Staging
  • Static
  • Unit
  • Dynamic
  • Stateless Fuzzing test
  • Stateful Fuzzing test
  • Invariants test
  • Formal Verification test

Languages: Solidity & Huff、Yul or Yul+ (Assembly language)
Tools used: Forge Foundry, Assembly, Chainlink, OpenZeppelin, Remix, IPFS, NextJS, Markdown, Chisel, Anvil, (Tools for testing: Slither, Aderyn, Mithril, Echidna ....) (Link to the Github repo)

View website

Tools

Blockchain Engineer (Solidity & Foundry)

Learn how to create smart contracts and Web3 websites using Solidity and the Foundry framework. The content differs from the Python and JavaScript versions mentioned earlier, with a deeper focus on ABI, contract calling methods, testing techniques (Fuzzing, Staging, Static, Unit, etc.), and security. It primarily uses Solidity, with less emphasis on Web3 front-end and back-end content.

Content:
Explanation of blockchain, creation of smart contracts (NFT/ERC721, ERC20, Decentralized Finance (DeFi)), DAOs, how to use Chainlink & OpenZeppelin and upgradable smart contracts (Proxies), severals topics about testing methods and hacking and security aswell, etc...
It thoroughly introduces the core concepts to be able to start working as a Blockchain Engineer.


Language: Solidity
Tools used: Forge Foundry, Chainlink, OpenZeppelin, Remix, IPFS, NextJS, Chisel, Anvil, (Tools for test: Slither, Mithril, Echidna, 4nlyzer....)

View website

Tools

Blockchain Engineer (JavaScript with HardHat and Solidity)

Learn how to create smart-contracts and websites for Web3 using JavaScript and Solidity (including TypeScript). Similar to the Python version mentioned earlier, delves deeper into the study of Web3 front-end / back-end, and testing methods.

Content:
Explanation of blockchain, creation of smart contracts (NFT/ERC721, ERC20, Decentralized Finance (DeFi)), DAOs, how to use Chainlink & OpenZeppelin and upgradable smart contracts (Proxies), topics about hacking and security, etc...
It thoroughly introduces the core concepts to be able to start working as a Blockchain Engineer.


Languages: Javascript・Typescript, Solidity
Tools used: HardHat, Ganache, Node, Chainlink, OpenZeppelin, NPM, Remix, Node.js, React, Web3.js, TailwindCSS, MaterialUI, MongoDB, Redis, GraphQL, IPFS

View website

Tools

Solidity learning while building an NFT game (Solidity)

Use Solidity to study blockchain and ERC tokens while creating a blockchain NFT game (creating a zombie army). It is suitable for beginners to advanced learners and covers various area and topics.

Languages: Python, Solidity
Tools used: CryptoZombies, Remix, Chainlink, OpenZeppelin

View website

Tools

Blockchain Engineer (Python, Brownie, Solidity)

Note: Since Brownie is deprecated, Ape (ApeWorx) should be used instead.
In this course, learn how to create smart contracts and Web3 websites using Python and Solidity.

Content:
Explanation of blockchain, creation of smart contracts (NFT/ERC721, ERC20, Flash Loans, Decentralized Finance (DeFi)), how to use Chainlink & OpenZeppelin, how to use upgradable smart contracts, hacking and security, etc...
Introduction to core concepts of the Blockchain engineering world and smart contract development.


Languages: Python, Solidity
Tools used: Ganache, Brownie, Node, Chainlink, OpenZeppelin, NPM, Remix, Node.js, NextJs, Web3.py, Yarn

View website

Tools

University of Michigan: Django for Everybody

Over the course of 9 weeks, build and deploy a variety of web applications using Django. The course provides the foundation for building full-stack web sites using Django.

View website

Tools

University of Michigan: Python for Everybody

Over the period of 7 weeks, learn about programming and analyzing data using Python. The course focuses on developing programs to collect, clean, analyze, and visualize data.

View website

Tools

Harvard University CS50: Web

This course, continues from CS50 and delves deeper into the design and implementation of web applications using Python, JavaScript, SQL, and frameworks such as Django and Flask, React, and Bootstrap over a period of 8 weeks.

View website

Tools

Harvard University CS50: Introduction to Software Engineering

CS50x teaches students to think algorithmically and solve problems efficiently over a period of 12 weeks.
Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development.

Languages covered include C, Python, SQL, and JavaScript, in addition to CSS and HTML.

View website

Tools