Go to file
Anton Gavrilov e6f75bccfe Private transactions integration pr (#6422)
* Private transaction message added

* Empty line removed

* Private transactions logic removed from client into the separate module

* Fixed compilation after merge with head

* Signed private transaction message added as well

* Comments after the review fixed

* Private tx execution

* Test update

* Renamed some methods

* Fixed some tests

* Reverted submodules

* Fixed build

* Private transaction message added

* Empty line removed

* Private transactions logic removed from client into the separate module

* Fixed compilation after merge with head

* Signed private transaction message added as well

* Comments after the review fixed

* Encrypted private transaction message and signed reply added

* Private tx execution

* Test update

* Main scenario completed

* Merged with the latest head

* Private transactions API

* Comments after review fixed

* Parameters for private transactions added to parity arguments

* New files added

* New API methods added

* Do not process packets from unconfirmed peers

* Merge with ptm_ss branch

* Encryption and permissioning with key server added

* Fixed compilation after merge

* Version of Parity protocol incremented in order to support private transactions

* Doc strings for constants added

* Proper format for doc string added

* fixed some encryptor.rs grumbles

* Private transactions functionality moved to the separate crate

* Refactoring in order to remove late initialisation

* Tests fixed after moving to the separate crate

* Fetch method removed

* Sync test helpers refactored

* Interaction with encryptor refactored

* Contract address retrieving via substate removed

* Sensible gas limit for private transactions implemented

* New private contract with nonces added

* Parsing of the response from key server fixed

* Build fixed after the merge, native contracts removed

* Crate renamed

* Tests moved to the separate directory

* Handling of errors reworked in order to use error chain

* Encodable macro added, new constructor replaced with default

* Native ethabi usage removed

* Couple conversions optimized

* Interactions with client reworked

* Errors omitting removed

* Fix after merge

* Fix after the merge

* private transactions improvements in progress

* private_transactions -> ethcore/private-tx

* making private transactions more idiomatic

* private-tx encryptor uses shared FetchClient and is more idiomatic

* removed redundant tests, moved integration tests to tests/ dir

* fixed failing service test

* reenable add_notify on private tx provider

* removed private_tx tests from sync module

* removed commented out code

* Use plain password instead of unlocking account manager

* remove dead code

* Link to the contract changed

* Transaction signature chain replay protection module created

* Redundant type conversion removed

* Contract address returned by private provider

* Test fixed

* Addressing grumbles in PrivateTransactions (#8249)

* Tiny fixes part 1.

* A bunch of additional comments and todos.

* Fix ethsync tests.

* resolved merge conflicts

* final private tx pr (#8318)

* added cli option that enables private transactions

* fixed failing test

* fixed failing test

* fixed failing test

* fixed failing test
2018-04-09 16:14:33 +02:00
.cargo Statically link the C runtime on Windows (#7246) 2018-01-11 15:41:22 +01:00
.github Update issue template and readme (#7450) 2018-01-08 09:24:49 +01:00
chainspec Chainspec validation (#6197) 2017-08-02 12:50:36 +02:00
dapps Private transactions integration pr (#6422) 2018-04-09 16:14:33 +02:00
devtools Bump master to 1.11.0 (#8021) 2018-03-03 22:02:33 +01:00
docker Tweaks and add a Dockerfile for Android (#8036) 2018-04-05 14:38:50 +02:00
docs Update Changelogs (#8175) 2018-03-23 09:53:26 +00:00
ethash Replace std::env::temp_dir with tempdir in tests (#8103) 2018-03-14 12:26:20 +01:00
ethcore Private transactions integration pr (#6422) 2018-04-09 16:14:33 +02:00
ethcrypto Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
ethkey Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
ethstore Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
evmbin Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
hash-fetch Private transactions integration pr (#6422) 2018-04-09 16:14:33 +02:00
hw Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
ipfs Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
json Validate if gas limit is not zero (#8307) 2018-04-05 00:14:59 +09:00
local-store ethcore-service (#8089) 2018-03-13 11:49:57 +01:00
logger Bump master to 1.11.0 (#8021) 2018-03-03 22:02:33 +01:00
mac Bump master to 1.11.0 (#8021) 2018-03-03 22:02:33 +01:00
machine Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
miner Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
nsis Bump master to 1.11.0 (#8021) 2018-03-03 22:02:33 +01:00
parity Private transactions integration pr (#6422) 2018-04-09 16:14:33 +02:00
price-info Private transactions integration pr (#6422) 2018-04-09 16:14:33 +02:00
registrar [contract-client] refactor (#7978) 2018-03-12 20:46:27 +00:00
rpc Private transactions integration pr (#6422) 2018-04-09 16:14:33 +02:00
rpc_cli dissolve util (#7460) 2018-01-10 15:35:18 +03:00
rpc_client Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
scripts remove evmjit (#8229) 2018-04-04 18:07:49 +09:00
secret_store Read registry_address from block with REQUEST_CONFIRMATIONS_REQUIRED (#8309) 2018-04-06 12:03:13 +02:00
snap Forward-port snap fixes (#7831) 2018-02-13 16:31:05 +01:00
stratum Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
sync Private transactions integration pr (#6422) 2018-04-09 16:14:33 +02:00
transaction-pool Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
updater Upgrader `remove raw unwrap` and bump semver (#8251) 2018-04-04 11:54:41 +02:00
util Private transactions integration pr (#6422) 2018-04-09 16:14:33 +02:00
whisper Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
windows/ptray Updated icons (#7469) 2018-01-05 13:44:05 +01:00
.dockerignore improved dockerfile builds (#5659) 2017-05-23 12:25:41 +02:00
.editorconfig Fix checksums and auto-update push (#7846) 2018-02-13 19:31:06 +01:00
.gitignore Move git logging to .git-release.log (#7041) 2017-11-13 14:51:36 +01:00
.gitlab-ci.yml fix cache & snapcraft CI build (#8052) 2018-03-05 11:52:18 +01:00
.gitmodules WASM contracts MVP (#5679) 2017-07-10 17:42:10 +02:00
CHANGELOG.md Update Changelogs (#8175) 2018-03-23 09:53:26 +00:00
Cargo.lock Private transactions integration pr (#6422) 2018-04-09 16:14:33 +02:00
Cargo.toml Private transactions integration pr (#6422) 2018-04-09 16:14:33 +02:00
LICENSE Change to library. 2015-11-24 21:05:08 +01:00
README.md Introduce Parity UI (#8202) 2018-03-23 12:04:17 +01:00
SECURITY.md Update SECURITY.md 2018-01-25 18:53:32 +01:00
license_header Fix whitespace (#4299) 2017-01-25 18:51:41 +01:00
rust-toolchain rust-toolchain file on master (#6266) 2017-08-14 13:47:53 +02:00
rustfmt.toml Use memmap for dag cache (#6193) 2017-09-25 19:45:33 +02:00
test.sh remove evmjit (#8229) 2018-04-04 18:07:49 +09:00

README.md

Parity - fast, light, and robust Ethereum client

» Download the latest release «

build status codecov Snap Status GPLv3

Join the chat!

Get in touch with us on Gitter: Gitter: Parity Gitter: Parity.js Gitter: Parity/Miners Gitter: Parity-PoA

Or join our community on Matrix: Riot: +Parity

Official website: https://parity.io

Be sure to check out our wiki for more information.


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 install it please follow these instructions. 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.

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.

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 or Riot 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.

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.


Build dependencies

Parity requires Rust version 1.23.0 to build

We recommend installing Rust through rustup. If you don't already have rustup, you can install it like this:

  • Linux:

    $ curl https://sh.rustup.rs -sSf | sh
    

    Parity also requires gcc, g++, libssl-dev/openssl, libudev-dev and pkg-config packages to be installed.

  • OSX:

    $ curl https://sh.rustup.rs -sSf | sh
    

    clang is required. It comes with Xcode command line tools or can be installed with homebrew.

  • Windows Make sure you have Visual Studio 2015 with C++ support installed. Next, download and run the rustup installer from 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:

      $ rustup default stable-x86_64-pc-windows-msvc
    

Once you have rustup, install Parity or download and build from source


Install from the snap store

In any of the supported Linux distros:

sudo snap install parity

Or, if you want to contribute testing the upcoming release:

sudo snap install parity --beta

And to test the latest code landed into the master branch:

sudo snap install parity --edge

Build from source

# download Parity code
$ git clone https://github.com/paritytech/parity
$ cd parity

# build in release mode
$ cargo build --release

This will produce an executable in the ./target/release subdirectory.

Note: if cargo fails to parse manifest try:

$ ~/.cargo/bin/cargo build --release

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`

Cleaning the repository will most likely solve the issue, try:

$ cargo clean

This will always compile the latest nightly builds. If you want to build stable or beta, do a

$ git checkout stable

or

$ git checkout beta

first.


Simple one-line installer for Mac and Ubuntu

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 <(curl https://get.parity.io -Lk) -r stable

Start Parity

Manually

To start Parity manually, just run

$ ./target/release/parity

and Parity will begin syncing the Ethereum blockchain.

Using systemd service file

To start Parity as a regular user using systemd init:

  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 for details.