Hacker News new | past | comments | ask | show | jobs | submit login
Bitcoin URL scheme whitelisted in HTML5 (html5.org)
182 points by bpierre on Apr 23, 2013 | hide | past | web | favorite | 56 comments

"Added to HTML5" is misleading. More specifically, the bitcoin scheme was added as a valid scheme that websites may register themselves as handlers for via navigator.registerProtocolHandler, a list that already includes mms: xmpp: webcal: tel: and other misc schemes. It doesn't specify any kind of support for the scheme for the browser.

See http://www.whatwg.org/specs/web-apps/current-work/#whitelist...

Yes, I didn’t know how to be more precise while being concise. I replaced the word “added” with “whitelisted”, thanks.

It should also be made clear that being whitelisted is different from being implemented.

Seems like a horrible and arbitrary idea. What is it meant to achieve? Send a bitcoin to an address? View a block?

HTML5 started off well, but is beginning to morph into a cargo cult of 'cool': the return of mystery navigation, "swipe to navigate", many others.

Clicking the link just opens the client which handles it any way it wishes. However, the Bitcoin URI scheme is documented pretty well already: https://en.bitcoin.it/wiki/URI_Scheme

bitcoin is not the first whitelisted scheme [1], we already have irc, geo, mailto, magnet, mms, news, nntp, sip, sms, smsto, ssh, tel, urn, webcal, xmpp.

[1] http://svn.whatwg.org/webapps/index#whitelisted-scheme

According to the link in the comment:

"The purpose of this URI scheme is to enable users to easily make payments by simply clicking links on webpages or scanning QR Codes."

Source: https://en.bitcoin.it/wiki/BIP_0021

You have given reasons that support the idea that this is arbitrary, but why is it horrible?

Are we going to have to whitelist every currency that will exist in the future? At least have a pay: schema so you do pay:bitcoin.com/... or something.

Most scheme designate a protocol not a action.

Do you suggest that we should have the same scheme for HTTP and HTTPS because in the end both return you a resource ?

Same for ssh: and telnet:, same for xmpp:, msnim:, facetime:, irc:, skype:, etc ?

Exactly. Needs another layer of abstraction to handle competing crypto currencies. BTC was the first, but won't be the last.

Something analogous to the way magnet URIs are used as an extensible scheme for peer-to-peer filesharing links?


Right; perhaps it would be better to introduce a generic URI scheme for paying:


Then you need some standardisation on what 'currency' is anyway, and if you use ISO 4217 you shut out Bitcoin.

Are we going to have to whitelist every currency that will exist in the future?

Why not?

Why stop at currencies ?

Are we now going to have evernote, dropbox, flickr etc ?

No. Evernote, dropbox and flickr are all services implemented by a single organization each. You could just to use HTTP to link to a flickr profile. Bitcoin is decentralized. It is like a protocol. Each user can have his wallet stored in a different service, or even in his computer. The spec allows a wallet service or an application to add itself as a handler for bitcoin: links. Similar to mailto:, the user can choose the application which can listen to those links. It could be gmail, or thunderbird, or outlook.

Its like a protocol but if it was a protocol it could be used by different currencies. Just because it is distributed does not mean it cannot have a URI to identify some metadata about the currency being used.

My point is.. you can have any application or service to handle bitcoin address clicks. You can choose to open your wallet service on any website, or an application which manages your bitcoins stored in your hard disk. It isn't a HTTP link, and there isn't some central web service to transfer bitcoins.

> Its like a protocol but if it was a protocol it could be used by different currencies.

Um, it is.

paypal:// ... googlecheckout:// ... etc://

Both paypal and googlecheckout are implemented in one way. It is not a protocol. Only the service's website can handle the request for payment in those currencies. Bitcoin is decentralized. The user can install/associate any service/application to send bitcoins, much like emails using mailto:

Everyone who maintains the HTML5 spec. is named Mike.

it's a diff of an alphabetical list, it's showing a few lines on either side of the name that was added.

So all the HTML5 spec contributors whose names start with the letters "mike" are called Mike.

I remember speculation that "Satoshi" was someone also named Mike. Coincidence?

What about Mikko?


OK, if I understand correctly this is the WHATWG HTML5, not the W3C HTML5. Are there any browsers actually using WHATWG's spec?

Yes, all of them! :-)

WhatWG HTML is the living standard, and the HTML5 (W3C) spec. is like a snapshot.


Yeah, nothing is simple, but it’s still true most of the time. Feel free to explain better :-)

Basically, the WHATWG and W3C specs have diverged and there is no clear plan for them to meet up again. So, just because WHATWTG has added bitcoin links to their HTML5 spec does not mean that W3C will add bitcoin links to theirs. W3C is generally considered the more respected/"official" spec out of the two. (I would not be surprised if most people who've heard of the W3C have not heard of WHATWG.) I know that browser developers care about being W3C-compliant. I'm not sure whether they care about being WHATWG-compliant.

Browser developers care about being “WhatWG compliant”, because the WhatWG HTML group is composed by browser editors, they work with the W3C HTML5 group, and the HTML5 specification is based on the WhatWG’s HTML document.

Read this if you need more clarifications:



Thanks, this is what I was asking for.

Aren't they picking favorites then?

I mean what about alternatives like litecoin?

Yes. Favorites like http and not gopher.

Litecoin will get whitelisted if it ever becomes important or useful.

If gopher is actually left out I won't be "upgrading" my pages to HTML5. Some of us still use these technologies even if they may not be the latest and greatest.

> Some of us

For very small values of 'some'.

Can you give a couple of (practical!) examples where gopher has not been replaced by http?

Chrome, explorer, opera and safari do not support gopher, and from 4.0 firefox did not support it either (though there is a plug-in).

I was speaking for myself rather than making a principled stand; my site still links back to some documents on my old university's system, via gopher. Perhaps there is an http equivalent that new students would use, but if there is then I don't have access to it.

Me too. Also, If the phone company makes it to where I can't use my 2400 baud modem anymore I am canceling my account.

What does this mean exactly?

It is referring to the registerProtocolHandler function. The function allows you to register handlers for custom schemes, so that you can do clever things with links like <a href="awesome://example.com">awesome</a>.

The "web+something" namespace is what we should be using for our custom scheme handlers, but there are a bunch of other web-related schemes that will be fine to use too... "bitcoin" is one of the OK ones.

It's not a big deal as far as I can see... basically any scheme that is popular enough or documented enough and isn't supposed to launch some external application could probably get white-listed if you asked nicely.

People are way overreacting to this.

HTML already lets arbitrary applications register themselves as protocol handlers at the OS level, so for instance spotify:// links get handled by the correct binary.

All this does is let a website register itself as the handler of a particular protocol. This has obvious uses for instance letting mailto: be handled by Google Mail if the user wants it to be.

I'm not sure why HTML5 has to have a whitelist of protocols that allow websites to register as handlers - it seems like an overhead.

how i can see name of user who committed this?

The name is always "Ian Hickson". He's the only committer on the HTML5 SVN repo:

   $ svn log -q | egrep "^r\d+" | cut -d "|" -f 2 | sort | uniq -c
   7850  ianh

Looks like Mike Hearn, googler and core Bitcoin developer.

This screams bad idea to me...

Care to elaborate?

Maybe because there are many other currencies besides bitcoin, what about ripple, litecoin, etc? Would they alter the standart every time to add one of them?

If those currencies gain traction comparable to Bitcoin, why not? The standard is being changed every day anyway.

I believe they can use "web+litecoin" in the meanwhile. When they'll get enough traction, they may get their designated "top-level" scheme.

Same as with MIME types: application/vnd.org.example.foobar for anyone, application/foobar when you're famous.

Not good. HTML5 shouldn't be opinionated and definitely not in favor of a doomed standard.

I would love to see the reaction here if this was paypal: not bitcoin:

Paypal payment is implemented only using paypal website. It is pointless to add it because no website/app can register as a handler for that URL scheme to implement it in any different way. Bitcoin payment is not centralized and processed by one agency.

It wouldn't be PayPal: though because there's only one PayPal, having a scheme for it would make no sense.

Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact