2016-06-01 20:10:51 +02:00
# [Parity](https://ethcore.io/parity.html)
### Fast, light, and robust Ethereum implementation
2016-02-01 00:34:04 +01:00
2017-01-26 16:06:48 +01:00
[![build status ](https://gitlab.ethcore.io/parity/parity/badges/master/build.svg )](https://gitlab.ethcore.io/parity/parity/commits/master) [![Coverage Status][coveralls-image]][coveralls-url] [![GPLv3][license-image]][license-url]
2016-11-02 12:18:56 +01:00
2016-11-06 12:51:53 +01:00
### Join the chat!
Parity [![Join the chat at https://gitter.im/ethcore/parity][gitter-image]][gitter-url] and
parity.js [![Join the chat at https://gitter.im/ethcore/parity.js ](https://badges.gitter.im/ethcore/parity.js.svg )](https://gitter.im/ethcore/parity.js?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge)
2016-07-05 19:26:22 +02:00
[Internal Documentation][doc-url]
2016-10-04 19:05:46 +02:00
2016-07-05 19:26:22 +02:00
Be sure to check out [our wiki][wiki-url] for more information.
2016-02-01 00:34:04 +01:00
2016-02-08 14:18:48 +01:00
[coveralls-image]: https://coveralls.io/repos/github/ethcore/parity/badge.svg?branch=master
2016-02-08 14:19:29 +01:00
[coveralls-url]: https://coveralls.io/github/ethcore/parity?branch=master
2016-02-05 13:48:53 +01:00
[gitter-image]: https://badges.gitter.im/Join%20Chat.svg
[gitter-url]: https://gitter.im/ethcore/parity?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge
2016-02-18 20:59:28 +01:00
[license-image]: https://img.shields.io/badge/license-GPL%20v3-green.svg
2016-09-27 08:02:26 +02:00
[license-url]: https://www.gnu.org/licenses/gpl-3.0.en.html
[doc-url]: https://ethcore.github.io/parity/ethcore/index.html
2016-07-05 19:26:22 +02:00
[wiki-url]: https://github.com/ethcore/parity/wiki
2016-02-08 09:46:27 +01:00
2017-02-13 17:39:46 +01:00
**Parity requires Rust version 1.15.0 to build**
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-10-04 19:05:46 +02:00
2016-06-01 20:10:51 +02: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.
2017-02-21 18:08:47 +01:00
Parity comes with a built-in wallet. To access [Parity Wallet ](http://127.0.0.1:8080/ ) simply go to http://127.0.0.1:8080/. It
2016-11-06 12:51:53 +01:00
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.
2016-06-01 20:10:51 +02:00
2016-11-06 12:51:53 +01:00
By default, Parity will also run a JSONRPC server on `127.0.0.1:8545` . This is fully configurable and supports a number
of RPC APIs.
2016-06-01 20:10:51 +02:00
If you run into an issue while using parity, feel free to file one in this repository
2016-07-02 11:15:44 +02:00
or hop on our [gitter chat room][gitter-url] to ask a question. We are glad to help!
2016-06-01 20:10:51 +02:00
2017-01-19 17:38:50 +01:00
Parity's current release is 1.5. You can download it at https://ethcore.io/parity.html or follow the instructions
2016-06-01 20:10:51 +02:00
below to build from source.
----
2016-06-22 15:53:39 +02:00
## Build dependencies
2016-06-01 20:10:51 +02:00
Parity is fully compatible with Stable Rust.
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
```
2016-11-04 09:57:47 +01: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.
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
2016-06-15 01:16:10 +02:00
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:
2016-06-14 19:36:14 +02:00
```
$ rustup default stable-x86_64-pc-windows-msvc
```
2016-06-13 19:22:54 +02:00
2016-06-22 15:53:39 +02:00
Once you have rustup, install parity or download and build from source
----
## Quick install
```bash
cargo install --git https://github.com/ethcore/parity.git parity
```
----
## Build from source
2016-02-01 01:08:23 +01:00
```bash
2016-02-26 22:44:33 +01:00
# download Parity code
2016-06-01 20:10:51 +02:00
$ git clone https://github.com/ethcore/parity
$ 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-03-06 08:49:52 +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
```
2016-11-19 19:22:26 +01:00
----
## Simple one-line installer for Mac and Ubuntu
```bash
bash < (curl https://get.parity.io -Lk)
```
2016-08-29 11:33:42 +02:00
## Start Parity
### Manually
2016-08-23 23:17:06 +02:00
To start Parity manually, just run
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
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
2016-10-04 19:05:46 +02:00
1. Copy `parity/scripts/parity.service` to your
systemd user directory (usually `~/.config/systemd/user` ).
2. To pass any argument to Parity, write a `~/.parity/parity.conf` file this way:
`ARGS="ARG1 ARG2 ARG3"` .
2016-08-19 16:53:38 +02:00
2017-01-24 20:11:42 +01:00
Example: `ARGS="ui --identity MyMachine"` .