Dapps 101: How do I start developing on Ethereum?

Andy Coravos
Andrea’s Blog
Published in
3 min readOct 4, 2017

--

Note: I drafted this piece in early 2017 pre-ICO craze. There’s been a lot of great advancements and tools to play with since then. Check out this Hacker News chain for more resources.

If you’re just starting with Ethereum, check out Fred Ehrsam’s “Ethereum is the Forefront of Digital Currency” (May 2017) and Linda Xie’s “A Beginner’s Guide,” both of which were published earlier this year.

Let’s say you want to dive in, get your hands dirty, and play around with the protocol and smart contracts — where to start?

Building your first dapp

When I was first diving in, I met with Ryan, co-founder of Dapphub Chat and Nexus, blockchain R&D firm specializing in the Ethereum technology stack, and he shared a few starting points. It was a goldmine. Although I’m still working through the resources, I realized I’m not the only person thinking about how to get started — so wanted to share it with the broader community.

Where to start: A 101 Noob Intro to Programming Smart Contracts on Ethereum by ConsenSys, a blockchain venture production studio building decentralized applications on Ethereum.

Afterwards, I navigated over to the Ethereum Foundation, a Swiss nonprofit, which created a Greeter App, where you can build your first smart contract in the command line. While going through this, I realized I wanted more context before starting, which is when I reached out to Ryan. Here’s some of his tips:

What dapp frameworks are out there?

  • Truffle is an ethereum development framework maintained by ConsenSys. It’s among the most popular ones out there today. Dan Finlay wrote up a tutorial for developing dApps in MetaMask and Truffle. Here’s another Truffle framework tutorial that comes recommended.
  • Embark, a framework for serverless Decentralized Applications using Ethereum, IPFS and other platforms
  • Populus, a smart contract development framework for the Ethereum blockchain.
  • If you’re looking to get something up quickly to play with, Coinbase has developed Toshi, a dev-friendly tool that has three components (1) a private and secure messaging app, (2) a user controlled Ethereum wallet and (3) a browser for Ethereum apps

How about testing?

One of the first questions I asked was whether I needed to download the full blockchain on my local computer to do my dev work. As of the end of 2016, the full-mode size requirement was 75GB, growing at 1GB per month. I’d need a lot more storage on my computer to manage that. Recommend using Test RPC, Node.js based Ethereum client for testing and development. It’s managed by EthereumJS.

Another option is to use Parity, developed by Ethcore, which is a fast and lightweight Ethereum client that can be used to access dapps.

Where can I ask for help?

Check out the Ethereum Gitter channel and Ethereum Stack Exchange.

What else is interesting out there?

Check out EthList, a popular GitHub repo hosting a crowdsourced Ethereum reading list.

If you haven’t skimmed State of the Dapps yet, you’ll see some of the new projects for inspiration.

Game on.

Thanks to Ryan, Anastasia and the team at ETHWaterloo for sharing additional resources.

--

--

CEO @ HumanFirst. Former US FDA. Decentralized clinical research. Curious about biotechs + psychedelic compounds. BoD @ VisionSpring. The party is now