parity progress report
TRANSCRIPT
![Page 1: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/1.jpg)
Progress Report
Parity
![Page 2: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/2.jpg)
Parity
What is Parity?
Parity Ethereum Client is software made by Parity Technologies
● Acts as a “full” node on the Ethereum network
● Keeps a synchronised block chain to audit other nodes
● Manages secret keys; signs and publishes transactions
● Written in Rust for correctness, performance and footprint
● Portable - works on Windows, Mac OS and Linux/Unix
● Modular actor-based architecture for reliability
![Page 3: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/3.jpg)
Parity
What is Parity?
Advanced Ethereum client:
● State-trie pruning keeps database size to a minimum
● Auto-upgrading keeps node up to date via smart-contract
● Light-client operation for minimal-resource/embedded clients
● Chain-specification files for multi-chain interoperability
● Consensus-abstraction for pluggable consensus algorithms
![Page 4: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/4.jpg)
Parity
PAR
● Fully syncs in around 60s● Serves & shares:
○ Compressed, condensed, aggregated state-trie data
○ Cryptographic manifests
● Multi-level security● Downloads receipts &
transactions to ensure full compatibility
Parity wire protocol for Warp-sync
![Page 5: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/5.jpg)
Parity
PIP● Builds on Foundation’s LES
protocol● Request pipelining to
minimize round-trips● Responses fully provable:
sybil attack resistantParity light client Protocol
![Page 6: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/6.jpg)
Parity
VaultsKeep your addresses to
yourself
● Geth-dialect of wallet files include address in plaintext
● Vaults encrypt address and other metadata of key files
● One path = one password● Enter path’s password to
see addresses of key files
![Page 7: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/7.jpg)
Parity
Deep TracingFigure out what really
happened
● New trace_ API● Allows for:
○ state deltas○ VM trace○ deep transaction trace
● Used for:○ preview transactions○ re-run transactions
![Page 8: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/8.jpg)
Parity
TendermintProof-of-Authority /
Proof-of-Stake pluggable consensus algorithm
● High-performance PBFT-based consensus algorithm
● Authorities controlled via smart-contract
● Proof-of-Stake variant
![Page 9: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/9.jpg)
Parity
StratumSupport for Stratum
notification
● High-performance mining hardware can get TCP notifications of new work
![Page 10: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/10.jpg)
Parity
Scheduled transactions
Transactions can be published only on certain
conditions
● Avoid publishing transactions until a specified:○ Block number○ Block timestamp
● “Alarm clock”● Scheduled transactions
persist between runs
![Page 11: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/11.jpg)
Parity
Auto-updatingParity will stay in sync with
the network. Always.
● Multiple functions:○ Always○ Never○ Track versus minor-version○ Critical only○ Download only
● Controlled by smart-contract
● Smart-contract has partially-automated, multi-phase multi-key system
![Page 12: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/12.jpg)
Parity
Parity Infrastructure
Smart contracts and services
● Registry hierarchical name registry
● TokenReg, DappReg, BadgeReg network-maintained indexes
● GithubHint/URLHint hash to URL hint system
● Operations Client version & consensus algorithm database/DAO
● SMSVerification SMS-based identity verification system
● EmailVerification e-Mail-based identity verification system
![Page 13: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/13.jpg)
Parity
OperationsThe right information to keep network operations
going.
● Multi-stakeholder smart contract
● Multi-client, multi-track, multi-release, multi-binary
● Tracks consensus protocol● Implements much of
“Yellow Paper council”● Forks require teams signoff● Chronicles which releases
support which forks
![Page 14: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/14.jpg)
Parity
SMS-CertifierFirst tool to fight Sybil
● Centralised service :(● Accounts get certified that
they have unique phone associated
● Low cost (12 Finney)● No data released on chain● Only hash stored on server
![Page 15: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/15.jpg)
Parity
Email-CertifierSend Ether to an e-mail
address
● Centralised service :(● Accounts get certified that
they correspond to an email address
● Free● Email hash placed on chain● ETH address resolvable
![Page 16: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/16.jpg)
Parity
What is Parity Wallet?
Primary user interface for the Parity Ethereum client
● Account/identity management
● Wallet management
● Contract development, deployment, management
● Secure authorisation & signing
● Transaction tracing and node management
● (Decentralised) Application publishing and management
● Chrome Browser Extension support
![Page 17: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/17.jpg)
Parity
Account & Identity Management
● Name display: local and Registry
● Name input: local, Registry and e-Mail certified
● Displays Ether and Standard Tokens via Token Registry
● Displays certifications via Badge Registry
● Bestow and filter by tags
● Standard recovery phrase key generator
![Page 18: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/18.jpg)
Parity
Accounts management
![Page 19: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/19.jpg)
Parity
Creating a new account
![Page 20: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/20.jpg)
Parity
Vault management
![Page 21: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/21.jpg)
Parity
Account page
![Page 22: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/22.jpg)
Parity
Sending funds to an eMail address
![Page 23: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/23.jpg)
Parity
Wallet Management
● Seamless multi-signature wallet support
● Similar to accounts: taggable, badges, tokens
● One-click transaction approval
● Efficient transaction history
● Coming-soon: Wallet support for approving DApp transactions
![Page 24: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/24.jpg)
Parity
Wallet management
![Page 25: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/25.jpg)
Parity
Contract Development/Deployment/Management
● Solidity editor and compiler
● Streamlined deployment
● Management interface for:○ viewing public properties
○ calling into contract
○ executing transactions
○ inspecting events from contracts
![Page 26: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/26.jpg)
Parity
Contract editor
![Page 27: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/27.jpg)
Parity
Deploying a contract with parameters
![Page 28: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/28.jpg)
Parity
Managing a contract
![Page 29: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/29.jpg)
Parity
Executing a contract transaction
![Page 30: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/30.jpg)
Parity
Secure Approval/Signing
● Multi-layer security approach:○ Only isolated high-security Parity module for storing/using secrets
○ Only high-security API allows signing to be approved by supplying password
○ Only JS signer code served by Parity has access by default
● In-Application overlay (“Signer Snippet”)○ Secure background pattern to ensure DApp isn’t sniffing password
○ Allows primary/default account selection
○ Identifies Application responsible for request
○ Works on Parity-hosted “DApplications” and Ethereum-enabled websites
○ Allows tweaking of parameters (gas, gasPrice and conditional publishing)
![Page 31: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/31.jpg)
Parity
Signer with pending transaction
![Page 32: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/32.jpg)
Parity
Tweaking transaction parameters
![Page 33: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/33.jpg)
Parity
Application Publication & Management
● DApp manifest allows for metadata display
● (Decentralised) Applications visible on main Applications page
● Three sections:○ Local (those found in your parity/dapps directory)
○ Built-in (those that come bundled with Parity Wallet)
○ Network (those found published to the DApps Registry)
● Parity hosts all allowing for ease of development
● Coming soon: DApp permissions to allow certain DApps to access
greater portion of the API
![Page 34: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/34.jpg)
Parity
Applications management
![Page 35: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/35.jpg)
Parity
Node management & Transaction tracing
● View node information (consensus/chain/logging)
● Alter node operation (syncing & network)
● Published transactions can be traced
● View transaction queue to see nodes to which propagated
● May be resubmitted with altered gas/gasPrice
![Page 36: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/36.jpg)
Parity
Viewing the transaction queue
![Page 37: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/37.jpg)
Parity
Parity Dapp Tooling
Helping you build dapps
● RPC documentation auto-generated from the code with examples
● parity.js our low-level Promise-based alternative to web3.js
● oo7-parity.js our high-level Bond-based Dapp API
● oo7-react.js our high-level Bond & React-based helper API
● React component library for Dapp building blocks
● Tutorial available on Parity wiki
![Page 38: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/38.jpg)
Parity
RPC DocsAutogenerated RPC
documentation
● All Parity RPCs now have markdown documentation auto-generated from code
![Page 39: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/39.jpg)
Parity
parity.jsPromise-based Ethereum
Javascript API
Simple, async & compatible
api.eth.blockNumber()
.then(api.eth.getBlockByNumber)
.then(x => x.author)
.then(api.eth.getBalance)
.then(console.log)
![Page 40: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/40.jpg)
Parity
oo7-parity.jsAdvanced Bond-based
Ethereum Javascript API
Succinct, Async and Reactive
bonds.balance(
bonds.blocks(
bonds.blockNumber
).author
).tie(console.log)
Bond = Ongoing Promise
![Page 41: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/41.jpg)
Parity
oo7-react.jsBond-based React/Ethereum
Javascript API
render() {
return (<Rspan>{
Bonds.balance(
Bonds.block.author
).map(formatBalance)
}</Rspan>);
}
![Page 42: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/42.jpg)
Parity
Works well with contracts
class App extends React.Component {constructor() {
super();this.coin = bonds.makeContract(
api.abi.erc20token, bonds.registry.getAddress(‘gavcoin’, ‘A’)
);}render() {
return (<div>You have <Rspan>{this.coin.balanceOf(bonds.accounts[0])
}</Rspan> GAV and <Rspan>{bonds.balance(bonds.accounts[0])
.map(formatBalance)}</Rspan>.</div>);
}}
● Fully reactive● Easy to extend● Composable● Simple API● Promise-friendly
![Page 43: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/43.jpg)
Parity
Create new Bonded React Components
class Account extends ReactiveComponent {constructor() { super([‘address’]); }render() {
return (<span>{self.state.address}(<Balance value={
bonds.balance(self.state.address)}/>)
</span>);}
}class Balance extends ReactiveComponent {
constructor() { super([‘value’]); }render() {
return (<span>{formatBalance(self.state.value)
}</span>);}
}
● Fully reactive● Easy to extend● Composable● Simple API● Promise-friendly
![Page 44: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/44.jpg)
What is Polkadot?
![Page 45: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/45.jpg)
What does it provide?
Pooled securityall constituent chains of our community guaranteed
Trust-free transactionsconstituent chains can send transactions to each other
Entirely generalfree-form messages: no set semantics; same guarantees
as contract-calling in ethereum
![Page 46: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/46.jpg)
How does it work?
Relay-chainthe top-level which coordinates consensus and
transaction delivery between constituents
Parachainsconstituent chains which gather and process
transactions
![Page 47: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/47.jpg)
Basics of the Relay-chain
No functionalityno external transactions, no smart contracts
Governance built-intoken ownership gives voting privileges
![Page 48: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/48.jpg)
Polkadot’s Relay-chain ensures that transactions between the constituent parachains get delivered and that they are all operating correctly.
Parachains can take any form of globally-coherent consensus system; potentially even another relay-chain. Enterprise-friendly encrypted, private, proof-of-authority chains are supported.
Bridges can exist to ferry transactions between the relay chain and existing, independent chains like Ethereum.
Extensible, Scalable and Flexible
![Page 49: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/49.jpg)
Open parachains can be tightly integrated into Polkadot, using Polkadot’s validators to ensure their correct operation. They are the easiest and cheapest form of integration.
Closed parachains can be weakly integrated into Polkadot, giving them the freedom to manage validation internally e.g. using a set of recognised authorities.
Bridged chains can be integrated into Polkadot too. Bridges add complexity and cost to integration, but allow the chain to exercise its own means of consensus.
Polkadot network
Consortium parachain
Authorities manage parachain validation, access controls &c.
Transactions andinter-chain consensus
![Page 50: Parity Progress Report](https://reader031.vdocuments.us/reader031/viewer/2022021814/58b8a0511a28abc06d8b5111/html5/thumbnails/50.jpg)
PolkadotJoin the dots
@gavofyork @polkadotproject @polkadotnetworkgithub.com/polkadot-io gitter.im/polkadot-io/Lobby