Intro-to-Blockchain

Resources for those interested in blockchain development.

Stars
23

Resources for learning blockchain development

Companion resources for Patrick Gallagher's blockchain courses and workshops. #BUIDL

NOTE: Resources can be used for your course with permission. Just ask!

Coding Challenges

  • Make your own personal token
  • Splitter tool: Quickly split Ethereum among multiple addresses.

Group Activities

  • Public key encryption with paint.
  • Tokenize all the things!
  • Use a DApp to play Trivia

Tutorials

  • Introduction to wallets
  • Setting up MetaMask

Resources

Lesson 1 - Hands-on Blockchain

What is Blockchain

Ethereum-specific resources

Set up a Software wallet

Use-cases and DApps

Smart Contracts

Encryption

Online Training

Lesson 2 - Smart Contracts

Solidity

Development Environments, SDKs, tools

  • ConsenSys Truffle suite. Development environment, testing framework and asset pipeline for blockchains using Ethereum
  • JP Morgan Chase Cakeshop. Development environment and SDK for Ethereum-like ledgers.
  • Big list of tools

Wallets

  • Advanced wallet w/ crypto-collectibles Vault.io (warning: untested)

Q: What does m/44'/60'/0'/0 mean when using my hardware wallet?

  • 44BIP 44
  • 60Ethereums coin type
  • 0Account 0
  • 0Chain 0 (mainnet)

Vocabulary

DApps

DApps that make you think "this is a thing?"

Conference Videos

https://blockstack.org/berlin2018

Online Training

The best paid DApp course by Stephen Grider ($10 Udemy)

Coding Challenges

Newsletters

Books

  • Great examples of Smart Contracts: Blockchain Applications: A Hands-On Approach by Arshdeep Bahga and Vijay
    Madisetti
  • A big-picture understanding of the blockchain space: Cryptoassets: The Innovative Investor's Guide to Bitcoin and Beyond by Chris
    Burniske and Jack Tatar

Bounties Grants and jobs

Lesson 3 Decentralize Applications (DApps)

Using Web3

WARNING! Don't be a dummy like me and make sure you are using the correct version of web3. Check your package.json file and delete the caret "^" on web3 to prevent automatically updating to a newer version and breaking your DApp.

  • Truffle can have its own web3 syntax. Use these docs. Upon Truffle version 5 release, it will use web3 1.0.0.
  • For "web3": "0.2x.x" use these docs and assign variable directly
  • For "web3": "1.0.0-beta.26" use these docs and use .then() callback promises

Diagnosing issues

Security assessment

Wallet integration

Advanced Topics