Ethereum
Beyond financial applications, any environments where trust, security, and permanence are important – for instance, asset-registries, voting, governance, and the internet of things – could be massively impacted by the Ethereum platform.
- Ethereum yellow paper
dApps (distributed Apps)
- Vega fund
- Nanome & Matryx 3D assets
- Ethlance freelance network
- swarm hash & Swarm hash wiki ENS like DNS
- ENS domains
- IPFS peer to peer IP
- git mango decentralized git
- Dharma Loans
- Gnosis Prediction Markets
Tools
- Meta Mask Chrome Extension
- My Ether Wallet
- EPM Ethereum Package Manager
- ETH stats
- ETH Intelligence API
- Oraclize - connect dApps to APIs
- ETH view
Platforms
- Legalease legal contracts ala blockchain
Concepts
Types of accounts
- There are two types of accounts which share the same address space.
- Every account has a persistent key-value store mapping 256-bit words to 256-bit words called storage.
- every account has a balance in Ether (in “Wei” to be exact)
Externally Owned Accounts (EOAs)
- are controlled by private keys by humans
- The address of an external account is determined from the public key
Contract Accounts
- which are controlled by their contract code and can only be “activated” by an EOA
- the address of a contract is determined when it is created
- the address is derived from the creator address and the number of transactions sent from that address (the so-called “nonce”).
Smart contracts
- “smart contracts” refers to code in a Contract Account – programs that execute when a transaction is sent to that account. Users can create new contracts by deploying code to the blockchain.
Transactions
Like in Bitcoin, users must pay small transaction fees to the network. This protects the Ethereum blockchain from frivolous or malicious computational tasks, like DDoS attacks or infinite loops. The sender of a transaction must pay for each step of the “program” they activated, including computation and memory storage. These fees are paid in amounts of Ethereum’s native value-token, ether.
- transactions are messages sent from account to account
- the messages can contain binary data (payload) and ether
Gas
- Gas is the cost of processing each transaction in a contract
- the sending account has to pay the gas
Mining
Bitcoin mining model encourages specialized equipment to solve the blockchain. Ethereum changed the model to a memory-hard computational problem so the general computer is the ideal machine to solve ethereums blocks. That way it guarantees the evenly distributed descentralization, instead of having a few mega miners.
Security in dApps
Dev tools
- web3js to query the storage
- Truffle Boxes boilerplate catalog
- Eth alarm clock
- remix
- dAppathon dockerized ide
- ipfs node api