Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Warning

If you loose your account password, there will be no possibility to ask to any entity for a password recovery. Your account and its content will thus be lost. If you delete accidentally the keyfile, the account will too be unusable. Make sure you backup your keyfiles regularly

Popular wallets

Here is a non exhaustive list of wallets.

  • My Ether wallet
    MyEtherWallet is nn open source, javascript, client-side tool for generating Ethererum Wallets & sending transactions.
  • Mist ethreum wallet
    The Mist Ethereum wallet, and its parent Mist project, are being developed under the auspices of the Ethereum Foundation. It is the GUI-based option for creating accounts with the geth command.
  • EtherLi 
    EtherLi is the worlds first multi-signature Ethereum web wallet. This is the first Ethereum wallet that allows you to access your funds from anywhere on the web while taking advantage of multi-signature security layered with two-factor authentication for outgoing transactions.

Create and manage your account

...

Warning

As of 2016-05-13, The Mist wallet is still a beta software and shall be used at your own risk. A bug can leave you with a broken wallet and a potential lost of your wallet content.

Solidity

...

Contracts live on the blockchain in a Ethereum-specific binary format called Ethereum Virtual Machine (EVM) bytecode. Contracts are typically written in some high level language such as Solidity and then compiled into bytecode to be uploaded on the blockchain. 

Solidity is the DEV-created (i.e. Ethereum Foundation-created), Javascript-inspired statically-typed language that can be used to create smart contracts on the Ethereum blockchain. There are other languages you can use as well (LLL, Serpent, etc). The main points in favour of Solidity is that it is statically typed and offers many advanced features like inheritance, libraries, complex user-defined types and a bytecode optimizer.

The best way to try out Solidity right now is using the Browser-Based Compiler. 

All needed information to start writing code with Solidity can be found on the Read the doc website.

Contract

The contract is the basic structure of Solidity. It is a prototype of an object which lives on the blockchain. A contract may be instantiated into a contract-account (or 'object', or sometimes just 'account') at which point it gets a uniquely identifying address with which is may be called. The address here is similar to a reference or pointer in C-like languages, or just a plain old object in Javascript. Like plain objects in many object-oriented languages, contracts can never run themselves - they may only be called, or, put another way, they can only react to the receipt of a message; they can never be proactive.

To make it do something when it receives a message, we can introduce a function. The syntax of a function is similar to Javascript: it begins with the function keyword, then has a parenthesised parameter list, and finally has a braced expression block.

Example:

 

Code Block
languagexml
themeDJango
contract MyBasicAddition {
	    function() {
        var two = 1 + 1;
    }
 }

Smart contract

...

Panel
borderColor#348AC7
borderWidth5
borderStylesolid

From Vitalik Buterin in ethereum blog: a smart contract is a mechanism involving digital assets and two or more parties, where some or all of the parties put assets in and assets are automatically redistributed among those parties according to a formula based on certain data that is not known at the time the contract is initiated.

...

In 1996, as part of a startup doing bond trading on the net, Ian Grigg created a method to bring a classical 'paper' contract into touch with a digital accounting system such as cryptocurrencies. The form, which became known as the Ricardian Contract, was readily usable for anything that you could put into a written contract, beyond its original notion of bonds.

In short: write a standard contract such as a bond. Insert some machine-readable tags that would include parties, amounts, dates, etc that the program also needed to display. Then sign the document using a cleartext digital signature, one that preserves the essence as a human-readable contract. OpenPGP works well for that. This document can be seen on the left of this bow-tie diagram.

Definition

A smart contract is a collection of code (its functions) and data (its state) that resides at a specific address on the Ethereum blockchain. Contract accounts are able to pass messages between themselves as well as doing practically Turing complete computation. They are little programs that execute “if this happens then do that”, run and verified by many computers to ensure trustworthiness.

A smart contract is a mechanism involving digital assets and two or more parties, where some or all of the parties put assets in and assets are automatically redistributed among those parties according to a formula based on certain data that is not known at the time the contract is initiated.

Properties

The key property of a smart contract is simple: there is only a fixed number of parties.

Smart contracts are written using the Solidity language. A contract in the sense of Solidity is a collection of code (its functions) and data (its state) that resides at a specific address on the Ethereum blockchain. You will find a collection of very basic smart contracts on fivedogit github. For an exhaustive list of smart contracts on the Ethereum network, please visit Etherchains website.

Smart contract code validation

Status
colourYellow
titleINCOMPLETE

You can verify a smart contract with the following verification tools. These websites will allow you to review source code, as well as attached transactions.

Decentralized applications

...

A decentralized application (a.k.a. DAPP) is similar to a smart contract, but different in two key ways:

  • a decentralized application has an unbounded number of participants on all sides of the market.
  • decentralized application need not be necessarily financial.

Visit this link to see a list of current DAPP projects.

Decentralized organizations

...

The ideal of a decentralized autonomous organization (a.k.a. Introduction to the DAO core concepts) is easy to describe: it is an entity that lives on the internet and exists autonomously, but also heavily relies on hiring individuals to perform certain tasks that the automaton itself cannot do.

...

Wikipedia defines a corporation as “a company or group of people authorized to act as a single entity (legally a person) and recognized as such in law.” While The DAO is a group of people authorized to act as a single economic entity, no governmental body recognizes it as such.

Solidity

Contracts live on the blockchain in a Ethereum-specific binary format called Ethereum Virtual Machine (EVM) bytecode. Contracts are typically written in some high level language such as Solidity and then compiled into bytecode to be uploaded on the blockchain. 

Solidity is the DEV-created (i.e. Ethereum Foundation-created), Javascript-inspired language that can be used to create smart contracts on the Ethereum blockchain. There are other languages you can use as well (LLL, Serpent, etc). The main points in favour of Solidity is that it is statically typed and offers many advanced features like inheritance, libraries, complex user-defined types and a bytecode optimizer.

The best way to try out Solidity right now is using the Browser-Based Compiler. 

All needed information to start writing code with Solidity can be found on the Read the doc website.

 

Ethereum client

 

Ethereum network

https://ethstats.net/

 

Security

http://www.dejavusecurity.com/blog/2015/7/23/deja-vu-security-assists-in-ethereum-release

https://klmoney.wordpress.com/

See also

...

See also

...