I agree most emphatically that a URI scheme for bitcoin is necessary and desirable.
That said, one of the most important things on the topic was presented by karmicads above in including a diagram entitled "components of a URI".
A "URI scheme" is an extremely simple thing. RFC 3986 (http://tools.ietf.org/html/rfc3986#page-17
) defines a URI Scheme in ABNF as
scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
IANA maintains the official registry of (officially registered) URI schemes. The current list is at http://www.iana.org/assignments/uri-schemes.html
. One will note that, for example, neither magnet nor freenet appear, despite their rather widespread deployment. Likewise skype:, callto:, aim:, and so on.
So, when we are talking about a URI scheme for Bitcoin, please forget about anything that might come after a colon, a slash, a question mark, an ampersand or a semicolon!
I've seen three concrete proposals for a Bitcoin URI scheme on this thread:
Personally, I think that "bitcoin" is the only appropriate option. We could, on this forum, agree right now that "bitcoin" will be Bitcoin's URI scheme, promulgate that fact and begin using it. I will create a specific thread for comments on this proposal right after I post this message.
At the point when someone can persuasively make the case in a formal application against the criteria set out in BCP35 (http://tools.ietf.org/html/bcp35
), that URI scheme can become officially registered.
With regards to the term "URI scheme", remember: everything after the colon is irrelevant!
Now I've stepped in it for sure. Certainly there are very important details remaining regarding how URIs utilizing the bitcoin: URI scheme would be implemented (see theymos above) and how the decisions regarding those details would be made.
Based on this, and at the risk of being overly pedantic, I respond to Satoshi above: anything starting with http: can't be a Bitcoin URI
. What you're getting at there, rather, is a URI format intended to be used as a template for communicating with a local Bitcoin server over the HTTP protocol. It would seem that most of the capability described there has been implemented via the JSON-RPC interface, though via POST rather than a GET.
PS: Datawraith's comment about a Bitcoin URI being more like a mailto URI seems right to me.
PPS: Piggybacking on magnet: seems wrong to me.
PPPS: @melvster: RDF gives me a boner. More?