Skip to content
This repository has been archived by the owner on May 17, 2022. It is now read-only.

Commit

Permalink
Changed compiler page to HLL page. Fixed Ether chart. Added Dapp IDEs…
Browse files Browse the repository at this point in the history
…/Frameworks.
  • Loading branch information
Souptacular committed Feb 14, 2016
1 parent 6c08345 commit f3f2ce8
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 18 deletions.
15 changes: 12 additions & 3 deletions source/developing-on-ethereum/developer-tools.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,24 @@ development.
IDEs/Frameworks
================================================================================

- `Populus Documentation <http://populus.readthedocs.org/en/latest/>`__ - Populus is a Smart Contract development framework written in python.
- `Mix Ethereum IDE <https://github.com/ethereum/mix>`__ - Mix is an IDE that allows developers to build and deploy contracts and decentralized applications on top of the Ethereum blockchain. It includes a Solidity source code debugger.
- `Truffle <https://github.com/ConsenSys/truffle>`__ - Truffle is a development environment, testing framework and asset pipeline for Ethereum.
- `Dapple <https://github.com/nexusdev/dapple>`__ - Dapple is a tool for Solidity developers to help build and manage complex contract systems on Ethereum-like blockchains.
- `Populus <http://populus.readthedocs.org/en/latest/>`__ - Populus is a Smart Contract development framework written in python.
- `Embark <https://iurimatias.github.io/embark-framework/>`__ - Embark is a Ðapp development framework written in JavaScript.

The EVM
================================================================================
The Ethereum Virtual Machine (EVM) is the runtime environment for smart contracts in Ethereum. It is not only sandboxed, but actually completely isolated, which means that code running inside the EVM has no access to network, filesystem, or other processes. Smart contracts even have limited access to other smart contracts.

Contracts live on the blockchain in an Ethereum-specific binary format (EVM bytecode). However, contracts are typically written in an Ethereum high level language, compiled into byte code using an EVM compiler, and finally uploaded on the blockchain using an Ethereum client.


Solidity Contract Language Resources
================================================================================
- `Solidity
Documentation <https://solidity.readthedocs.org/en/latest/>`__ -
Solidity is the Ethereum developed Smart Contract language, which
compiles to EVM (Ethereum Virtual Machine) opcodes.
Solidity is the flagship Ethereum high level language that is used to write contracts.
- `Standardized Contract
APIs <https://github.com/ethereum/wiki/wiki/Standardized_Contract_APIs>`__

Expand Down
2 changes: 1 addition & 1 deletion source/ethereum-ecosystem/ethereum-ecosystem.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Ethereum Ecosystem

ethereum-network-stats.rst
client-implementations.rst
evm-compilers.rst
ethereum-high-level-languages.rst
block-explorers.rst
miscellaneous-tools.rst
exchanges.rst
Expand Down
27 changes: 27 additions & 0 deletions source/ethereum-ecosystem/ethereum-high-level-languages.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
********************************************************************************
Ethereum High Level Languages
********************************************************************************
Contracts live on the blockchain in an Ethereum-specific binary format (EVM bytecode). However, contracts are typically written in an Ethereum high level language and then compiled into byte code to be uploaded on the blockchain using an EVM compiler.

Below are the different high level Ethereum languages in Ethereum which allow you to compile your Smart Contract into a EVM specific bytecode.

Supported
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**Solidity** - Solidity is a language similar to JavaScript which allows you to develop contracts and compile to EVM bytecode. It is currently the flagship language of Ethereum and the most popular. More details can be found here: http://solidity.readthedocs.org/en/latest/

**Serpent** - Serpent is a language similar to Python which can be used to develop contracts and compile to EVM bytecode. It is intended to be maximally clean and simple, combining many of the efficiency benefits of a low-level language with ease-of-use in programming style, and at the same time adding special domain-specific features for contract programming. Serpent can be compiled into LLL. More details can be found here: https://github.com/ethereum/wiki/wiki/Serpent

**LLL** - Lisp Like Language is a low level language similar to Assembly. It is meant to be very simple and minimalistic; essentially just a tiny wrapper over coding in EVM directly.

Not-Supported
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

**Mutan** - Mutan is a statically typed, C-Like language. Mutan is a higher level language.

Related Acronyms
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**HLL** - Acronym for Higher Level Language, which is what Serpant and Solidity are. HLL is what early Ðapp developers called Ethereum programming languages that did not touch the low level elements. This phrase has been phased out.

**CLL** - Acronyom for C Like Language, which Mutan was. This acronym has been phased out.

**ES1, ES2, and ES3** - "Ethereum Script" versions 1,2 and 3. There were early versions of what would become the Ethereum Virtual Machine (EVM).
11 changes: 0 additions & 11 deletions source/ethereum-ecosystem/evm-compilers.rst

This file was deleted.

17 changes: 14 additions & 3 deletions source/using-ethereum-the-basics/ether.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ What is Ether?
================================================================================

Ether is the base unit of currency used within Ethereum. It is used to pay for
computation within the EVM
computation within the EVM.

Denominations
================================================================================
Expand All @@ -15,19 +15,29 @@ There are different denominations used in Ether and each denomination has its
own unique name and value. Below is a list of different denomination names and
how they are related to Ether.

+=====================+===========+===========================================+
| unit | wei value | |
+---------------------+-----------+-------------------------------------------+
| Unit | Wei Value | Wei |
+=====================+===========+===========================================+
| **wei** | 1 wei | 1 |
+---------------------+-----------+-------------------------------------------+
| **Kwei (babbage)** | 1e3 wei | 1,000 |
+---------------------+-----------+-------------------------------------------+
| **Mwei (lovelace)** | 1e6 wei | 1,000,000 |
+---------------------+-----------+-------------------------------------------+
| **Gwei (shannon)** | 1e9 wei | 1,000,000,000 |
+---------------------+-----------+-------------------------------------------+
| **szabo** | 1e12 wei | 1,000,000,000,000 |
+---------------------+-----------+-------------------------------------------+
| **finney** | 1e15 wei | 1,000,000,000,000,000 |
+---------------------+-----------+-------------------------------------------+
| **ether** | 1e18 wei | 1,000,000,000,000,000,000 |
+---------------------+-----------+-------------------------------------------+
| **kether** | 1e21 wei | 1,000,000,000,000,000,000,000 |
+---------------------+-----------+-------------------------------------------+
| **Mether** | 1e24 wei | 1,000,000,000,000,000,000,000,000 |
+---------------------+-----------+-------------------------------------------+
| **Gether** | 1e27 wei | 1,000,000,000,000,000,000,000,000,000 |
+---------------------+-----------+-------------------------------------------+
| **Tether** | 1e30 wei | 1,000,000,000,000,000,000,000,000,000,000 |
+---------------------+-----------+-------------------------------------------+

Expand Down Expand Up @@ -65,5 +75,6 @@ Ether can also be transfered using the **geth console**.
.. _Ethereum Wallet: https://github.com/ethereum/mist/releases/tag/0.3.9

0 comments on commit f3f2ce8

Please sign in to comment.