2018-01-28 09:17:58 +01:00
# Parity - fast, light, and robust Ethereum client
## [» Download the latest release «](https://github.com/paritytech/parity/releases/latest)
2016-02-01 00:34:04 +01:00
2017-08-07 18:12:00 +02:00
[![build status ](https://gitlab.parity.io/parity/parity/badges/master/build.svg )](https://gitlab.parity.io/parity/parity/commits/master)
2018-01-17 12:59:22 +01:00
[![codecov ](https://codecov.io/gh/paritytech/parity/branch/master/graph/badge.svg )](https://codecov.io/gh/paritytech/parity)
2017-08-07 18:12:00 +02:00
[![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)
2017-04-04 14:46:42 +02:00
2016-11-02 12:18:56 +01:00
2016-11-06 12:51:53 +01:00
### Join the chat!
2017-08-07 18:12:00 +02:00
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
2018-01-08 09:24:49 +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)
2018-01-28 09:17:58 +01:00
Official website: https://parity.io
2018-03-02 17:21:35 +01:00
Be sure to check out [our wiki ](https://wiki.parity.io ) for more information.
2016-10-04 19:05:46 +02:00
2016-06-01 20:10:51 +02:00
----
2016-02-01 01:08:23 +01:00
2016-06-01 20:10:51 +02:00
## About Parity
2017-08-07 18:12:00 +02:00
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.
2018-03-23 12:04:17 +01:00
Parity comes with a built-in wallet, to install it please follow [these instructions ](https://wiki.parity.io/Parity-Wallet ). It includes various functionality allowing you to:
2016-06-01 20:10:51 +02:00
2016-11-06 12:51:53 +01:00
- create and manage your Ethereum accounts;
- manage your Ether and any Ethereum tokens;
- create and register your own tokens;
2017-03-29 15:17:27 +02:00
- and much more.
2016-06-01 20:10:51 +02:00
2018-03-23 12:04:17 +01:00
From Parity Ethereum client version >=1.10, the User Interface (UI) is accessible in a separate application called Parity UI. To keep using the UI in the browser (deprecated), [follow these steps ](https://wiki.parity.io/FAQ-Basic-Operations,-Configuration,-and-Synchronization.md#the-parity-ui-application-isnt-working-the-way-i-want ).
2017-10-24 12:01:35 +02:00
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.
2016-06-01 20:10:51 +02:00
2018-01-08 09:24:49 +01:00
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!
2016-06-01 20:10:51 +02:00
2017-10-24 12:01:35 +02:00
**For security-critical issues**, please refer to the security policy outlined in [SECURITY.MD ](SECURITY.md ).
2017-07-22 07:41:58 +02:00
2018-01-25 16:39:01 +01: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-01 20:10:51 +02:00
----
2016-06-22 15:53:39 +02:00
## Build dependencies
2016-06-01 20:10:51 +02:00
2018-01-25 16:39:01 +01:00
**Parity requires Rust version 1.23.0 to build**
2016-06-01 20:10:51 +02:00
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:
2016-06-15 12:45:52 +02:00
```bash
$ curl https://sh.rustup.rs -sSf | sh
```
2017-03-29 15:17:27 +02:00
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.
2017-10-24 12:01:35 +02:00
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
2017-10-24 12:01:35 +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:
2017-10-24 12:01:35 +02:00
```bash
2016-06-14 19:36:14 +02:00
$ rustup default stable-x86_64-pc-windows-msvc
2017-10-24 12:01:35 +02:00
```
2016-06-13 19:22:54 +02:00
2018-04-13 21:00:14 +02:00
Once you have rustup installed, then you need to install:
* [Perl ](https://www.perl.org )
* [Yasm ](http://yasm.tortall.net )
Make sure that these binaries are in your `PATH` . After that you should be able to build parity from source.
2016-06-22 15:53:39 +02:00
----
2017-06-28 09:37:47 +02:00
## Install from the snap store
In any of the [supported Linux distros ](https://snapcraft.io/docs/core/install ):
```bash
2018-02-13 07:50:21 +01:00
sudo snap install parity
```
Or, if you want to contribute testing the upcoming release:
```bash
sudo snap install parity --beta
2017-06-28 09:37:47 +02:00
```
2018-02-13 07:50:21 +01:00
And to test the latest code landed into the master branch:
```bash
sudo snap install parity --edge
```
2017-06-28 09:37:47 +02:00
----
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
2017-03-29 15:17:27 +02:00
$ git clone https://github.com/paritytech/parity
2016-06-01 20:10:51 +02:00
$ cd parity
2016-02-19 13:21:52 +01:00
2016-02-26 22:44:33 +01:00
# build in release mode
2016-06-01 20:10:51 +02:00
$ cargo build --release
2016-02-01 01:08:23 +01:00
```
2016-06-01 20:10:51 +02:00
2016-06-15 12:22:26 +02: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:
2016-06-01 20:10:51 +02:00
2017-03-06 08:49:52 +01:00
```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:
2017-12-08 10:31:21 +01:00
```
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
2017-12-08 10:31:21 +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:31:21 +01:00
```
2017-12-08 10:32:41 +01:00
2018-01-25 16:39:01 +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.
2017-10-24 12:01:35 +02:00
2016-11-19 19:22:26 +01:00
----
## Simple one-line installer for Mac and Ubuntu
```bash
bash < (curl https://get.parity.io -Lk)
```
2018-01-25 16:39:01 +01:00
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
```
2017-10-24 12:01:35 +02:00
2016-08-29 11:33:42 +02:00
## Start Parity
2017-10-24 12:01:35 +02:00
2016-08-29 11:33:42 +02:00
### Manually
2017-10-24 12:01:35 +02:00
2016-08-23 23:17:06 +02:00
To start Parity manually, just run
2017-10-24 12:01:35 +02:00
2016-06-01 20:10:51 +02:00
```bash
2016-06-15 12:22:26 +02:00
$ ./target/release/parity
2016-06-01 20:10:51 +02:00
```
2016-08-23 20:10:13 +02:00
and Parity will begin syncing the Ethereum blockchain.
2016-08-19 16:53:38 +02:00
2016-08-29 11:33:42 +02:00
### Using systemd service file
2017-10-24 12:01:35 +02:00
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
2017-10-24 12:01:35 +02:00
1. Copy `./scripts/parity.service` to your
2016-10-04 19:05:46 +02:00
systemd user directory (usually `~/.config/systemd/user` ).
2018-01-25 16:39:01 +01:00
2. To configure Parity, write a `/etc/parity/config.toml` config file, see [Configuring Parity ](https://paritytech.github.io/wiki/Configuring-Parity ) for details.