On Learning Ethereum

A starting point for developers

ICO’s and white papers, that’s all we hear about these days in the crypto space when peeking outside of the Bitcoin bubble and into Ethereum.

It’s hard enough to focus from the inside and I can only imagine the confusion when trying to get in from the outside at this point. For some folks, you just want to understand what this blockchain dynamic is, and for others, you need to know where to look for help. I’m going to use this post to list some of the key figures and places to start your research.

People

Vitalik Buterin

No list of people in the Ethereum ecosystem would be complete without Vitalik at the top because he started the whole thing. Here’s a good article posted in the Ethereum subreddit just today. You can follow Vitalik Buterin here on Medium and also on twitter. Here’s a link to his wikipedia page to save you the typing trouble.

Nick Johnson

This guy… Ethereum ace also known as Arachnid. Lead developer of the Ethereum Name Service, author of smart contracts here, here, and here, and a really nice guy from the few times I’ve coordinated with him. He’s definitely all about developing Ethereum for the greater good and is one to watch. You can follow Nick Johnson on Medium,@nicksdjohnson on twitter (note the extra “s” in there,) and watch his gists here.

Péter Szilágyi

Core Ethereum developer, main developer for Geth, my favorite Ethereum client, and also goes by karalabe. He does way more than Ethereum but that’s what I know him for. You can view his github here as well as follow Péter Szilágyi on Medium and twitter.

Gav Wood

Probably has the most beautiful personal website I’ve ever seen. Ethereum co-founder who departed Ethereum to start Parity Techonlogies . Another genius involved in many, many things within the distributed technology world. On top of the aforementioned website you can follow Gav Would on Medium and twitter.

Joseph Lubin

Get used to this name, he’s the future leader of the new world order. Also a co-founder of Ethereum and now leads the largest Ethereum development shop Consensys. Think Y-combinator for Ethereum. He has a short wiki here and you can follow Joseph Lubin on Medium, @ethereumJoseph on twitter.

Organizations

There are two primary high level organizations you should be familiar with:

Ethereum Foundation

The Ethereum Foundation is a Swiss non-profit that handles the development process at the base network level. EF makes the final decision on hard forks, tracks issues via the EIP process on github, and holds openly broadcasted meetings on a regular basis.

Consensys

As mentioned earlier, Consensys is the largest Ethereum development shop. They are the umbrella organization for many key projects in the ecosystem including Status, Zeppelin Solutions, Gnosis, and many many more.

They are hosting their first Consensys Academy class as we speak and are growing rapidly. In fact, this part regarding them is already outdated. They also put out a regular newsletter that you should subscribe to from their website.

Information

In addition to the links provided above, there are two primary sources of information I regularly use:

Ethereum Subreddit

The Ethereum subreddit has now passed over 100,000 members and growing. Posts providing information on companies, answers to questions, discussions about the future of Ethereum, it’s all here and updating by the minute. Developers should also join the ethdev subreddit for more technical information and discussions.

Week in Ethereum News

Evan has been at it for a while by providing the Week in Ethereum newsletter which organizes and links to all of the best information coming out in the ecosystem. In fact, subscribing to it should be the first thing you do from here. On top of that you can follow Evan Van Ness on Medium and twitter as well as visit his website.

Learning

Now that I’ve given you some links and information to find your way into the Ethereum community, which I believe is most important, here are places to help you learn Ethereum development after becoming familiar with blockchain concepts overall:

Ethereum Yellow Paper

This is the formal specification paper for Ethereum. From it you can gain a better understanding of how the Ethereum system works from the types of accounts, to smart contracts, and the concept of gas.

It’s definitely not a light read but any developer should go through it a few times over. If you’d like a slightly easier read to break yourself in then there’s the white paper.

Solidity

Solidity is the primary programming language for Ethereum smart contracts. The primary developer for Solidity is chriseth on github and @ethchris on twitter. These contracts are compiled into the bytecode used by the EVM, and I say EVM because you should’ve read the yellow paper. The documentation for Solidity can be found here and this will become your favorite bookmark.

Libraries

Here’s my plug (one of them) for what we do at Majoolr. Once you have a solid foundation in Ethereum basics and the Solidity language, you can go to our github Ethereum Library repo and read the documentation there to learn about libraries, how they work, and how to utilize them in your workflow. Shared open source libraries deployed on Ethereum are a key component of building secure systems on the network.

Other Devs

Howard started a great series earlier this month which takes a dive into the inner workings of the EVM. With Ethereum being so new, a lot of great resources are scattered about so it’s important to become a part of and stay active in the community as new learning series and updates are rolled out.

Tools

There are two primary tools to learn:

Truffle

Truffle, with Tim Coulter as the primary developer, is THE go to tool for developing Ethereum smart contracts. It provides automated workflow for compiling, deploying, and testing all of your code.

The website provides all of the documentation you need to get started and the more you use it along with the testrpc client, the more you’ll understand the process from start to finish.

Web3.js

Web3, actively developed with Fabian Vogelsteller as the lead, is the primary tool that communicates to and from the blockchain. Where solidity contracts provide the back-end logic and your favorite language builds client software, Web3.js is the transporter between the two. It gives you all of the tools necessary to compile data and requests into byte strings the EVM knows how to read and use.

Discussion at Majoolr Discord

Here’s my second (and last) plug. In order to facilitate discussion about security and development in Ethereum, answer questions, as well as draw more attention to what we’re doing, we’ve opened a public channel in Discord and welcome you to join us.

Our goal is to keep a clean, purposeful, and open discussion that can answer questions for folks in real time and to enjoy the company of fellow early adopters.

In Conclusion

That should give you enough links and information to either get you started from square one or fill in some information gaps while you discover Ethereum.

For those who have been following, and haven’t noticed, I am actually NOT George Washington, sorry to disappoint. [Shocker, Chris, we kinda got that. Haha — but love you anyway:) DRR]

I’m actually Christopher Brown and love technology more than anyone, and yes that includes you and every visionary ever. I am but a wee little man doing my part to help move us all forward in this giant undertaking.