Go to file
Nikolay Volf 62210fb932 WASM contracts MVP (#5679)
* lifetime issues

* refactor to new 'native env'

* descriptors and such

* wasm mvp continued

* finalized env/ext bindings

* descriptor -> call_args

* inject gas counter

* result processing and engine activation

* tabify some source files

* needs return new

* wasm tests initial

* erradicate warnings

* origin in the descriptor

* update test repo

* payload verification tests

* identity return payload test

* some test description

* dispersion test

* check length here

* suicidal contract

* engine params

* fix typo

* review fixes

* submodule update

* update - purge reserved space

* doc effort

* more review fixes

* fix error message

* fix dependency url

* reorg error handling

* update submodule

* update utils

* update to latest parity-wasm

* tabify

* fix wasm magic header

* update dependencies

* external create and tests

* update to latest tests

* extra trace info

* Update parity-wasm

* update wasm-utils also

* few traces and result handle change

* alter trace content

* fix issues with optimizer, update to latest parity with validator, etc

* static initialization

* license preamble

* update wasm crates and gas costs

* fix grumbles

* bring back lifetime

* fix compilation
2017-07-10 17:42:10 +02:00
dapps Use standard paths for Ethash cache (#5881) 2017-07-10 12:57:40 +02:00
devtools Content Security Policy (#5790) 2017-06-28 09:12:02 +02:00
docker Dockerfile for hub.docker.com 2017-05-26 15:18:17 +03:00
ethash Use standard paths for Ethash cache (#5881) 2017-07-10 12:57:40 +02:00
ethcore WASM contracts MVP (#5679) 2017-07-10 17:42:10 +02:00
ethcrypto constant time HMAC comparison and clarify docs in ethkey 2017-06-29 13:44:24 +02:00
ethkey Merge pull request #5996 from paritytech/serdeup 2017-07-06 18:02:11 +02:00
ethstore updated serde to version 1.0 2017-07-06 11:36:15 +02:00
evmbin Fix output of parity-evm in case of bad instruction (#5955) 2017-07-10 13:23:40 +02:00
evmjit Update Cid/multihash/ring/tinykeccak (#5785) 2017-06-07 12:31:12 +02:00
hash-fetch updated serde to version 1.0 2017-07-06 11:36:15 +02:00
hw updated serde to version 1.0 2017-07-06 11:36:15 +02:00
ipc Fix tests 2017-06-29 13:05:33 +02:00
ipc-common-types use cargo workspace (#5601) 2017-05-23 12:28:22 +02:00
ipfs Upgrade `elastic-array` to 0.9.0 2017-06-29 13:05:33 +02:00
js Set observable on component (#6033) 2017-07-10 17:38:40 +02:00
json WASM contracts MVP (#5679) 2017-07-10 17:42:10 +02:00
local-store updated serde to version 1.0 2017-07-06 11:36:15 +02:00
logger use cargo workspace (#5601) 2017-05-23 12:28:22 +02:00
mac Fixed default UI port for mac installer (#5782) 2017-06-07 16:27:26 +02:00
nsis Replace Ethcore comany name in T&C and some other places (#5796) 2017-06-09 12:21:35 +02:00
parity --reseal-on-uncle (#5940) 2017-07-10 13:36:42 +02:00
rpc --reseal-on-uncle (#5940) 2017-07-10 13:36:42 +02:00
rpc_cli updated serde to version 1.0 2017-07-06 11:36:15 +02:00
rpc_client updated serde to version 1.0 2017-07-06 11:36:15 +02:00
scripts Make config file optional (#5847) 2017-06-19 11:42:29 +02:00
secret_store Merge pull request #5996 from paritytech/serdeup 2017-07-06 18:02:11 +02:00
snap update the source for the snapcraft package 2017-06-07 05:21:10 +00:00
stratum Upgrade `elastic-array` to 0.9.0 2017-06-29 13:05:33 +02:00
sync Proper light client informant and more verification of imported headers (#5897) 2017-07-10 13:21:11 +02:00
updater updated serde to version 1.0 2017-07-06 11:36:15 +02:00
util updated serde to version 1.0 2017-07-06 11:36:15 +02:00
windows/ptray Better windows icon (#4804) 2017-03-08 14:42:56 +01:00
.dockerignore improved dockerfile builds (#5659) 2017-05-23 12:25:41 +02:00
.editorconfig Fixing travis.yml 2016-07-11 18:23:24 +02:00
.gitignore npm cleanups (#5512) 2017-04-26 12:38:21 +02:00
.gitlab-ci.yml fix Windows and MacOS build 2017-06-28 14:03:17 +03:00
.gitmodules WASM contracts MVP (#5679) 2017-07-10 17:42:10 +02:00
CHANGELOG.md Update Changelog for 1.6.8 (#5798) 2017-06-09 12:22:17 +02:00
Cargo.lock WASM contracts MVP (#5679) 2017-07-10 17:42:10 +02:00
Cargo.toml updated serde to version 1.0 2017-07-06 11:36:15 +02:00
LICENSE Change to library. 2015-11-24 21:05:08 +01:00
README.md Add the command to install the parity snap (#5945) 2017-06-28 09:37:47 +02:00
build.rs Detect rust compiler version in Parity build script, closes 4742 (#4907) 2017-03-15 14:03:11 +01:00
license_header Fix whitespace (#4299) 2017-01-25 18:51:41 +01:00
rustfmt.toml remove the deprecated options in rustfmt.toml (#5616) 2017-05-19 17:12:20 +02:00
test.sh Create an account for chain=dev (#5612) 2017-05-19 17:06:36 +02:00

README.md

Parity

Fast, light, and robust Ethereum implementation

Download latest release

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.


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 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. 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.6. 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.18.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


Quick build and install

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

Install from the snap store

In any of the supported Linux distros:

sudo snap install parity --edge

(Note that this is an experimental and unstable release, at the moment)


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

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