当前位置: 首页 > 软件库 > Web3 > 区块链 >

parity-ethereum

授权协议 View license
开发语言
所属分类 Web3、 区块链
软件类型 开源软件
地区 不详
投 递 者 谭琛
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

The Fastest and most Advanced Ethereum Client.

» Download the latest release «

Table of Contents

  1. Description
  2. Technical Overview
  3. Building
    3.1 Building Dependencies
    3.2 Building from Source Code
    3.3 Simple One-Line Installer for Mac and Linux
    3.4 Starting Parity Ethereum
  4. Testing
  5. Documentation
  6. Toolchain
  7. Community
  8. Contributing
  9. License

1. Description

Built for mission-critical use: Miners, service providers, and exchanges need fast synchronisation and maximum uptime. Parity Ethereum provides the core infrastructure essential for speedy and reliable services.

  • Clean, modular codebase for easy customisation
  • Advanced CLI-based client
  • Minimal memory and storage footprint
  • Synchronise in hours, not days with Warp Sync
  • Modular for light integration into your service or product

2. Technical Overview

Parity Ethereum's goal is to be the fastest, lightest, and most secure Ethereum client. We are developing Parity Ethereum using the sophisticated and cutting-edge Rust programming language. Parity Ethereum is licensed under the GPLv3 and can be used for all your Ethereum needs.

By default, Parity Ethereum runs a JSON-RPC HTTP server on port :8545 and a Web-Sockets server on port :8546. This is fully configurable and supports a number of APIs.

If you run into problems while using Parity Ethereum, check out the wiki for documentation, feel free to file an issue 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 Ethereum's current beta-release is 2.6. You can download it at the releases page or follow the instructions below to build from source. Please, mind the CHANGELOG.md for a list of all changes between different versions.

3. Building

3.1 Build Dependencies

Parity Ethereum requires latest stable Rust version 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 Ethereum also requires gcc, g++, pkg-config, file, make, and cmake 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 fromhttps://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 installed, then you need to install:

Make sure that these binaries are in your PATH. After that, you should be able to build Parity Ethereum from source.

3.2 Build from Source Code

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

# build in release mode
$ cargo build --release --features final

This produces 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 errors, it's in most cases your outdated version of Rust, or some of your crates have to be recompiled. Cleaning the repository will most likely solve the issue if you are on the latest stable version of Rust, try:

$ cargo clean

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

$ git checkout stable

or

$ git checkout beta

3.3 Simple One-Line Installer for Mac and Linux

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

The one-line installer always defaults to the latest beta release. To install a stable release, run:

bash <(curl https://get.parity.io -L) -r stable

3.4 Starting Parity Ethereum

Manually

To start Parity Ethereum manually, just run

$ ./target/release/parity

so Parity Ethereum begins syncing the Ethereum blockchain.

Using systemd service file

To start Parity Ethereum as a regular user using systemd init:

  1. Copy ./scripts/parity.service to yoursystemd user directory (usually ~/.config/systemd/user).
  2. Copy release to bin folder, write sudo install ./target/release/parity /usr/bin/parity
  3. To configure Parity Ethereum, write a /etc/parity/config.toml config file, see Configuring Parity Ethereum for details.

4. Testing

Download the required test files: git submodule update --init --recursive. You can run tests with the following commands:

  • All packages

    cargo test --all
    
  • Specific package

    cargo test --package <spec>
    

Replace <spec> with one of the packages from the package list (e.g. cargo test --package evmbin).

You can show your logs in the test output by passing --nocapture (i.e. cargo test --package evmbin -- --nocapture)

5. Documentation

Official website: https://parity.io

Be sure to check out our wiki for more information.

Viewing documentation for Parity Ethereum packages

You can generate documentation for Parity Ethereum Rust packages that automatically opens in your web browser using rustdoc with Cargo (of the The Rustdoc Book), by running the the following commands:

  • All packages

    cargo doc --document-private-items --open
    
  • Specific package

    cargo doc --package <spec> -- --document-private-items --open
    

Use--document-private-items to also view private documentation and --no-deps to exclude building documentation for dependencies.

Replacing <spec> with one of the following from the details section below (i.e. cargo doc --package parity-ethereum --open):

Package List

  • Parity Ethereum (EthCore) Client Application
    parity-ethereum
  • Parity Ethereum Account Management, Key Management Tool, and Keys Generator
    ethcore-accounts, ethkey-cli, ethstore, ethstore-cli
  • Parity Chain Specification
    chainspec
  • Parity CLI Signer Tool & RPC Client
    cli-signer parity-rpc-client
  • Parity Ethereum Ethash & ProgPoW Implementations
    ethash
  • Parity (EthCore) Library
    ethcore
    • Parity Ethereum Blockchain Database, Test Generator, Configuration,Caching, Importing Blocks, and Block Information
      ethcore-blockchain
    • Parity Ethereum (EthCore) Contract Calls and Blockchain Service & Registry Information
      ethcore-call-contract
    • Parity Ethereum (EthCore) Database Access & Utilities, Database Cache Manager
      ethcore-db
    • Parity Ethereum Virtual Machine (EVM) Rust Implementation
      evm
    • Parity Ethereum (EthCore) Light Client Implementation
      ethcore-light
    • Parity Smart Contract based Node Filter, Manage Permissions of Network Connections
      node-filter
    • Parity Private Transactions
      ethcore-private-tx
    • Parity Ethereum (EthCore) Client & Network Service Creation & Registration with the I/O Subsystem
      ethcore-service
    • Parity Ethereum (EthCore) Blockchain Synchronization
      ethcore-sync
    • Parity Ethereum Common Types
      common-types
    • Parity Ethereum Virtual Machines (VM) Support Library
      vm
    • Parity Ethereum WASM Interpreter
      wasm
    • Parity Ethereum WASM Test Runner
      pwasm-run-test
    • Parity EVM Implementation
      evmbin
    • Parity Ethereum IPFS-compatible API
      parity-ipfs-api
    • Parity Ethereum JSON Deserialization
      ethjson
    • Parity Ethereum State Machine Generalization for Consensus Engines
      parity-machine
  • Parity Ethereum (EthCore) Miner Interface
    ethcore-miner parity-local-store price-info ethcore-stratum using_queue
  • Parity Ethereum (EthCore) Logger Implementation
    ethcore-logger
  • C bindings library for the Parity Ethereum client
    parity-clib
  • Parity Ethereum JSON-RPC Servers
    parity-rpc
  • Parity Ethereum (EthCore) Secret Store
    ethcore-secretstore
  • Parity Updater Service
    parity-updater parity-hash-fetch
  • Parity Core Libraries (Parity Util)
    ethcore-bloom-journal blooms-db dir eip-712 fake-fetch fastmap fetch ethcore-io
    journaldb keccak-hasher len-caching-lock macros memory-cache memzero
    migration-rocksdb ethcore-network ethcore-network-devp2p panic_hook
    patricia-trie-ethereum registrar rlp_compress rlp_derive parity-runtime stats
    time-utils triehash-ethereum unexpected parity-version

Contributing to documentation for Parity Ethereum packages

Document source code for Parity Ethereum packages by annotating the source code with documentation comments.

Example (generic documentation comment):

/// Summary
///
/// Description
///
/// # Panics
///
/// # Errors
///
/// # Safety
///
/// # Examples
///
/// Summary of Example 1
///
/// ```rust
/// // insert example 1 code here for use with documentation as tests
/// ```
///

6. Toolchain

In addition to the Parity Ethereum client, there are additional tools in this repository available:

  • evmbin - Parity Ethereum EVM Implementation.
  • ethstore - Parity Ethereum Key Management.
  • ethkey - Parity Ethereum Keys Generator.

The following tool is available in a separate repository:

  • ethabi - Parity Ethereum Encoding of Function Calls. Docs here
  • whisper - Parity Ethereum Whisper-v2 PoC Implementation.

7. Community

Join the chat!

Questions? Get in touch with us on Gitter:

Alternatively, join our community on Matrix:

8. Contributing

An introduction has been provided in the "So You Want to be a Core Developer" presentation slides by Hernando Castano. Additional guidelines are provided in CONTRIBUTING.

Contributor Code of Conduct

CODE_OF_CONDUCT

9. License

LICENSE

  • 写在前面: Ethereum目前有两种节点,分别是go-ethereum(简称geth)和Parity。因为Parity出现的时间较晚,解决了geth节点中的许多问题,拥有更好的性能,所以后面所有关于以太坊的讲解都会以Parity环境作为基础。本篇主要说明了Parity节点的搭建 使用的系统:ubuntu 16.04 Parity官方网站:https://parity.io Parity 安装 P

  • open-ethereum-pool以太坊矿池-环境安装 安装Geth //安装parity cd /tmp/ wget d1h4xl4cr1h0mo.cloudfront.net/v1.8.11/x86_64-unknown-linux-gnu/parity_1.8.11_ubuntu_amd64.deb dpkg -i parity_1.8.11_ubuntu_amd64.deb //安装sc

  • # Awesome Ethereum [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) >  collection of best res

  • 收集所有以太坊(ethereum)技术开发相关资料 INTRO 介绍 Started 入门 区块链技术指南 区块链领域比较系统的入门资料 什么是以太坊?什么是智能合约?以太坊智能合约入门概念 理解区块链 区块链关键要点讲解 (一)简单易懂地介绍什么是区块链 比特币区块链关键词讲解 (二)简单易懂地介绍什么是区块链(技术篇) 比特币区块链技术图解 一文看懂区块链架构设计 从技术分层解构架构 Ethe

  • 书名《Introducing Ethereum and Solidity》。 第一章:基础知识 区块链是一个数据库,是分布式的,在很多台服务器上有多个副本的数据库,理论上每一台服务器都有完整的全部数据,实际上因为延迟、攻击、数据压缩、优化策略,有些服务器只有部分数据,也可能有错误数据。 什么是智能合约?智能合约就是区块链上的应用/application。如果把以太坊视为运行平台/操作系统,那么智能

  • ubuntu安装以太坊ethereum的测试网络ropsten-net以及雷电网络raiden-network环境 前言 为了保证环境稳定,我从头开了一个虚拟机。 环境如下 xiaoyu@xiaoyu-Parallels-Virtual-Platform:~$ uname -a Linux xiaoyu-Parallels-Virtual-Platform 4.10.0-28-generic #3

  • EIP 155:重放攻击保护——防止了在一个以太坊链上的交易被重复广播到另外一条链。 在看椭圆曲线时有提到,与r、s、v中的v相关   不同的共有链定义不同的chainId, 防止同一笔交易在不同的共有链上进行两次交易,防止重放攻击(其实就是防止测试网中的代币发送到主网中去) v = 35 + chainId *2 | v = 36 + chainId * 2 (奇偶校验)   在创世区块的jso

  • 原文地址:https://github.com/aion-camus/rust_evm_intf 1 motivation and framework Our purpose providing this repository is to build a bridge between Rust Blockchain Kernel(such as Parity) and the llvm-based

  • Ethereum的API接口类型 Ethereum官方提供了Go、python、C++和Parity四种语言的版本。四种语言都提供了JSON-RPC API,供使用者调用,可以通过geth RPC终端开启。 在开启geth的时候可以增加 --${interface}api新选项来选择开启哪一个api。${interface}的类型可以为 rpc开启HTTP, ws开启Web Scocket, ip

  • [论文地址] [代码] [USENIX Security 20] 省略了论文的图表部分 TxSpector: Uncovering Attacks in Ethereum from Transactions Abstract 以太坊智能合约的发明使区块链用户可以在交易中定制计算逻辑。然而,与传统的计算机程序类似,智能合约也有漏洞,这些漏洞可以被利用,造成合约所有者的经济损失。虽然有许多软件工具用于

  • EIP 161: State trie clearing - makes it possible to remove a large number of empty accounts that were put in the state at very low cost as a result of earlier DoS attacks. With this EIP, 'empty' accou

  • \u003cp\u003e本文最初发表于\u003ca href=\"https://hackernoon.com/ethereum-dapp-infrastructure-2b4f1e6bfa38\"\u003eHacker Noon博客\u003c/a\u003e,经原作者Carlo Las Marias授权由InfoQ中文站翻译分享。\u003c/p\u003e\n\u003cp\u003e

  • Ethereum is a protocol, an idea that anyone can interact with, if only they can speak the language. Most people know Ethereum through a client (maybe Geth, Parity or Web3 via MetaMask). While these Et

  • 還記得今年 7 月 Parity 錢包合約被找到漏洞,結果駭客偷走了將近 150,000 個以太幣,會發生是因為智能合約的 callback 裡使用了 delegatecall(msg.data),這個函數會呼叫 data 中的函數並將 msg.sender 設為原呼叫函數的地址,駭客利用這一點呼叫了 initWallet,這時你們可能會以為 Parity 應該有在 initWallet 設置條件

 相关资料
  • Parity 是一个实用的跨平台编译器,提供类似GCC的前端,可以用来将 Unix 环境下的项目编译成 Windows 下的可执行程序或者是动态库。 特性 快速包装 Microsoft 编译器/链接器 可向 Windows 程序添加 UNIX 功能,包括 runpath、LD_PRELOAD、LD_LIBRARY_PATH 等。 可在 Windows 和 Interix(SUA)系统上运行。支持 Cygwin (但还没有测试)。

  • The Parity Bitcoin client. Gitter Installing from source Installing the snap Running tests Going online Importing bitcoind database Command line interface JSON-RPC Logging Internal Documentation Proje

  • 现在我们对在响应式用户界面中使用Bond 的想法感到非常满意,现在是时候深入区块链了。为此,我们将介绍这个oo7-parity包,它提供了一个高级别的响应式BondAPI(它使用我们底层的低级库parity.js,但您无需关心)。 要进行设置,我们所需要做的就是从oo7-parity模块导入bonds,所以确保你在文件顶部有这个: import {bonds} from 'oo7-parity';

  • 本文是DApp教程的第三部分的调试笔记。 Parity Bonds 在这一部分的教程中网页会通过 oo7-parity 模块访问区块链。这个模块的源码位于 https://github.com/paritytech/oo7-parity。 1.监视区块 在 oo7-parity 模块中,在 src/index.js 文件有一个语句: return new ParityApi.Provider.Ht

  • 节点服务代理API,接口的参数说明请参考Etherscan API 约定, 文档中不单独说明。 The following are the limited list of supported Proxied APIs for Geth available through Etherscan. For the list of the parameters and descriptions pleas

  • 本文向大家介绍详解php与ethereum客户端交互,包括了详解php与ethereum客户端交互的使用技巧和注意事项,需要的朋友参考一下 php与ethereum rpc server通信 一、Json RPC Json RPC就是基于json的远程过程调用,这么解释比较抽象。简单来说,就是post一个json格式的数据调用rpc server中的方法. 而这个json格式是固定的, 总的来说有