Smart Contract Development for Newbies

Looking for a cool weekend project? How about creating a smart contract? Ethereum offers a rich platform which quickly gets developers started in creating and executing their own smart contracts!


Step 1: Ethereum Docs

https://github.com/ethereum/wiki/wiki

The most obvious place to start would be the Ethereum docs. The documentation will help you get Etheruem and Solidity on your machine.  Ethereum’s docs are fantastic because they show you everything from getting a testnet up and running to how to start mining ether (which is something you should totally try). After you get Ethereum up and running ,then it is time to pick a client. The cool kids use parity, but you can choose a language which you’re comfortable with.


Step 2: Ethereum Contracts and Browser Solidity

https://ethereum.github.io/browser-solidity/#version=soljson-v0.4.2+commit.af6afb04.js

After you got your dev environment set up, it’s time to go and make contracts! Spend an hour or two learning the syntax and patterns of Solidity. Then make a trip to www.ethereum.org, where you’ll find examples of executable smart contract code. After studying how the contract works, take it to the browser solidity app and deploy your first smart contract!


Step 3: Build a DApp

https://github.com/ethereum/wiki/wiki/Dapp-using-Meteor

Now that you’re familiar with the basics of smart contract development, its time to create a smart contract application or a DApp.  DApps really usher you into the world of full-stack smart contract development . Full stack applications are user facing and have the potential of solving real world problems.

Much of the ethereum community uses Meteor. Meteor is a comprehensive framework which addresses the front and backend portions of an app. Meteor is handy, but I find it a bit bloated. Personally, I’m experimenting with React, which is only handle the UI portion of an app.


Honorable Mention:

https://truffle.readthedocs.io/en/latest/

Truffle is an Ethereum specific framework which addresses the more tedious aspects of smart contract development, like deploying or hooking your contract to web3. If you are serious about creating enterprise level DApps then I highly suggest you take a look at Truffle.