📖 本 EIP 正处于审查阶段。它可能会有变化,希望得到反馈。

EIP-1328: WalletConnect URI Format Source

Define URI format for initiating connections between applications and wallets

作者 ligi, Pedro Gomes
讨论-To https://ethereum-magicians.org/t/wallet-connect-eip/850
状态 Review
类型 Standards Track
分类 ERC
创建日期 2018-08-15
英文版 https://eips.ethereum.org/EIPS/eip-1328

Abstract

This standard defines how the data to connect some application and a wallet can be encoded with a URI. This URI can then be shown either as a QR code or as a link.

Specification

Syntax

WalletConnect request URI with the following parameters:

request       = "wc" ":" topic [ "@" version ][ "?" parameters ]
topic         = STRING
version       = 1*DIGIT
parameters    = parameter *( "&" parameter )
parameter     = key "=" value
key           = STRING
value         = STRING

Semantics

Required parameters are dependent on the WalletConnect protocol version:

For WalletConnect v1.0 protocol (version=1) the parameters are:

  • key - symmetric key used for encryption
  • bridge - url of the bridge server for relaying messages

For WalletConnect v2.0 protocol (version=2) the parameters are:

  • symKey - symmetric key used for encrypting messages over relay
  • relay-protocol - transport protocol for relaying messages
  • relay-data - (optional) transport data for relaying messages

Example

# 1.0
wc:8a5e5bdc-a0e4-4702-ba63-8f1a5655744f@1?bridge=https%3A%2F%2Fbridge.walletconnect.org&key=41791102999c339c844880b23950704cc43aa840f3739e365323cda4dfa89e7a

# 2.0
wc:c9e6d30fb34afe70a15c14e9337ba8e4d5a35dd695c39b94884b0ee60c69d168@2?relay-protocol=waku&symKey=7ff3e362f825ab868e20e767fe580d0311181632707e7c878cbeca0238d45b8b

Rationale

This proposal moves away from the JSON format used in the alpha version of the WalletConnect protocol because it suffered from very inefficient parsing of the intent of the QR code, thereby making it easier to create better QR code parsers APIs for wallets to implement. Also by using a URI instead of JSON inside the QR-Code the Android Intent system can be leveraged.

向后兼容性

Versioning is required as part of the syntax for this URI specification to allow the WalletConnect protocol to evolve and allow backwards-compatibility whenever a new version is introduced.

Security Considerations

URIs should be shared between user devices or applications and no sensitive data is shared within the URI that could compromise the communication or would allow control of the user’s private keys.

Copyright and related rights waived via CC0.

参考文献

Please cite this document as:

ligi, Pedro Gomes, "EIP-1328: WalletConnect URI Format [DRAFT]," Ethereum Improvement Proposals, no. 1328, August 2018. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-1328.