-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Parity is an Ethereum client, written from the ground-up for correctness-verifiability, modularisation, low-footprint and high-performance. To this end it utilises the Rust language, a hybrid imperative/OO/functional language with an emphasis on efficiency. It is professionally developed by Ethcore; we aim to have all important logic 100% unit-tested, all public APIs 100% documented, all code reviewed my multiple peers� and follow a pipelined 6-ish-week release cycle similar to the Rust compiler.
If you want to get a node up and running with Parity, see the Quick-start guide, or browse the Articles Index. Frequently asked questions are answer on the FAQ. If you want to use the Ethereum Foundation Wallet with your Parity installation, see the guide to Using Parity with Mist. If you're interested in mining with Parity, see the Mining guide. If you'd like to use the Web3 Javascript interface with Parity, see the Developers guide. If you're interested in hacking on the Parity code base see the Coding-guide. For Private chains and Proof of Authority Chains, you might find the Ethereum Chain Spec Format useful.
While Rust is multi-paradigm, we aim to write intra-function logic in as functional a manner as possible. Mutability is avoided except where necessary for the algorithm or efficiency.
Which is very important when you're coding to a formal specification.
Isolatable code means easier code in which to track problems and harder code to make wrong with additional features.
A steady release cycle, once every 6-7 weeks with a master/beta/stable pipeline provides users with certainty and helps us structure feature-inclusion in a disciplined fashion.
Where standards (published or de facto) exist, we strive to honour them. e.g. in the case of CLI options, wherever we share a feature with geth, Parity supports geth
's CLI option for that feature. e.g. in order to set the destination address (i.e. the account which will be credited with any mining rewards), you can use either of --etherbase
(in geth dialect) or --author
(the Parity variant). Parity doesn't care.
Maximise references, minimise copying and holding copies. Rust makes it safe. When there are dynamic data structures, provide means for keeping them under control.
We want to protect our processes from each other and the (possibly malicious) outside world. Through leveraging process isolation, sophisticated memory management and OS-level protection primitives we provide the most secure Ethereum implementation in the world.
Through Rust's language-level memory and thread guarantees and a disciplined approach to exception-handling we can state with a high degree of certainty that our code cannot crash, hang or bomb-out unexpectedly.
Our codebase is lovely. So lovely we frequently get compliments from newcomers. And we want to keep it that way. We strive for 100% coverage of documentation, unit tests and code reviews.
- [With Mist](Using parity with mist)
- For Mining
- [For Private Chains](Private Chains)
- [For PoA Chains](Proof of Authority Chains)
- [Coming from Geth](Importing a chain from Geth)
- Backing-up & Restoring
- Ethereum Classic