Python Ethereum Client
Project description
===============================
pyethapp
===============================
.. image:: https://badges.gitter.im/Join%20Chat.svg
:alt: Join the chat at https://gitter.im/ethereum/pyethapp
:target: https://gitter.im/ethereum/pyethapp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. image:: https://img.shields.io/travis/ethereum/pyethapp.svg
:target: https://travis-ci.org/ethereum/pyethapp
.. image:: https://coveralls.io/repos/ethereum/pyethapp/badge.svg
:target: https://coveralls.io/r/ethereum/pyethapp
.. image:: https://img.shields.io/pypi/v/pyethapp.svg
:target: https://pypi-hypernode.com/pypi/pyethapp
.. image:: https://readthedocs.org/projects/pyethapp/badge/?version=latest
:target: https://readthedocs.org/projects/pyethapp/?badge=latest
Introduction
------------
pyethapp is the python based client implementing the Ethereum_ cryptoeconomic state machine.
Ethereum as a platform is focussed on enabling people to build new ideas using blockchain technology.
The python implementation aims to provide an easily hackable and extendable codebase.
pyethapp leverages two ethereum core components to implement the client:
* pyethereum_ - the core library, featuring the blockchain, the ethereum virtual machine, mining
* pydevp2p_ - the p2p networking library, featuring node discovery for and transport of multiple services over multiplexed and encrypted connections
.. _Ethereum: http://ethereum.org/
.. _pyethereum: https://github.com/ethereum/pyethereum
.. _pydevp2p: https://github.com/ethereum/pydevp2p
Installation
------------
Notes
~~~~~
Pyethapp runs on Python 2.7. If you don't know how to install an
up-to-date version of Python, have a look
`here <https://wiki.python.org/moin/BeginnersGuide>`__. It is always
advised to install system-dependecies with the help of a package manager
(e.g. *homebrew* on Mac OS X or *apt-get* on Debian).
Please install a *virtualenv* environment for a comfortable Pyethapp
installation. Also, it is always recommended to use it in combination
with the
`virtualenvwrapper <http://virtualenvwrapper.readthedocs.org/en/latest/>`__
extension.
The
`Homestead <http://docs.ethereum.org/en/latest/introduction/the-homestead-release.html#milestones-of-the-ethereum-development-roadmap>`__-ready
version of Pyethapp is ``v1.2.0``.
Installation on Ubuntu/Debian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
First install the system-dependecies for a successful build of the
Python packages:
.. code:: shell
$ apt-get install build-essential automake pkg-config libtool libffi-dev libgmp-dev
Installation of Pyethapp and it's dependent Python packages via
`PyPI <https://pypi-hypernode.com/pypi/pyethapp>`__:
.. code:: shell
($ mkvirtualenv pyethapp)
$ pip install pyethapp
Installation on OS X
~~~~~~~~~~~~~~~~~~~~
First install the system-dependecies for a successful build of the
Python packages:
.. code:: shell
$ brew install automake pkg-config libffi gmp
Installation of Pyethapp and it's dependent Python packages via
`PyPI <https://pypi-hypernode.com/pypi/pyethapp>`__:
.. code:: shell
($ mkvirtualenv pyethapp)
$ pip install pyethapp
On OS X 10.11 (El Capitan), there were some issues with the
installation of ``scrypt``, which caused to raise a
``fatal error: 'openssl/aes.h' file not found``
This may be fixed by installing without pip and adding some flags:
.. code:: shell
($ workon pyethapp)
$ git clone https://github.com/ethereum/pyethapp
$ cd pyethapp
$ env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" python setup.py install
Development version
~~~~~~~~~~~~~~~~~~~
If you want to install the newest version of the client for development
purposes, you have to clone it directly from GitHub.
First install the system dependencies according to your Operating System
above, then:
.. code:: shell
($ mkvirtualenv pyethapp)
$ git clone https://github.com/ethereum/pyethapp
$ cd pyethapp
$ python setup.py develop
This has the advantage that inside of Python's
``lib/python2.7/site-packages`` there is a direct link to your directory
of Pyethapp's source code. Therefore, changes in the code will have
immediate effect on the ``pyethapp`` command in your terminal.
Connecting to the network
-------------------------
If you type in the terminal:
.. code:: shell
$ pyethapp
will show you all available commands and options of the client.
To get started, type:
.. code:: shell
($ workon pyethapp)
$ pyethapp account new
This creates a new account and generates the private key. The key-file
is locked with the password that you entered and they are stored in the
``/keystore`` directory. You can't unlock the file without the password
and there is no way to recover a lost one. Do **not delete the
key-files**, if you still want to be able to access Ether and Contracts
associated with that account.
To connect to the live Ethereum network, type:
.. code:: shell
($ workon pyethapp)
$ pyethapp run
This establishes the connection to Ethereum's p2p-network and downloads
the whole blockchain on the first invocation.
For additional documentation how to use the client, have a look at the
`Wiki <https://github.com/ethereum/pyethapp/wiki>`__.
Data directory:
~~~~~~~~~~~~~~
When running the client without specifying a data-directory, the
blockchain-data and the keystore-folder will be saved in a default
directory, depending on your Operating System.
on Mac OS X:
.. code:: shell
~/Library/Application\ Support/pyethapp
on Linux:
.. code:: shell
~/.config/pyethapp
This folder also holds the ``config.yaml`` file, in which you can modify
your default configuration parameters.
To provide a different data-directory, e.g. for additionally syncing to
the testnet, run the client with the ``-d <dir>`` / ``--data-dir <dir>``
argument.
Available Networks
------------------
* Live (*Frontier* / *Homestead*)
* Test (*Morden*)
Currently there are two official networks available. The "Live Network" is
called *Frontier* (soon to be *Homestead*) and this is what the client will
connect to if you start it without any additional options.
Additionally there is the official test network called Morden_ which can be
used to test new code or otherwise experiment without having to risk real
money.
Use the `--profile` command line option to select the test network:
.. code:: shell
$ pyethapp --profile testnet run
.. note:: If you've previously connected to the live network you will also need
to specify a new data directory by using the `--data-dir` option.
.. _Morden: https://github.com/ethereum/wiki/wiki/Morden
Interacting
-----------
You can interact with the client using the JSONRPC api or directly on the console.
* https://github.com/ethereum/pyethapp/wiki/The_Console
* https://github.com/ethereum/pyethapp/blob/master/pyethapp/rpc_client.py
Status
------
* Working PoC9 prototype
* interoperable with the go and cpp clients
* jsonrpc (mostly)
History
-------
0.1.0 (20150-1-1)
---------------------
* First release on PyPI.
pyethapp
===============================
.. image:: https://badges.gitter.im/Join%20Chat.svg
:alt: Join the chat at https://gitter.im/ethereum/pyethapp
:target: https://gitter.im/ethereum/pyethapp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. image:: https://img.shields.io/travis/ethereum/pyethapp.svg
:target: https://travis-ci.org/ethereum/pyethapp
.. image:: https://coveralls.io/repos/ethereum/pyethapp/badge.svg
:target: https://coveralls.io/r/ethereum/pyethapp
.. image:: https://img.shields.io/pypi/v/pyethapp.svg
:target: https://pypi-hypernode.com/pypi/pyethapp
.. image:: https://readthedocs.org/projects/pyethapp/badge/?version=latest
:target: https://readthedocs.org/projects/pyethapp/?badge=latest
Introduction
------------
pyethapp is the python based client implementing the Ethereum_ cryptoeconomic state machine.
Ethereum as a platform is focussed on enabling people to build new ideas using blockchain technology.
The python implementation aims to provide an easily hackable and extendable codebase.
pyethapp leverages two ethereum core components to implement the client:
* pyethereum_ - the core library, featuring the blockchain, the ethereum virtual machine, mining
* pydevp2p_ - the p2p networking library, featuring node discovery for and transport of multiple services over multiplexed and encrypted connections
.. _Ethereum: http://ethereum.org/
.. _pyethereum: https://github.com/ethereum/pyethereum
.. _pydevp2p: https://github.com/ethereum/pydevp2p
Installation
------------
Notes
~~~~~
Pyethapp runs on Python 2.7. If you don't know how to install an
up-to-date version of Python, have a look
`here <https://wiki.python.org/moin/BeginnersGuide>`__. It is always
advised to install system-dependecies with the help of a package manager
(e.g. *homebrew* on Mac OS X or *apt-get* on Debian).
Please install a *virtualenv* environment for a comfortable Pyethapp
installation. Also, it is always recommended to use it in combination
with the
`virtualenvwrapper <http://virtualenvwrapper.readthedocs.org/en/latest/>`__
extension.
The
`Homestead <http://docs.ethereum.org/en/latest/introduction/the-homestead-release.html#milestones-of-the-ethereum-development-roadmap>`__-ready
version of Pyethapp is ``v1.2.0``.
Installation on Ubuntu/Debian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
First install the system-dependecies for a successful build of the
Python packages:
.. code:: shell
$ apt-get install build-essential automake pkg-config libtool libffi-dev libgmp-dev
Installation of Pyethapp and it's dependent Python packages via
`PyPI <https://pypi-hypernode.com/pypi/pyethapp>`__:
.. code:: shell
($ mkvirtualenv pyethapp)
$ pip install pyethapp
Installation on OS X
~~~~~~~~~~~~~~~~~~~~
First install the system-dependecies for a successful build of the
Python packages:
.. code:: shell
$ brew install automake pkg-config libffi gmp
Installation of Pyethapp and it's dependent Python packages via
`PyPI <https://pypi-hypernode.com/pypi/pyethapp>`__:
.. code:: shell
($ mkvirtualenv pyethapp)
$ pip install pyethapp
On OS X 10.11 (El Capitan), there were some issues with the
installation of ``scrypt``, which caused to raise a
``fatal error: 'openssl/aes.h' file not found``
This may be fixed by installing without pip and adding some flags:
.. code:: shell
($ workon pyethapp)
$ git clone https://github.com/ethereum/pyethapp
$ cd pyethapp
$ env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" python setup.py install
Development version
~~~~~~~~~~~~~~~~~~~
If you want to install the newest version of the client for development
purposes, you have to clone it directly from GitHub.
First install the system dependencies according to your Operating System
above, then:
.. code:: shell
($ mkvirtualenv pyethapp)
$ git clone https://github.com/ethereum/pyethapp
$ cd pyethapp
$ python setup.py develop
This has the advantage that inside of Python's
``lib/python2.7/site-packages`` there is a direct link to your directory
of Pyethapp's source code. Therefore, changes in the code will have
immediate effect on the ``pyethapp`` command in your terminal.
Connecting to the network
-------------------------
If you type in the terminal:
.. code:: shell
$ pyethapp
will show you all available commands and options of the client.
To get started, type:
.. code:: shell
($ workon pyethapp)
$ pyethapp account new
This creates a new account and generates the private key. The key-file
is locked with the password that you entered and they are stored in the
``/keystore`` directory. You can't unlock the file without the password
and there is no way to recover a lost one. Do **not delete the
key-files**, if you still want to be able to access Ether and Contracts
associated with that account.
To connect to the live Ethereum network, type:
.. code:: shell
($ workon pyethapp)
$ pyethapp run
This establishes the connection to Ethereum's p2p-network and downloads
the whole blockchain on the first invocation.
For additional documentation how to use the client, have a look at the
`Wiki <https://github.com/ethereum/pyethapp/wiki>`__.
Data directory:
~~~~~~~~~~~~~~
When running the client without specifying a data-directory, the
blockchain-data and the keystore-folder will be saved in a default
directory, depending on your Operating System.
on Mac OS X:
.. code:: shell
~/Library/Application\ Support/pyethapp
on Linux:
.. code:: shell
~/.config/pyethapp
This folder also holds the ``config.yaml`` file, in which you can modify
your default configuration parameters.
To provide a different data-directory, e.g. for additionally syncing to
the testnet, run the client with the ``-d <dir>`` / ``--data-dir <dir>``
argument.
Available Networks
------------------
* Live (*Frontier* / *Homestead*)
* Test (*Morden*)
Currently there are two official networks available. The "Live Network" is
called *Frontier* (soon to be *Homestead*) and this is what the client will
connect to if you start it without any additional options.
Additionally there is the official test network called Morden_ which can be
used to test new code or otherwise experiment without having to risk real
money.
Use the `--profile` command line option to select the test network:
.. code:: shell
$ pyethapp --profile testnet run
.. note:: If you've previously connected to the live network you will also need
to specify a new data directory by using the `--data-dir` option.
.. _Morden: https://github.com/ethereum/wiki/wiki/Morden
Interacting
-----------
You can interact with the client using the JSONRPC api or directly on the console.
* https://github.com/ethereum/pyethapp/wiki/The_Console
* https://github.com/ethereum/pyethapp/blob/master/pyethapp/rpc_client.py
Status
------
* Working PoC9 prototype
* interoperable with the go and cpp clients
* jsonrpc (mostly)
History
-------
0.1.0 (20150-1-1)
---------------------
* First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyethapp-1.1.2.tar.gz
(321.6 kB
view details)
Built Distribution
pyethapp-1.1.2-py2.py3-none-any.whl
(331.1 kB
view details)
File details
Details for the file pyethapp-1.1.2.tar.gz
.
File metadata
- Download URL: pyethapp-1.1.2.tar.gz
- Upload date:
- Size: 321.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 113a878d43daf678600fc505216a30c95a04929b8b5ba7e813c5331f86ebf035 |
|
MD5 | e86bd4a9cd82b9f308187241e1037963 |
|
BLAKE2b-256 | 2fd9445f12d55fccbef93ff4ff2584f4c9d1b2cc1b02e7462bbbee3f2347bf2c |
File details
Details for the file pyethapp-1.1.2-py2.py3-none-any.whl
.
File metadata
- Download URL: pyethapp-1.1.2-py2.py3-none-any.whl
- Upload date:
- Size: 331.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a04051fb04f3e76c7204845d994635662ff658c415bc73297a5d8579a64c041d |
|
MD5 | 0d70eb14c8122cfac0e9b277913e79b6 |
|
BLAKE2b-256 | 321d2d6273901481dbac076800eae60416b29f52c6c493539d8aefc06d86ce32 |