featheredape / tile

Today I'm Learning Ethereum

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TILE: Today I'm Learning Ethereum

Do you want to build useful Ethereum smart contracts and decentralized applications, but don't have much (or any) formal coding or programming experience? Me too. Fortunately, programmers tend to be willing to share their knowledge with the community and we can subsequently benefit from those contributions to make our journey more efficient and rewarding. So where (and when) do we start? I think the best method for understanding a technology and gaining proficiency in its use is to learn by doing. This TILE Project, which stands for "Today I'm Learning Ethereum", is my attempt to learn more about Ethereum smart contracts by building actual decentralized applications on the Ethereum platform. Along the way I'll gather and share useful guides, information, tips, tricks, and code for those of you who want to participate or follow-along. When does this start? Preferably yesterday, or months ago, but I'll settle for today.

Resources

[Lots to be filled in here. This is a work in progress]

Ethereum Basics

Background information that one should read.

Websites

The Ethereum Wiki (unofficial): Good resource of information.

Ethereum Guides for Devs

Ethereum Stack Exchange Solidity: Read the Docs: For coding smart contracts and understanding the fundamentals of the Solidity language, read this guide.

Learning Solidity

Tokens and ICOs

Balaji S. Srinivasan' "Thoughts on Tokens":

Ether Wallets (some have solidity compiler integration)

  • Mist -- Ethereum Wallet: Use this if you want to create an ether wallet and start using Ether, trade tokens, watch tokens, or watch contracts. It's build by the Ethereum Foundation, and is in a constant state of improvement and development.
  • MyEtherWallet: An in-browser wallet generator
  • Ethers.io: An in-browser wallet with a solidity code compiler; it's also adding support for applications (dApps)
  • Metamask.io: A chrome extension ethereum wallet with a good user interface. Useful in conjunction with Browser Solidity to inject contracts into the blockchain.

IDEs (Integrated Development Environments) and Code Editors

This is a list of tools that you can use for writing Ethereum smart contracts.

Git -- Helpful guides for managing and posting your code

Learning to Code

General Coding Courses

  • Harvard CS50: Awesome course; so many great lectures, quizzes, and reading material.

Videos: Learn how to program

JavaScript

Literature Resources

Books

Must Read books on programming and design in general, according to Jeff Atwood (Stack Exchange)

  1. Code Complete (Steve McConnell)
  2. Don't Make me Think (Steve Krug)
  3. Peopleware
  4. The Pragmattic Programmer
  5. Facts and Fallacies of Software Engineering

Misc Coding Links and Info and Philosophies

Advice

Jeff Atwood(Creator of Stack Exchange), from ITworld article. See his Reddit AMA as well:

  1. Learn by Doing real projects. "Build stuff. In the process of building something, if you need a new tool, learn it then"
  2. Aim to be dumbest person in the room
  3. Have a coding buddy

Adding to that, we should include:

  1. Start as soon as you can. Start yesterday. This reminds of another good article on the important habit of just starting

Blogs

STATE CHANNELS

Jeff Coleman's State Channel description Vitalik on State channels and Privacy. Good overview Universal State Channels (J. Tremback) Raiden.Network Bitcoin Micropayment Channels Bitcoin Lightning Network

Ethereum Meetup Groups

Ethereum Developers (Toronto) Seoul Ethereum Meetup

Misc

About

Today I'm Learning Ethereum