From 58f3c8c48649a8b920d05494f4f09aa11f5251a9 Mon Sep 17 00:00:00 2001 From: everdimension Date: Tue, 26 Sep 2023 00:26:36 +0300 Subject: [PATCH] Update EIP-6963: Add RDNS section for motivation and requirements Merged by EIP-Bot. --- EIPS/eip-6963.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/EIPS/eip-6963.md b/EIPS/eip-6963.md index ce76f1b0c766f..02aba935c359d 100644 --- a/EIPS/eip-6963.md +++ b/EIPS/eip-6963.md @@ -75,6 +75,16 @@ data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12 The `icon` string MUST be a data URI as defined in [RFC-2397]. The image SHOULD be squared with 96x96px minimum resolution. The image format is RECOMMENDED to be either lossless or vector based such as PNG, WebP or SVG to make the image easy to render on the DApp. Since SVG images can execute Javascript, applications and libraries MUST render SVG images using the `` tag to ensure no untrusted Javascript execution can occur. +#### RDNS + +The **`rdns`** (Reverse-DNS) property serves to provide an identifier which DApps can rely on to be stable between sessions. The Reverse Domain Name Notation is chosen to prevent namespace collisions. +The Reverse-DNS convention implies that the value should start with a reversed DNS domain name controlled by the Provider. The domain name should be followed by a subdomain or a product name. Example: `com.example.MyBrowserWallet`. + +- The `rdns` value MUST BE a valid [RFC-1034] Domain Name; +- The DNS part of the `rdns` value SHOULD BE an active domain controlled by the Provider; +- DApps MAY reject the Providers which do not follow the Reverse-DNS convention correctly; +- DApps SHOULD NOT use the `rnds` value for feature detection as these are self-attested and prone to impersonation or bad incentives without an additional verification mechanism; feature-discovery and verification are both out of scope of this interface specification. + ### Provider Detail The `EIP6963ProviderDetail` is used as a composition interface to announce a Wallet Provider and related metadata about the Wallet Provider. The `EIP6963ProviderDetail` MUST contain an `info` property of type `EIP6963ProviderInfo` and a `provider` property of type `EIP1193Provider` defined by [EIP-1193](./eip-1193.md). @@ -257,6 +267,7 @@ One advantage to the concurrency Event loop utilized by this design is that it o Copyright and related rights waived via [CC0](../LICENSE.md). +[RFC-1034]: https://www.rfc-editor.org/rfc/rfc1034 [RFC-2119]: https://www.rfc-editor.org/rfc/rfc2119 [RFC-2397]: https://www.rfc-editor.org/rfc/rfc2397 [RFC-3986]: https://www.rfc-editor.org/rfc/rfc3986