Talk:BIP 0020: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
Luke-jr (talk | contribs)
m moved Talk:URI Scheme to Talk:BIP 0020: BIP number assigned
Luke-jr (talk | contribs)
syntax sanitized in BIPification
Line 11: Line 11:
== Use-cases - buy this link ==
== Use-cases - buy this link ==
On the buy-this link, perhaps we should also incorporate an optional transaction id or something which would be passed along to the bitcoin client. Not really transaction but some sort of arbitrary data, only meaningful to the merchant. Something an online merchant can use to verify which transaction it has received is relevant to a purchase. [[User:Dantman|Dantman]] 20:45, 18 April 2011 (GMT)
On the buy-this link, perhaps we should also incorporate an optional transaction id or something which would be passed along to the bitcoin client. Not really transaction but some sort of arbitrary data, only meaningful to the merchant. Something an online merchant can use to verify which transaction it has received is relevant to a purchase. [[User:Dantman|Dantman]] 20:45, 18 April 2011 (GMT)
== Incorrect Syntax ==
The proposed syntax doesn't seem to capture the intent of the design.  Here's how it reads on the wiki page:
bitcoin:<address>[?][amount=<size>][&][label=<label>][&][message=<message>]
The above syntax describes the question mark and ampersands as optional, but really they should be mandatory as a separator if multiple parameters are included. According to the proposed specification, above, the following would be an acceptable URI, which I don't believe is a good thing (note the absence of the optional question mark and ampersands):
bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9Lamount=50X8label=Luke-Jrmessage=Donation%20for%20project%20xyz
Perhaps a more exact/correct way to describe the proposed syntax would be:
bitcoin:<address>[?<parameters-list>]
  where <parameters-list> is one or more of the following, separated by ampersand
[amount=<size>]
[label=<label>]
[message=<message>]
The BNF gets close to describing this, but also has issues.  The most glaring to me is this line:
messageparam    = "label=" *uchar
(Seems to me that messageparam should have the literal "message=", as opposed to "label=".)
In addition, the BNF includes a parameter named "version" (which is not in the earlier specification), and also doesn't state that parameters are separated by ampersands.
[[User:Jerfelix|Jerfelix]] 04:09, 13 June 2011 (GMT)


== Why all the crazy representation stuff? ==
== Why all the crazy representation stuff? ==

Revision as of 19:45, 27 January 2012

Has anybody thought about including network addresses (IPv4/IPv6) of the receiving client into the URL? This way, a payment transaction could be sent directly (in addition to sending P2P of course). --Goonie 11:21, 23 July 2011 (GMT)

Fallback URI

On Android an app can register to open with a normal web URI. This has the advantage of acting as a fallback URI in case there is no app that supports bitcoin:. For example we could propose https://en.bitcoin.it/wiki/Send/<address>[?][amount=<size>][&][label=<label>][&][message=<message>]. If the user had a mobile app that supported bitcoin it would have registered https://en.bitcoin.it/wiki/Send/ and be launched. If the user did not have such an app their browser would launch and be directed to https://en.bitcoin.it/wiki/Send/. This page could then inform the user about various apps that support bitcoin transfers and possibly have a link to MyBitcoin as well. Maybe https://bitcoin.org/Send/ would be more appropriate, though that one might not be updated often enough.

  • iPhone support

There is even a way to have this work on iOS devices. Have the web page redirect to the standard bitcoin: scheme. If an app is present to support this the app will launch, if not the browser the will stay open at the explanation page.

  • Upshot

This fallback proposal will make bitcoin QR codes meaningful regardless of if the user has a bitcoin app installed.--BitMark 16:05, 2 April 2011 (GMT)

Use-cases - buy this link

On the buy-this link, perhaps we should also incorporate an optional transaction id or something which would be passed along to the bitcoin client. Not really transaction but some sort of arbitrary data, only meaningful to the merchant. Something an online merchant can use to verify which transaction it has received is relevant to a purchase. Dantman 20:45, 18 April 2011 (GMT)

Why all the crazy representation stuff?

Amounthex, amountdec, exponents.. wtf? Why not settle on one normalized representation, this complicates parsing (and testing of parsers) for no good reason --Witchspace 05:14, 4 August 2011 (GMT)

  • An earlier draft used a simple Satoshi count for amount, but some community members thought it needed to use more high-level units so we ended up with a combination of both. Parsing is not very complicated, and doing it this way allows people writing URIs to easily specify the value they want in any existing unit. The spec also has examples which can be used for testing. --Luke-jr 14:04, 10 August 2011 (GMT)

After Buy URL

It might be interesting to include an URL the user is directed to after payment.

Use case: buy digital goods for mobile devices.

Example: I want to buy a digital newspaper or app via QR code: I scan the code, pay the amount and am then redirected to a refreshing "waiting for payment" page that will show me the content when it considers the transaction valid.

Phelix 10:19, 22 January 2012 (GMT)