Ethereum starter kit

Ethereum was proposed by Vitalik Buterin after Bitcoin was invented to handle monetary transactions in a peer-to-peer manner. With Ethereum, he envisioned that this innovative technology would solve more advanced problems.

Peer-to-peer communication vs. client-server communication
Peer-to-peer communication vs. client-server communication

The core component of Ethereum is the smart contract, which is a piece of code that lives in the network. A smart contract looks pretty much like any ordinary code, for instance, the setOwner() method below sets the owner of a property held by the contract.

pragma solidity ^0.5.12;
/**
* @title Property
* @dev sets the owner of the property
*/
contract Property {
string name = "Awesome Property";
address owner;
/**
* @dev Sets the owner of this contract property
*/
function setOwner() public {
owner = msg.sender;
}
}

Do you need to run a full Ethereum node on your machine to start developing Ethereum apps?

Not really! You only need three things:

  1. An Ethereum wallet such as MetaMask.
  2. Access to an Ethereum test network such as Rinkeby.
  3. Programmatic access to that test network such as the web3.js library.