paritytech / paritytech/json-rpc-interface-spec

Authentication for storage queries

Open
#56 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
37
Forks
6
PR merge metrics
No merged PRs in 30d

Description

Most substrate chains are entirely transparent and everyone has read access to all the storage.
Privacy focused chains, like the Integritee privacy sidechains, on the other hand, only authorize queries based on authentication. (Only the owner of an account can query their own balance)
Apart from that requirement, all else could work like normal substrate rpc.

For easy integration and compatibility with wallets, we suggest to specify authentication for storage queries here.

The node may also define "view keys" (similar to how the proxy pallet works), so we can't generally assume that the authorization is restricted to the signer's own account. Also, some storage may not require authentication, like total supply of tokens or the block number)

It is not yet clear to me, what the best procedure would be for this spec, which are easy to implement for wallets. looking forward to ideas here.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the issue discussion and the existing substrate RPC behavior described there. Work out and document a wallet-compatible procedure for authenticated storage queries, including view keys and storage that remains public. Done means the specification has an agreed authentication model and clearly defines which queries require authorization.

Written by the indexing model from the issue text.

Assessment

Domain
api, authentication, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.