Skip to content

Commit

Permalink
cleaning up docs
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisfranko committed Jul 30, 2016
1 parent 95ed07d commit c7a342b
Show file tree
Hide file tree
Showing 27 changed files with 171 additions and 515 deletions.
5 changes: 1 addition & 4 deletions source/about.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,7 @@ Resources for Exemplary Documentation

Here are some examples of previous Expanse documentation + good examples of documentation.

* Solidity Docs - https://expanse.github.io/solidity/docs/home/
* Gav’s TurboEthereum Guide - https://gavofyork.gitbooks.io/turboethereum/content/
* Ancient EthereumBuilder’s Guide - https://ethereumbuilders.gitbooks.io/guide/content/en/index.html
* Other Expanse Links: https://souptacular.gitbooks.io/ethereum-tutorials-and-tips-by-hudson/content/giant_ethereum_resource_list.html
* Solidity Docs - https://solidity.readthedocs.io/en/latest/
* Django Docs - https://docs.djangoproject.com/en/1.9/

Restructured Text Markup, Sphinx
Expand Down
106 changes: 1 addition & 105 deletions source/account-management.rst
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ In order to create a new account using gexp, we must first start gexp in console
.. code-block:: Bash
> gexp console 2>> file_to_log_output
instance: Geth/v1.4.0-unstable/linux/go1.5.1
instance: Gexp/v1.4.0-unstable/linux/go1.5.1
coinbase: coinbase: [object Object]
at block: 865174 (Mon, 18 Jan 2016 02:58:53 GMT)
datadir: /home/USERNAME/.expanse
Expand Down Expand Up @@ -201,110 +201,6 @@ Troubleshooting:

* "Wrong password" notice. This seems to be a false notice on occasion on current Mist versions. Restart Mist and the problem should go away (if you indeed entered the correct password).


Using Eth
--------------------------------------------------------------------------------

Every options related to key management available using gexp can be used the same way in eth.

Below are "account" related options:

.. code-block:: Javascript
> eth account list // List all keys available in wallet.
> eth account new // Create a new key and add it to the wallet.
> eth account update [<uuid>|<address> , ... ] // Decrypt and re-encrypt given keys.
> eth account import [<uuid>|<file>|<secret-hex>] // Import keys from given source and place in wallet.
Below are "wallet" related option:

.. code-block:: Javascript
> eth wallet import <file> //Import a presale wallet.
.. Note:: the 'account import' option can only be used to import generic key file. the 'wallet import' option can only be used to import a presale wallet.

It is also possible to access keys management from the integrated console (using the built-in console or gexp attach):

.. code-block:: Javascript
> web3.personal
{
listAccounts: [],
getListAccounts: function(callback),
lockAccount: function(),
newAccount: function(),
unlockAccount: function()
}
Using EthKey (deprecated)
--------------------------------------------------------------------------------
Ethkey is a CLI tool of the C++ implementation that allows you to interact with the Expanse wallet. With it you can list, inspect, create, delete and modify keys and inspect, create and sign transactions.
We will assume you have not yet run a client such as eth or anything in the Aleth series of clients. If you have, you can skip this section.
To create a wallet, run ``ethkey`` with the ``createwallet`` command:
.. code-block:: Bash
> ethkey createwallet
Please enter a MASTER passphrase to protect your key store (make it strong!):
You'll be asked for a "master" passphrase. This protects your privacy and acts as a default password for any keys. You'll need to confirm it by entering the same text again.
.. Note:: Use a strong randomly generated password.
We can list the keys within the wallet simply by using the list command:
.. code-block:: Bash
> ethkey list
No keys found.
We haven't yet created any keys, and it's telling us so! Let's create one.
To create a key, we use the ``new`` command. To use it we must pass a name - this is the name we'll give to this account in the wallet. Let's call it "test":
.. code-block:: Bash
> ethkey new test
Enter a passphrase with which to secure this account (or nothing to use the master passphrase).
It will prompt you to enter a passphrase to protect this key. If you just press enter, it'll use the default "master" passphrase. Typically this means you won't need to enter the passphrase for the key when you want to use the account (since it remembers the master passphrase). In general, you should try to use a different passphrase for each key since it prevents one compromised passphrase from giving access to other accounts. However, out of convenience you might decide that for low-security accounts to use the same passphrase.
Here, let's give it the incredibly imaginative passphrase of 123. (Never ever use simple passwords like this for anything else than ephemeral test accounts).
Once you enter a passphrase, it'll ask you to confirm it by entering again. Enter 123 a second time.
Because you gave it its own passphrase, it'll also ask you to provide a hint for this password which will be displayed to you whenever it asks you to enter it. The hint is stored in the wallet and is itself protected by the master passphrase. Enter the truly awful hint of 321 backwards.
.. code-block:: Bash
> ethkey new test
Enter a passphrase with which to secure this account (or nothing to use the master passphrase):
Please confirm the passphrase by entering it again:
Enter a hint to help you remember this passphrase: 321 backwards
Created key 055dde03-47ff-dded-8950-0fe39b1fa101
Name: test
Password hint: 321 backwards
ICAP: XE472EVKU3CGMJF2YQ0J9RO1Y90BC0LDFZ
Raw hex: 0092e965928626f8880629cec353d3fd7ca5974f
All normal (aka direct) ICAP addresses begin with XE so you should be able to recognize them easily. Notice also that the key has another identifier after Created key. This is known as the UUID. This is a unique identifier for the key that has absolutely nothing to do with the account itself. Knowing it does nothing to help an attacker discover who you are on the network. It also happens to be the filename for the key, which you can find in either ~/.web3/keys (Mac or Linux) or $HOME/AppData/Web3/keys (Windows).
Now let's make sure it worked properly by listing the keys in the wallet:
.. code-block:: Bash
> ethkey list
055dde03-47ff-dded-8950-0fe39b1fa101 0092e965… XE472EVKU3CGMJF2YQ0J9RO1Y90BC0LDFZ test
It reports one key on each line (for a total of one key here). In this case our key is stored in a file 055dde... and has an ICAP address beginning XE472EVK.... Not especially easy things to remember so rather helpful that it has its proper name, test, too.
Importing your presale wallet
================================================================================
Using Mist Expanse wallet
--------------------------------------------------------------------------------

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ We will go through the different steps to deploy the following contract using on
}
}
The first thing to do is make sure the HTTP RPC interface is enabled. This means for gexp we supply the ``--rpc`` flag on startup and for eth the ``-j``
The first thing to do is make sure the HTTP RPC interface is enabled. This means for gexp we supply the ``--rpc`` flag on startup and for exp the ``-j``
flag. In this example we use the gexp node on a private development chain. Using this approach we don't need expanse on the real network.

.. code:: bash
Expand Down Expand Up @@ -245,7 +245,7 @@ Console
================================================================================

The gexp `console <https://github.com/expanse-org/go-expanse/wiki/JavaScript-Console>`_ offers a command line interface with a javascript runtime. It
can connect to a local or remote gexp or eth node. It will load the web3.js library that users can use. This allows users to deploy and interact with
can connect to a local or remote gexp or exp node. It will load the web3.js library that users can use. This allows users to deploy and interact with
smart contract from the console using web3.js. In fact the examples in the :ref:`Web3.js <using_web3.js>` section can by copied into the console.


Expand Down
6 changes: 3 additions & 3 deletions source/contracts-and-transactions/contracts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ mechanisms.

* Using the ``solc`` compiler via the command line.
* Using ``web3.exp.compile.solidity`` in the javascript console provided by
``gexp`` or ``eth`` (This still requires the ``solc`` compiler to be
``gexp`` or ``exp`` (This still requires the ``solc`` compiler to be
installed).
* The `online Solidity realtime compiler <https://expanse.github.io/browser-solidity/>`_.
* The `Meteor dapp Cosmo for building solidity contracts <https://github.com/SilentCicero/meteor-dapp-cosmo>`_.
Expand Down Expand Up @@ -151,7 +151,7 @@ This contract offers a single method **multiply** which is called with a
positive integer ``a`` and returns ``a * 7``.

You are ready to compile solidity code in the ``gexp`` JS console using
`eth\.compile\.solidity\(\)
`exp\.compile\.solidity\(\)
<https://github.com/expanse-org/wiki/wiki/JavaScript-API#web3ethcompilesolidity>`_:


Expand Down Expand Up @@ -202,7 +202,7 @@ use the compiler.

.. code:: bash
$ gexp --datadir ~/eth/ --loglevel 6 --logtostderr=true --rpc --rpcport 8100 --rpccorsdomain '*' --mine console 2>> ~/eth/exp.log
$ gexp --datadir ~/exp/ --loglevel 6 --logtostderr=true --rpc --rpcport 8100 --rpccorsdomain '*' --mine console 2>> ~/exp/exp.log
$ curl -X POST --data '{"jsonrpc":"2.0","method":"exp_compileSolidity","params":["contract test { function multiply(uint a) returns(uint d) { return a * 7; } }"],"id":1}' http://127.0.0.1:8100
The compiler output for one source will give you contract objects each
Expand Down
10 changes: 5 additions & 5 deletions source/contracts-and-transactions/developer-tools.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Dapp browsers
* `Mist <https://github.com/expanse-org/mist>`_ - official GUI dapp browser developed by the foundation, alpha stage. Mist as Wallet dapp is in beta.
* `Syng <http://syng.im/>`_ - Mobile Expanse browser (alpha) by Jarrad Hope - supported by DEVgrants
* `MetaMask <https://metamask.io/>`_ - Aaron Kumavis Davis's in-browser GUI. `Epicenter Bitcoin interview on github <https://www.reddit.com/r/expanse/comments/3x97rg/aaron_davis_explains_the_differences_between/>`_ - supported by DEVgrants
* `AlethZero <https://github.com/expanse-org/alethzero>`_ - C++ eth client GUI, (discontinued).
* `AlethZero <https://github.com/expanse-org/alethzero>`_ - C++ exp client GUI, (discontinued).
* `Supernova <http://www.supernove.cc>`_ - (discontinued).

********************************************************************************
Expand Down Expand Up @@ -113,7 +113,7 @@ Expanse-console

Commandline console for Expanse nodes.

`Ethconsole <https://github.com/expanse-org/expanse-console>`_ connects to an Expanse node running in the background (tested with eth and gexp) via IPC and provides an interactive javascript console containing the web3 object with admin additions.
`Ethconsole <https://github.com/expanse-org/expanse-console>`_ connects to an Expanse node running in the background (tested with exp and gexp) via IPC and provides an interactive javascript console containing the web3 object with admin additions.

Here you could find a list of available commands `expanse node control commands <https://github.com/expanse-org/expanse-console/blob/master/web3Admin.js>`_

Expand All @@ -123,14 +123,14 @@ You could also set ``--test`` option to use specific node test commands.

.. code:: Console
> eth --test
> exp --test
> ethconsole ipc://path/to/gexp.ipc
In the console you could then type

.. code:: Console
> web3.eth.<command name> (arguments, function(){})
> web3.exp.<command name> (arguments, function(){})
Here the defenition of ``--test`` mode node commands:

Expand All @@ -142,7 +142,7 @@ Here the defenition of ``--test`` mode node commands:
> web3.test.modifyTimestamp:("[int]", function(){}) - Set current block timestamp
> web3.test.setChainParams:("[json]", function(){}) - Reset the blockchain with given node configuration file
More information about node `configuration <../network/test-networks.html#custom-networks-eth>`_ file.
More information about node `configuration <../network/test-networks.html#custom-networks-exp>`_ file.

Base layer services
=================================================
Expand Down
2 changes: 1 addition & 1 deletion source/ethereum-clients/choosing-a-client.rst
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ in the coming months, following grant funding.

Check out `Syng.im <http://syng.io>`_, who were initially using
`ethereumj-personal <https://github.com/syng-im/ethereumj-personal>`_ based
on :ref:`Expanse(J)`, but have recently flipped to Geth cross-builds with
on :ref:`Expanse(J)`, but have recently flipped to Gexp cross-builds with
Light Client.


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Compiling the source code
During this step, an installation folder for the Expanse can be specified.
Specification of the folder is optional though. If not given, the
binary files will be located in the build folder. However, for this guide,
it is assumed that the Expanse files will be installed under `/opt/eth`. The reason for
it is assumed that the Expanse files will be installed under `/opt/exp`. The reason for
using `/opt` is that it makes much easier to delete the Expanse files later on,
as compared to having them installed under, e.g., `/usr`. Also `/opt` is commonly used
to install software that is not managed by packaging systems, such as manually
Expand All @@ -36,7 +36,7 @@ compiled programs. ::
mkdir -p build && cd build

# create build files and specify Expanse installation folder
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/eth
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/exp

# compile the source code
make
Expand All @@ -49,19 +49,19 @@ compiled programs. ::
sudo make install


After successful compilation and installation, Expanse binaries can be found in `/opt/eth/bin`,
shared libraries in `/opt/eth/lib`, and header files in `/opt/eth/include`.
After successful compilation and installation, Expanse binaries can be found in `/opt/exp/bin`,
shared libraries in `/opt/exp/lib`, and header files in `/opt/exp/include`.


Specifying Expanse libraries path
================================================================================

Since Expanse was installed in `/opt/eth`, executing its binaries can result in linker error due to not being
Since Expanse was installed in `/opt/exp`, executing its binaries can result in linker error due to not being
able to find the Expanse shared libraries. To rectify this issue, it is needed to add the folder containing
Expanse shared libraries into `LD_LIBRARY_PATH` environmental variable: ::

# update ~/.bashrc
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/eth/lib" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/exp/lib" >> ~/.bashrc

# reload ~/.bashrc
source ~/.bashrc
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@ See the
for a full matrix of platforms and known status.

Here are the cross-build binaries from doublethinkco:
`RELEASED – Cross-build eth binaries for Homestead
<http://doublethink.co/2016/03/07/released-cross-build-eth-binaries-for-homestead/>`_.
`RELEASED – Cross-build exp binaries for Homestead
<http://doublethink.co/2016/03/07/released-cross-build-exp-binaries-for-homestead/>`_.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Raspberry Pi, Odroid, BeagleBone Black, Wandboard
SBCs at major milestones, in addition to testing and maintaining build scripts
for these devices. EthEmbedded was a `devgrant recipient
<https://twitter.com/EthEmbedded/status/601072825584103424>`_ in May 2015.
He builds binaries for both eth and gexp.
He builds binaries for both exp and gexp.

Here are the `Homestead binaries <http://ethembedded.com/?page_id=102>`_
from `EthEmbedded <http://ethembedded.com>`_
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ EVMJIT and maybe other features too. We might accept pull-requests to
add such support, but we will not put any of our development time into
supporting Ubuntu 32-bit builds.

Installing the "eth" command-line tool
Installing the "exp" command-line tool
--------------------------------------------------------------------------------

WARNING: The **expanse-qt** PPA will upgrade your system-wide Qt5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ To start the applications, type one of these commands in a Terminal window: ::

open /Applications/AlethZero.app
open /Applications/Mix.app
eth
exp

Here is the `Homebrew Formula
<https://github.com/expanse-org/homebrew-expanse/blob/master/cpp-expanse.rb>`_
Expand Down
8 changes: 4 additions & 4 deletions source/ethereum-clients/cpp-ethereum/running.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@
Running
################################################################################

Running eth without any argument will synchronise your node to the public blockchain.
It is also possible to create or synchronise to another blockchain (see :ref:`custom blockchain using eth <custom-networks-eth>`).
Running exp without any argument will synchronise your node to the public blockchain.
It is also possible to create or synchronise to another blockchain (see :ref:`custom blockchain using exp <custom-networks-exp>`).

Interacting with your node can be done using either gexp or the expanse console:

**Using gexp**

.. code:: Console
> gexp attach //attach gexp to a running eth node.
> gexp attach //attach gexp to a running exp node.
**Using the expanse console**

The expanse console is a node.js application which connect to a running eth/gexp node and provide access to the web3 object.
The expanse console is a node.js application which connect to a running exp/gexp node and provide access to the web3 object.

.. note:: https://github.com/expanse-org/expanse-console

Expand Down
8 changes: 4 additions & 4 deletions source/ethereum-clients/cpp-ethereum/what-are-the-modules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ What are the modules?
What are the primary executables?
================================================================================

- **eth** A command-line Expanse full-node that can be controlled via RPC.
- **exp** A command-line Expanse full-node that can be controlled via RPC.
- **mix** An IDE for contract and user interface development, testing and deployment to the blockchain.
- **solc** The solidity command line compiler
- **lllc** The LLL command-line compiler.
Expand Down Expand Up @@ -59,9 +59,9 @@ What are the various modules?
- parsing: parser (creates the non-annotated AST)
- solc: commandline compiler
- **web3.js** - JavaScript Dapp framework library (connects to backend via RPC / IPC)
- **webthree** - actual client / node implementation ("eth")
- eth: commandline client / node
- libjsconsole: JavaScript console for access to eth - deprecated, to be replaced by nodejs application
- **webthree** - actual client / node implementation ("exp")
- exp: commandline client / node
- libjsconsole: JavaScript console for access to exp - deprecated, to be replaced by nodejs application
- libjsengine: underlying engine for libjsconsole, to be removed
- libweb3jsonrpc: json-rpc server-side endpoint, provides http and IPC (unix socket, windows pipe) connectors
- libwebthree: service connectors for expanse, swarm/ipfs and whisper.
Expand Down

0 comments on commit c7a342b

Please sign in to comment.