Difference between revisions of "Talk:BIP 0020"

From Bitcoin Wiki
Jump to: navigation, search
(moved "URI End / Ignored part" to the end, is obsolete)
(The bitcoin URL scheme doesn't include "web+" prefix: new section)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
See [[Talk:Main_Page#Header_capitalisation]] before continuing ;) [[User:Genjix|Genjix]] 08:02, 10 January 2011 (GMT)
 
 
Also, consider using SI prefixes. They are standard throughout the world (except America). [[User:Genjix|Genjix]] 08:04, 10 January 2011 (GMT)
 
* SI/decimal is the inferior competition/enemy of the superior Tonal system. That is, to be avoided. (Chinese is a standard language throughout most of the world too! And whatever the currency of China is-- should we not use bitcoins??) [[User:Luke-jr|Luke-jr]] 15:05, 10 January 2011 (GMT)
 
 
 
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
 
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). --[[User:Goonie|Goonie]] 11:21, 23 July 2011 (GMT)
 
sending P2P of course). --[[User:Goonie|Goonie]] 11:21, 23 July 2011 (GMT)
 
== Exponents ==
 
* Wouldn't it be better if we used the more standard "e" to represent the exponent? e.g. 5e8 = 500,000,000. [[User:Weavejester|Weavejester]] 11:18 PM, 18 April 2011 (GMT)
 
: An older draft used this, but when implementing, it was quickly noted to conflict with the 'e' hexadecimal digit. --[[User:Luke-jr|Luke-jr]] 16:04, 19 April 2011 (GMT)
 
:: Thanks for the response! I noticed that flaw shortly after I asked the question, but it looks like the wiki lost the update I posted. Out of interest, what's the benefit for allowing both decimal and hexidecimal notation? [[User:Weavejester|Weavejester]] 20:02 PM, 19 April 2011 (GMT)
 
::: So people can at least some some degree of readability for [[Tonal BitCoin|TBC]] amounts. --[[User:Luke-jr|Luke-jr]] 20:33, 19 April 2011 (GMT)
 
 
* Why are exponents even used to begin with? It is far, far simpler to just use the decimal values and I would almost guarantee that most people will always write their URIs using decimal amounts as its far simpler to write and is still valid.  [[User:BlueMatt|BlueMatt]] 12:46, 20 April 2011 (GMT)
 
  
 
== Fallback URI ==
 
== Fallback URI ==
Line 25: Line 12:
 
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)
  
== Tonal/Hex support ==
+
== Why all the crazy representation stuff? ==
Why is Tonal/Hex part of the spec?  If a couple users want to use a different unit system that is fine, but that doesn't mean we need to complicate the protocol for them.  Tonal already needs to be converted to normal BTC before transferring, why is that not part of this spec.  Also, jgarzik/others showed no interest in implementing URI in the main bitcoin client as long as there is tonal/hex support in the spec.  [[User:BlueMatt|BlueMatt]] 12:51, 20 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:
+
Amounthex, amountdec, exponents.. wtf? Why not settle on one normalized representation, this complicates parsing (and testing of parsers) for no good reason --[[User:Witchspace|Witchspace]] 05:14, 4 August 2011 (GMT)
  
bitcoin:<address>[?<parameters-list>]
+
* 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 [[Units|unit]]. The spec also has examples which can be used for testing. --[[User:Luke-jr|Luke-jr]] 14:04, 10 August 2011 (GMT)
  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:
+
== After Buy URL ==
 +
It might be interesting to include an URL the user is directed to after payment.
  
messageparam    = "label=" *uchar
+
Use case: buy digital goods for mobile devices.
  
(Seems to me that messageparam should have the literal "message=", as opposed to "label=".)
+
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.
  
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:Phelix|Phelix]] 10:19, 22 January 2012 (GMT)
  
[[User:Jerfelix|Jerfelix]] 04:09, 13 June 2011 (GMT)
+
== The bitcoin URL scheme doesn't include "web+" prefix ==
  
== URI End / Ignored part ==
+
https://bitcointalk.org/index.php?topic=128822.0
Edit by OP (phelix): Not necessary - found out a way how to realize this in the QR-Code world.
 
  
For some QR applications it might come in handy to add some characters that are not part of the URI any more. Does a space end the URI? Can everything after a # be ignored?
+
[[User:Ripper234|Ripper234]] ([[User talk:Ripper234|talk]]) 20:56, 2 December 2012 (GMT)
* An "end-of-URI" delimiter would be a QR-Code issue. I'm not sure how the existing implementations would handle a # either, though that seems like it could be logical. Might also try adding &dummy=... --[[User:Luke-jr|Luke-jr]] 13:25, 26 May 2011 (GMT)
 

Latest revision as of 20:56, 2 December 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)

The bitcoin URL scheme doesn't include "web+" prefix

https://bitcointalk.org/index.php?topic=128822.0

Ripper234 (talk) 20:56, 2 December 2012 (GMT)