[Bitcoin-development] BIP21 bitcoin URIs and HTML5

2013-04-24 Thread Mike Hearn
HTML5 allows web apps to register themselves for handling URI schemes, such
as the bitcoin: URI that is already in use and being extended as part of
the payment protocol.

The bad news is that for security reasons there is a whitelist of
acceptable schemes in the spec:

http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-navigator-registerprotocolhandler

The good news is that yesterday I talked to Hixie about it and he added
bitcoin to the whitelist:

http://html5.org/tools/web-apps-tracker?from=7849to=7850

I'm currently finding out what the process is for browser makers to notice
the change (perhaps they watch the spec commit history and nothing needs to
be done), but within a few months most users should have browsers that can
accept bitcoin as a web-app handleable protocol scheme. I suppose IE10
users may be the laggards, but I guess we can live with that for now.

Ian pointed out some errors in the BIP21 spec. What's the process for
amending the BIP? Do we need to create a new one and mark the old one as
replaced, or can we just fix it in place given the relatively exotic nature
of most of the issues? Here's his feedback:


- BNF doesn't say what it's character set is (presumably it's Unicode)

 - bitcoinparams production doesn't define the separator, so in theory
the syntax is ...?label=foomessage=fooother=foo (rather than
...?label=foomessage=foo etc)

- the syntax allows ?amount=FOOamount=1.1 as far as I can tell, since
otherparam matches any name followed by any value, including amount
followed by a bogus value.

- pchar is referenced without definition.

- the simpler syntax is just wrong (it would result in
bitcoin:address?amount=1?label=FOO rather
than bitcoin:address?amount=1label=FOO)

BTW the IETF URL specs are being obsoleted by http://url.spec.whatwg.org/,
at least for Web purposes. In that case matters.
--
Try New Relic Now  We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app,  servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] BIP21 bitcoin URIs and HTML5

2013-04-24 Thread Andreas Schildbach
I had another amendment, which roughly (can't remember the details) has
to do with case-sensitivity of the scheme part and parameter names. If I
remember right, BITCOIN:1d4...?AMOUNT=0.1 would be a correct URI but not
valid in the sense of BIP21 currently.


On 04/24/2013 09:42 AM, Mike Hearn wrote:
 HTML5 allows web apps to register themselves for handling URI schemes,
 such as the bitcoin: URI that is already in use and being extended as
 part of the payment protocol.
 
 The bad news is that for security reasons there is a whitelist of
 acceptable schemes in the spec:
 
 http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-navigator-registerprotocolhandler
 
 The good news is that yesterday I talked to Hixie about it and he added
 bitcoin to the whitelist:
 
 http://html5.org/tools/web-apps-tracker?from=7849to=7850
 
 I'm currently finding out what the process is for browser makers to
 notice the change (perhaps they watch the spec commit history and
 nothing needs to be done), but within a few months most users should
 have browsers that can accept bitcoin as a web-app handleable protocol
 scheme. I suppose IE10 users may be the laggards, but I guess we can
 live with that for now.
 
 Ian pointed out some errors in the BIP21 spec. What's the process for
 amending the BIP? Do we need to create a new one and mark the old one as
 replaced, or can we just fix it in place given the relatively exotic
 nature of most of the issues? Here's his feedback:
 
 
 - BNF doesn't say what it's character set is (presumably it's Unicode)
 
  - bitcoinparams production doesn't define the separator, so in theory
 the syntax is ...?label=foomessage=fooother=foo (rather than
 ...?label=foomessage=foo etc)
 
 - the syntax allows ?amount=FOOamount=1.1 as far as I can tell, since
 otherparam matches any name followed by any value, including amount
 followed by a bogus value.
 
 - pchar is referenced without definition.
 
 - the simpler syntax is just wrong (it would result in
 bitcoin:address?amount=1?label=FOO rather
 than bitcoin:address?amount=1label=FOO)
 
 BTW the IETF URL specs are being obsoleted
 by http://url.spec.whatwg.org/, at least for Web purposes. In that case
 matters.
 
 
 
 --
 Try New Relic Now  We'll Send You this Cool Shirt
 New Relic is the only SaaS-based application performance monitoring service 
 that delivers powerful full stack analytics. Optimize and monitor your
 browser, app,  servers with just a few lines of code. Try New Relic
 and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
 
 
 
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development
 



--
Try New Relic Now  We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app,  servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] BIP21 bitcoin URIs and HTML5

2013-04-24 Thread Gavin Andresen
 Ian pointed out some errors in the BIP21 spec. What's the process for
amending the BIP? Do we need to create a new one and mark the old one as
replaced, or can we just fix it in place given the relatively exotic nature
of most of the issues?

Those all sound like bugs in the BIP; I think they should just be fixed, I
don't think we need a new BIP.

I vote for a new meta-data item in the BIP header:

  Corrected: date

-- 
--
Gavin Andresen
--
Try New Relic Now  We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app,  servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development