dfinity / grant-rfps

Grant RFPs and Bounties
Apache License 2.0
52 stars 11 forks source link

RFP-7: Wallet Standard Reference Implementation #32

Closed domwoe closed 9 months ago

domwoe commented 1 year ago

Overview

The IC ecosystem already contains a number of different wallet applications and approaches. However, there is no standard around wallet integration yet. This RFP looks to kickstart the work on a possible wallet standard implementation that works for all dapps and wallets. Applicants are expected to apply for a 25k grant.

We are looking for an open-source implementation of a wallet, a dapp that integrates with that wallet, and a dummy target canister that implements the ICRC-21 (draft) consent message interface. This implementation should then serve as a guiding example for other wallets and dapps on the IC.

Requirements

Considerations

Given that the implementation will be used to derive future ICRC standards related to wallets, extra emphasis is placed on the following points:

Milestones

This grant has three milestones:

  1. Architecture and design of the wallet, dapp, and example target canister as well as the specification for the JSON-RPC messages.
  2. End-to-end hot wallet canister call signing use-case: (a) Dapp requests a signature on a canister call from the wallet. (b) The wallet fetches the consent message from the target canister (if available). (c) User approves / rejects the request. (d) If approved, the wallet signs the canister call and the read_state request and sends it back to the dapp.
  3. End-to-end cold wallet canister call signing use-case: (a) The dapp fetches the consent message from the target canister (if available). (b) Dapp requests signature on the canister call from the wallet and provides the matching consent message. (c) The wallet validates the request and consent message. (d) User approves / rejects the request. (e) If approved, the wallet signs the canister call and the read_state request and sends it back to the dapp.

Milestones 2 and 3 require a live demo of the wallet, dapp, and dummy target canister deployed to the IC as well as passing a security audit (the applicant does not bear the cost of the security audit).

How to apply?

Please submit your application at https://dfinity.org/grants mentioning RFP-7 and selecting the 25k tier. There you'll also find more details about the DFINITY Developer Grants program. Please provide details about your timeline for finishing this project. If you have questions, please post to the following thread on the Developer Forum or the grants channel in the Developer Discord.

References