Skip to main content

Hardware ECDSA for Polkadot JS

  • Proposer: @akru
  • Payment Address: Ekf4HssuTpYjmUEvzy9AAFuqpUcNm9AAkrMF1stTU6Mo1hR (Kusama)

Project Description 📄​

Hardware wallets provide for end-user much more hight grade of security than traditional software wallets because of moving the private key out of general using PC. The most popular, Trezor (https://trezor.io/) and Ledger (https://www.ledger.com/), supports Ethereum / Bitcoin cryptography (ECDSA) by default. But ECDSA crypto is native for the Polkadot ecosystem too that makes hardware wallets fully compatible with Polkadot applications without any changes in hardware wallet firmware.

This proposal improves already implemented software ECDSA keyring in PolkadotJS (https://github.com/w3f/Open-Grants-Program/pull/6) and planned to be directly integrated into Polkadot JS which is part of the Polkadot ecosystem.

Plasm Network(https://plasmnet.io) is a scaling Dapps platform on Substrate. Plasm Network is planned to be a parachain in the Polkadot ecosystem. The Plasm token distribution model involves the use of a lockdrop approach in Ethereum and Bitcoin networks where Secp256k1 cryptography is a de facto standard. Plasm team is highly interested in making lockdrop participation process smoothly as much as possible. ECDSA integration into the Polkadot ecosystem is one of the steps to makes it real.

Team 👥​

Development Roadmap 🔩​

  • Total Estimated Duration: 10 weeks
  • Full-time equivalent (FTE): 0.6
  • Total Costs: 10,000 USDT

Milestone 1​

  • Estimated Duration: 10 weeks
  • Full-time equivalent (FTE): 0.6
  • Costs: 10,000 USDT

Ledger API support for Polkadot JS Apps.

NumberDeliverableSpecification
1.Ledger API ECDSA signerIntroducing Ledger API based signed for Polkadot JS. Required API methods already exposed by standard Ledger API: getPublicKey, signMessage.
2.Improve documentationAdd Ledger hardware wallet paragraph into Polkadot-js documentation.
3.Demo videoProvide demo video of Polkadot Apps sign transaction with Trezor wallet.