openethereum/README.md

180 lines
5.8 KiB
Markdown
Raw Normal View History

# Parity - fast, light, and robust Ethereum client
## [» Download the latest release «](https://github.com/paritytech/parity/releases/latest)
[![build status](https://gitlab.parity.io/parity/parity/badges/master/build.svg)](https://gitlab.parity.io/parity/parity/commits/master)
[![codecov](https://codecov.io/gh/paritytech/parity/branch/master/graph/badge.svg)](https://codecov.io/gh/paritytech/parity)
[![Snap Status](https://build.snapcraft.io/badge/paritytech/parity.svg)](https://build.snapcraft.io/user/paritytech/parity)
[![GPLv3](https://img.shields.io/badge/license-GPL%20v3-green.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html)
2016-11-02 12:18:56 +01:00
### Join the chat!
Get in touch with us on Gitter:
[![Gitter: Parity](https://img.shields.io/badge/gitter-parity-4AB495.svg)](https://gitter.im/paritytech/parity)
[![Gitter: Parity.js](https://img.shields.io/badge/gitter-parity.js-4AB495.svg)](https://gitter.im/paritytech/parity.js)
[![Gitter: Parity/Miners](https://img.shields.io/badge/gitter-parity/miners-4AB495.svg)](https://gitter.im/paritytech/parity/miners)
[![Gitter: Parity-PoA](https://img.shields.io/badge/gitter-parity--poa-4AB495.svg)](https://gitter.im/paritytech/parity-poa)
2016-02-08 09:46:27 +01:00
Or join our community on Matrix:
[![Riot: +Parity](https://img.shields.io/badge/riot-%2Bparity%3Amatrix.parity.io-orange.svg)](https://riot.im/app/#/group/+parity:matrix.parity.io)
Official website: https://parity.io
2018-01-09 12:21:24 +01:00
Be sure to check out [our wiki](https://paritytech.github.io/wiki/) and the [internal documentation](https://paritytech.github.io/parity/ethcore/index.html) for more information.
----
2016-02-01 01:08:23 +01:00
## About Parity
Parity's goal is to be the fastest, lightest, and most secure Ethereum client. We are developing Parity using the sophisticated and cutting-edge Rust programming language. Parity is licensed under the GPLv3, and can be used for all your Ethereum needs.
Parity comes with a built-in wallet. To access [Parity Wallet](http://web3.site/) simply go to http://web3.site/ (if you don't have access to the internet, but still want to use the service, you can also use http://127.0.0.1:8180/). It includes various functionality allowing you to:
- create and manage your Ethereum accounts;
- manage your Ether and any Ethereum tokens;
- create and register your own tokens;
- and much more.
By default, Parity will also run a JSONRPC server on `127.0.0.1:8545` and a websockets server on `127.0.0.1:8546`. This is fully configurable and supports a number of APIs.
If you run into an issue while using Parity, feel free to file one in this repository or hop on our [Gitter](https://gitter.im/paritytech/parity) or [Riot](https://riot.im/app/#/group/+parity:matrix.parity.io) chat room to ask a question. We are glad to help!
**For security-critical issues**, please refer to the security policy outlined in [SECURITY.MD](SECURITY.md).
2017-07-22 07:41:58 +02:00
Parity's current release is 1.9. You can download it at https://github.com/paritytech/parity/releases or follow the instructions below to build from source.
----
2016-06-22 15:53:39 +02:00
## Build dependencies
**Parity requires Rust version 1.23.0 to build**
2016-06-13 20:26:17 +02:00
We recommend installing Rust through [rustup](https://www.rustup.rs/). If you don't already have rustup, you can install it like this:
2016-02-01 01:08:23 +01:00
2016-12-27 11:17:50 +01:00
- Linux:
```bash
$ curl https://sh.rustup.rs -sSf | sh
```
2017-02-07 22:13:52 +01:00
Parity also requires `gcc`, `g++`, `libssl-dev`/`openssl`, `libudev-dev` and `pkg-config` packages to be installed.
2016-11-04 09:57:47 +01:00
- OSX:
```bash
$ curl https://sh.rustup.rs -sSf | sh
```
2016-02-01 01:08:23 +01:00
2016-12-27 11:17:50 +01:00
`clang` is required. It comes with Xcode command line tools or can be installed with homebrew.
2016-06-13 19:22:54 +02:00
- Windows
Make sure you have Visual Studio 2015 with C++ support installed. Next, download and run the rustup installer from
2016-06-16 11:21:35 +02:00
https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe, start "VS2015 x64 Native Tools Command Prompt", and use the following command to install and set up the msvc toolchain:
```bash
2016-06-14 19:36:14 +02:00
$ rustup default stable-x86_64-pc-windows-msvc
```
2016-06-13 19:22:54 +02:00
Once you have rustup, install Parity or download and build from source
2016-06-22 15:53:39 +02:00
----
## Install from the snap store
In any of the [supported Linux distros](https://snapcraft.io/docs/core/install):
```bash
sudo snap install parity
```
Or, if you want to contribute testing the upcoming release:
```bash
sudo snap install parity --beta
```
And to test the latest code landed into the master branch:
```bash
sudo snap install parity --edge
```
----
2016-06-22 15:53:39 +02:00
## Build from source
2016-02-01 01:08:23 +01:00
```bash
2016-02-26 22:44:33 +01:00
# download Parity code
$ git clone https://github.com/paritytech/parity
$ cd parity
2016-02-26 22:44:33 +01:00
# build in release mode
$ cargo build --release
2016-02-01 01:08:23 +01:00
```
This will produce an executable in the `./target/release` subdirectory.
2017-12-08 10:32:41 +01:00
Note: if cargo fails to parse manifest try:
```bash
$ ~/.cargo/bin/cargo build --release
```
2017-12-08 10:32:41 +01:00
Note: When compiling a crate and you receive the following error:
```
error: the crate is compiled with the panic strategy `abort` which is incompatible with this crate's strategy of `unwind`
```
2017-12-08 10:32:41 +01:00
Cleaning the repository will most likely solve the issue, try:
2017-12-08 10:32:41 +01:00
```bash
$ cargo clean
```
2017-12-08 10:32:41 +01:00
This will always compile the latest nightly builds. If you want to build stable or beta, do a
```bash
$ git checkout stable
```
or
```bash
$ git checkout beta
```
first.
----
## Simple one-line installer for Mac and Ubuntu
```bash
bash <(curl https://get.parity.io -Lk)
```
The one-line installer always defaults to the latest beta release. To install a stable release, run:
```bash
bash <(curl https://get.parity.io -Lk) -r stable
```
## Start Parity
### Manually
2016-08-23 23:17:06 +02:00
To start Parity manually, just run
```bash
$ ./target/release/parity
```
2016-08-23 20:10:13 +02:00
and Parity will begin syncing the Ethereum blockchain.
2016-08-19 16:53:38 +02:00
### Using systemd service file
2016-08-23 20:10:13 +02:00
To start Parity as a regular user using systemd init:
2016-08-19 16:53:38 +02:00
1. Copy `./scripts/parity.service` to your
systemd user directory (usually `~/.config/systemd/user`).
2. To configure Parity, write a `/etc/parity/config.toml` config file, see [Configuring Parity](https://paritytech.github.io/wiki/Configuring-Parity) for details.