Skip to content

Instantly share code, notes, and snippets.

@rjchow
Last active March 29, 2021 08:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rjchow/112ef2c493fb16fe1487b60654578e64 to your computer and use it in GitHub Desktop.
Save rjchow/112ef2c493fb16fe1487b60654578e64 to your computer and use it in GitHub Desktop.
how 2 ethereum developer?

READ THIS FIRST: https://dergigi.com/2021/01/14/bitcoin-is-time/

many resources at https://github.com/ConsenSys/ethereum-developer-tools-list/blob/master/EcosystemResources.md#knowledgeeducation

To build a full Ethereum app from scratch you will need understanding of 3 things:

  1. Writing smart contracts for Ethereum in Solidity (various tutorials)
  2. Reading and writing to contracts from the web using Ethers.js (cryptozombies)
  3. Creating a front-end that people can use to interact (cryptozombies)

To understand Ethereum you need to understand (just do google :D)

  • nodes, all the different types and their differences
  • consensus algorithm
  • what goes in a block
  • what links the block
  • wallet and transaction signing
  • understanding EIPs and ERCs (we use ERC721, ERC165, there are some other popular ones and you should know what they do)
  • re-entrancy and all the other kinds of vulnerabilities - ethernaut (learning these will tell you how it differs from normal programming)
  • smart contracts
    • how its written
    • how its deployed
    • how the frontend interacts with it (ABI)
  • tooling and boilerplate
    • metamask
    • remixide
    • openzeppelin
    • ethersjs
    • hardhat
    • etc
  • advanced stuff
    • proxies
    • upgradeable contracts
      • metatransactions
      • L2 scaling
      • eth2

Cryptography (Do Dan Boneh's course on cryptography)

  • Symmetric Encryption
  • Asymmetric Encryption
  • Hashing

Decentralisation/Privacy Mindset

  • When you need to choose carefully what to put on the blockchain and not, you start to consider these aspects
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment