EIPs/EIPS/eip-1710.md
Pandapip1 9e393a79d9
Force usage of included LICENSE file (#5055)
* Include LICENCE in the Jekyll build

* Replace old licence link with new and improved licence link

* Add note to EIP-1 mandating the new link

* Maybe this fixes it?

* Rename LICENCE so that jekyll picks it up

* Add original LICENCE file back

* Delete the markdown file

* Add Jekyll header

Hopefully the tooling still detects it as CC0

* Remove Jekyll header

* Maybe this will trick Jekyll and satisfy github?

* Remove config changes

* Enable incremental build

* Will it work if I rename it?

* I'll just paste the content of the licence into the file...

* Perhaps this will work

* Replace the licence file

* Fix false positive

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Resolve feedback

* Perhaps this might work

* It didn't work

This reverts commit 55116e15168fb20ae57dea97388bb260c0941465.

* Will licencee still detect this correctly?

* Jekyll Preamble in licence file

* Include it?

* Licence -> License, get rid of CC0.md

* Force wording of copyright waiver

* Formatting consistent with the rest of the list

* Spelling

* Escape

* Task failed successfully

* Fix two more links

* Will this render it?

* Perhaps this will work too

* .md essential

* Fix the issues Micah noted

Co-authored-by: Micah Zoltu <micah@zoltu.net>
2022-05-06 00:29:09 -07:00

2.8 KiB

eip title author discussions-to status type category created requires
1710 URL Format for Web3 Browsers Bruno Barbieri (@brunobar79) https://ethereum-magicians.org/t/standarize-url-format-for-web3-browsers/2422 Stagnant Standards Track ERC 2019-01-13 155

Simple Summary

A standard way of representing web3 browser URLs for decentralized applications.

Abstract

Since most normal web browsers (specifically on mobile devices) can not run decentralized applications correctly because of the lack of web3 support, it is necessary to differentiate them from normal urls, so they can be opened in web3 browsers if available.

Motivation

Lots of dApps that are trying to improve their mobile experience are currently (deep)linking to specific mobile web3 browsers which are currently using their own url scheme.

In order to make the experience more seamless, dApps should still be able to recommend a specific mobile web3 browser via deferred deeplinking but by having a standard url format, if the user already has a web3 browser installed that implements this standard, it will be automatically linked to it.

There is also a compatibility problem with the current ethereum: url scheme described in EIP-831 where any ethereum related app (wallets, identity management, etc) already registered it and because of iOS unpredictable behavior for multiple apps handling a single url scheme, users can end up opening an ethereum: link in an app that doesn not include a web3 browser and will not be able to handle the deeplink correctly.

Specification

Syntax

Web3 browser URLs contain "dapp" in their schema (protocol) part and are constructed as follows:

request                 = "dapp" ":" [chain_id "@"] dapp_url
chain_id                = 1*DIGIT
dapp_url                = URI

Semantics

chain_id is optional and it is a parameter for the browser to automatically select the corresponding chain ID as specified in EIP-155 before opening the dApp.

dapp_url is a valid RFC3986 URI

This a complete example url:

dapp:1@peepeth.com/brunobar79?utm_source=github

which will open the web3 browser, select mainnet (chain_id = 1) and then navigate to:

https://peepeth.com/brunobar79?utm_source=github

Rationale

The proposed format attempts to solve the problem of vendor specific protocols for web3 browsers, avoiding conflicts with the existing 'ethereum:' URL scheme while also adding an extra feature: chain_id which will help dApps to be accessed with the right network preselected, optionally extracting away that complexity from end users.

Copyright and related rights waived via CC0.