...
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
...
Ethereum’s JavaScript-like programming language used to write smart contracts is called solidity. Solidity is roughly speaking, an object-oriented language designed for writing contracts in Ethereum. This is a language designed specifically to help express agreements that must encode ideas and relationships relevant to Real Life, or some formal model thereof. As such we see notions such as ownership, identity, protections and restrictions forming a core part of the vocabulary and idiomatic grammarContracts 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.
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.
...
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
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. |
...
...
History
The phrase and concept of smart contracts was developed by Nick Szabo with the goal of bringing what he calls the "highly evolved" practices of contract law and practice to the design of electronic commerce protocols between strangers on the Internet. Nick is a computer scientist known for his research in digital contracts and digital currency. Although Szabo has repeatedly denied it, people have speculated that he is the one behind Satoshi Nakamoto, the designer of Bitcoins.
...
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.
Security
http://www.dejavusecurity.com/blog/2015/7/23/deja-vu-security-assists-in-ethereum-release
https://klmoney.wordpress.com/
See also
...