Author

Topic: The bitcoin URL scheme doesn't include "web+" prefix (Read 1300 times)

legendary
Activity: 1358
Merit: 1003
Ron Gross
The web+ prefix is meant to designate that a website has registered that protocol handler; Bitcoin isn't a website. The origin of this limitation is probably security concerns, for instance registering protocol handlers for protocols that have no reason at all to go to a website. Note how chrome has a few exceptions like mailto: for where it is agreed that websites should be able to register protocol handlers. Chrome can eventually add bitcoin: to this list if the chrome developers think it is a good idea. In addition it looks like Firefox does not have this limitation.

Hmm, I read the Mozilla page and saw "web+" mentioned there as a security constraint, so I thought the protocol aims for this to be a global restriction. In fact, it's just listed as an implementation detail in Chrome, so it's too specific to consider.

/thread
legendary
Activity: 1120
Merit: 1152
The web+ prefix is meant to designate that a website has registered that protocol handler; Bitcoin isn't a website. The origin of this limitation is probably security concerns, for instance registering protocol handlers for protocols that have no reason at all to go to a website. Note how chrome has a few exceptions like mailto: for where it is agreed that websites should be able to register protocol handlers. Chrome can eventually add bitcoin: to this list if the chrome developers think it is a good idea. In addition it looks like Firefox does not have this limitation.
legendary
Activity: 1358
Merit: 1003
Ron Gross
This is a clickable Bitcoin URI: 1BitcoinEaterAddressDontSendf59kuE

According to MDN, custom URI prefixes must start with "web+". If Blockchain.info/My Wallet wanted to register as a handler for all bitcoin: links via navigator.registerProtocolHandler, they wouldn't be able to.

To fix this, the standard Bitcoin URI prefix should be "web+bitcoin:" instead of "bitcoin:"

Thoughts? Was this discussed when BPI 20 was accepetd?

(The above is based on about 5 minutes of reading, I've never implemented protocol handlers myself ... but at least Chrome seems to need the "web+" prefix)
Jump to: