Go to file
Arkadiy Paronyan 1e212771b5 Backporting to beta (#4152)
* Fix broken transfer total balance (#4127)

* Add proper label to method decoding inputs (#4136)

* Another minor estimation fix (#4133)

* Return 0 instead of error with out of gas on estimate_gas

* Fix stuff up.

* Another estimate gas fix.

* Alter balance to maximum possible rather than GP=0.

* Only increase to amount strictly necessary.

* Get rid of unsafe code in ethkey, propagate incorrect Secret errors. (#4119)

* Implementing secret

* Fixing tests

* Refactor VoteCollector (#4101)

* dir

* simple validator list

* stub validator contract

* make the engine hold Weak<Client> instead of IoChannel

* validator set factory

* register weak client with ValidatorContract

* check chain security

* add address array to generator

* register provider contract

* update validator set on notify

* add validator contract spec

* simple list test

* split update and contract test

* contract change

* use client in tendermint

* fix deadlock

* step duration in params

* adapt tendermint tests

* add storage fields to test spec

* constructor spec

* execute under wrong address

* create under correct address

* revert

* validator contract constructor

* move genesis block lookup

* add removal ability to contract

* validator contract adding validators

* fix basic authority

* validator changing test

* more docs

* update sync tests

* remove env_logger

* another env_logger

* cameltoe

* hold EngineClient instead of Client

* return error on misbehaviour

* nicer return

* sprinkle docs

* Reenable mainnet update server. (#4137)

* basic tests for subscribeToEvents (#4115)

* subscribeToEvent fixtures 

* subscribeToEvent tests 

* temporarily skip failing test (#4138)

* Improvements and optimisations to estimate_gas (#4142)

* Return 0 instead of error with out of gas on estimate_gas

* Fix stuff up.

* Another estimate gas fix.

* Alter balance to maximum possible rather than GP=0.

* Only increase to amount strictly necessary.

* Improvements and optimisations to estimate_gas.

- Introduce proper error type
- Avoid building costly traces

* Fix tests.

* Actually fix testsActually fix tests

* Use estimateGas error (as per updated implementation) (#4131)

* Use estimateGas error (as per updated implementation)

* EXCEPTION_ERROR as per #4142

* Better error log reporting & handling (#4128)

* Don't pop-up notifications after network switch (#4076)

* Better notifications

* Don't pollute with notifs if switched networks

* Better connection close/open events / No more notifs on change network

* PR Grumbles

* Add close and open events to HTTP // Add tests

* Fix tests

* WIP Signer Fix

* Fix Signer // Better reconnection handling

* PR Grumbles

* PR Grumbles

* Fixes wrong fetching of balances + Notifications

* Secure API WIP

* Updated Secure API Connection + Status

* Linting

* Linting

* Updated Secure API Logic

* Proper handling of token updates // Fixing poping notifications

* PR Grumbles

* PR Grumbles

* Fixing tests

* Trim spaces from InputAddress (#4126)

* Trim spaces for addresses

* onSubmit has only value, not event

* onSubmit (again)

* Length check on trimmed value

* Remove bindActionCreators({}, dispatch) (empty) (#4135)
2017-01-12 17:06:15 +01:00
dapps Opening local dapp (#4041) 2017-01-06 16:05:58 +01:00
db Port `try` macro to new `?` operator. (#3962) 2016-12-27 12:53:56 +01:00
devtools Additional fetch tests (#3983) 2016-12-28 12:45:25 +00:00
docker added build-essential dep to dockerfiles (#3666) 2016-11-29 13:23:53 +01:00
ethash Port `try` macro to new `?` operator. (#3962) 2016-12-27 12:53:56 +01:00
ethcore Backporting to beta (#4152) 2017-01-12 17:06:15 +01:00
ethcrypto Backporting to beta (#4152) 2017-01-12 17:06:15 +01:00
ethkey Backporting to beta (#4152) 2017-01-12 17:06:15 +01:00
ethstore Backporting to beta (#4152) 2017-01-12 17:06:15 +01:00
evmbin Port `try` macro to new `?` operator. (#3962) 2016-12-27 12:53:56 +01:00
evmjit Crate tidyups. 2016-12-11 19:14:42 +01:00
hash-fetch Port `try` macro to new `?` operator. (#3962) 2016-12-27 12:53:56 +01:00
ipc Port `try` macro to new `?` operator. (#3962) 2016-12-27 12:53:56 +01:00
ipc-common-types Custom attribute for binary serialization (#3922) 2016-12-21 15:09:35 +01:00
js Backporting to beta (#4152) 2017-01-12 17:06:15 +01:00
json Validator/authority contract (#3937) 2017-01-10 12:23:59 +01:00
logger Port `try` macro to new `?` operator. (#3962) 2016-12-27 12:53:56 +01:00
mac Add Parity.png 2016-12-16 20:34:08 +01:00
nsis Windows app and installer fixes (#3338) 2016-11-10 14:49:16 +01:00
parity Backporting to beta (#4152) 2017-01-12 17:06:15 +01:00
rpc Backporting to beta (#4152) 2017-01-12 17:06:15 +01:00
rpc_cli Port `try` macro to new `?` operator. (#3962) 2016-12-27 12:53:56 +01:00
rpc_client Port `try` macro to new `?` operator. (#3962) 2016-12-27 12:53:56 +01:00
scripts Validator/authority contract (#3937) 2017-01-10 12:23:59 +01:00
signer Port `try` macro to new `?` operator. (#3962) 2016-12-27 12:53:56 +01:00
stratum Port `try` macro to new `?` operator. (#3962) 2016-12-27 12:53:56 +01:00
sync Backporting to beta (#4152) 2017-01-12 17:06:15 +01:00
updater Port `try` macro to new `?` operator. (#3962) 2016-12-27 12:53:56 +01:00
util Backporting to beta (#4152) 2017-01-12 17:06:15 +01:00
windows/ptray Crate tidyups. 2016-12-11 19:14:42 +01:00
.editorconfig Fixing travis.yml 2016-07-11 18:23:24 +02:00
.gitignore Only ignore parity.* files in root 2016-12-12 15:43:24 +01:00
.gitlab-ci.yml Backporting to beta (#4152) 2017-01-12 17:06:15 +01:00
.gitmodules Removing submodule in favour of rust crate (#2756) 2016-10-22 20:07:12 +02:00
.travis.yml Enable Panic=abort (#3423) 2016-12-08 11:31:57 +01:00
Cargo.lock [ci skip] js-precompiled 20170111-193033 2017-01-11 19:33:04 +00:00
Cargo.toml Global Fetch Service (#3915) 2016-12-22 18:26:39 +01:00
LICENSE Change to library. 2015-11-24 21:05:08 +01:00
README.md Updating dependencies (#3968) 2016-12-27 10:17:50 +00:00
appveyor.yml remove -Zorbit=off from rustflags on windows 2016-12-19 19:15:18 +01:00
build.rs Crate tidyups. 2016-12-11 19:14:42 +01:00
license_header Crate tidyups. 2016-12-11 19:14:42 +01:00
rustfmt.toml Some tuning of rustfmt 2016-04-13 17:39:20 +02:00
test.sh Enable Panic=abort (#3423) 2016-12-08 11:31:57 +01:00

README.md

Parity

Fast, light, and robust Ethereum implementation

Build Status build status Coverage Status GPLv3

Join the chat!

Parity Join the chat at https://gitter.im/ethcore/parity and parity.js Join the chat at https://gitter.im/ethcore/parity.js

Internal Documentation

Be sure to check out our wiki for more information.

Parity requires Rust version 1.12.0 to build


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 this simply go to http://127.0.0.1:8080/. 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. This is fully configurable and supports a number of RPC APIs.

If you run into an issue while using parity, feel free to file one in this repository or hop on our gitter chat room to ask a question. We are glad to help!

Parity's current release is 1.3. You can download it at https://ethcore.io/parity.html or follow the instructions below to build from source.


Build dependencies

Parity is fully compatible with Stable Rust.

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 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


Quick install

cargo install --git https://github.com/ethcore/parity.git parity

Build from source

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

# build in release mode
$ cargo build --release

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


Simple one-line installer for Mac and Ubuntu

bash <(curl https://get.parity.io -Lk)

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 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".

    Example: ARGS="ui --geth --identity MyMachine".