Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Parity 1.5.0: Nativity

Compare
Choose a tag to compare
@gavofyork gavofyork released this 19 Jan 16:00
· 4524 commits to master since this release

Major feature release including Tendermint consensus engine, Multisig wallet support, badge/certification UI integration and automatic updates.

Directories:

  • New XDG-informed Parity data directory structure. Base dir (--base-path or -d) that defaulted to $HOME/.parity is changed to:
    • /Users/You/AppData/Roaming/Parity/Ethereum on Windows
    • /Users/you/Library/Application Support/io.parity.ethereum on MacOS
    • /home/you/.local/share/parity on Linux/Unix
  • Keys are now stored in chain-specific directories . On first run of 1.5, all keys will be moved into the key's directory of the chain you run. You'll need to move the wallet files between directories manually if you wish to split them between testnet/mainnet.
  • --db-path option now controls the path just for the databases, not for keys (--keys-path) or dapps (--dapps-path).

Basics:

  • Version tracking, consensus-protection, hypervised auto-updating:
    • Parity will ensure syncing is paused if its version cannot support an upcoming hard-fork (disable with --no-consensus).
    • Parity will automatically download the latest version and may be updated through Parity Wallet (disable with --no-download)
    • Parity can automatically update and seamlessly restart to later versions in the same release track (enable with --auto-update=all or --auto-update=critical).
    • Parity hypervisor will automatically run the latest version (disable with --force-direct).
  • Fat database; to enable, sync the chain with the option --fat-db.
    • Accounts and storage entries can be enumerated.
    • Chain state can be exported to JSON for analysis with parity export state.
  • CLI and config options renamed: all variants of --signer are renamed to --ui.
  • Log files are appended by default rather than truncated (useful for daemon deployments).

Parity Wallet:

  • Multisig wallet support: "New Wallet" button in the "Accounts" section allows you to create a new multisig wallet or import an existing one.
  • Solidity compiler: "Develop Contract" button in the "Contracts" section allows you to write, edit, compile and deploy contracts.
  • SMS & e-mail verification: Accounts can now be certified as verified using Parity's SMS and e-Mail verification/registration oracle.
  • Badge/certification integration: The BadgeReg contract can be used to deploy additional certifications.
  • Local transaction propagation tracking: "TxQueue Viewer" in the "Applications" section allows you to track and resubmit previously sent transactions.
  • Contract executions can now have gas and gas-price configured.
  • Signer can now alter the gas and gas-price of transactions at password-entry.
  • The deprecated Chrome "Signer" extension is now incompatible.

Proof of Authority:

  • Authority Round consensus engine: engine: authorityRound {...}; this is a high-performance Proof-of-Authority consensus engine. It is not BFT under normal circumstances (however the --force-sealing flag can be used to ensure consensus even with Byzantine nodes).
  • Tendermint Engine: engine: tendermint {...}; this is an experimental Proof-of-Authority consensus engine. BFT up to one third of the authorities and falling back to delayed finalization chain ordering (50% fault tolerant).
  • Generic seal JSON spec includes engine-specific types (seal: { generic: { rlp: "0x..." } } becomes seal: { authority_round { step: 0, signature: "0x..." } }.
  • To set a node as authority either --engine-signer ADDRESS should be used with --password or parity_setEngineSigner(address, password) RPC should be called. Unlocking the account permanently or using --author is now unnecessary.
  • Set of authorities can now be specified using a list or a contract.

Chains:

  • Dev chain: --chain=dev; instant seal engine (no mining needed). Great for development work.
  • Ropsten chain (--chain=ropsten or --chain=testnet) configures for Ropsten, the new test net.
  • Morden chain (--chain=morden) changed to "Classic" rules and stays as the Ethereum Classic test net.

RPCs/APIs:

  • All JSON-RPC interfaces have strict JSON deserialization - no extra fields are allowed.
  • eth_sign RPC now hashes given data instead of getting the hash.
  • signer_confirmRequestWithToken: additional RPC for signing transactions with a rotating token, alleviating the need for keeping an account password in memory.
  • eth_signTransaction now conforms to the specification, eth_submitTransaction is introduced.
OS Architecture File MD5 Checksum
linux aarch64 parity_1.5.0_arm64.deb 724f43af7b9dd7f23ad9b4ca26f0625c
linux armv7 parity_1.5.0_armhf.deb 40c59705f916b19cef543dcd0095ded3
linux x86_64 parity_1.5.0_amd64.deb c1fef1842425852d2f17f6ebef0e8106
linux i686 parity_1.5.0_i386.deb 30104ae3464439e6694ae7e39d003ff3
darwin x86_64 parity-1.5.0-osx-installer-EXPERIMENTAL.pkg ab034f0b30739515acc8d1b9608c4e92
windows x86_64 InstallParity.exe 591f87dcd357ce9a7f837fbab18a38ba

Homebrew: https://github.com/ethcore/homebrew-ethcore/blob/master/README.md
Docker: https://hub.docker.com/r/ethcore/parity