Vladimir (OP)
|
|
March 30, 2011, 09:56:16 AM Last edit: June 01, 2013, 02:16:26 AM by Vladimir |
|
.
|
-
|
|
|
Alex Beckenham
|
|
March 30, 2011, 10:07:50 AM |
|
I posted a similar plan just recently, and in reply someone told me that details of a URI scheme are already on the official wiki... sorry I don't have the link. Edit: Here it is... https://en.bitcoin.it/wiki/URI_Scheme
|
|
|
|
Alex Beckenham
|
|
March 30, 2011, 10:33:23 AM |
|
I see what you're saying, however a URL is a Uniform Resource Locator... i.e. It's for locating a resource (retrieving data). That's why I don't think the URL-look is appropriate for actions, like making payments.
Edit: Also, in your example, how would you launch the payment window with a blank amount? (eg. A link to Luke-jr's bitcoin address, with his name pre-filled, but with an amount to be chosen by the person clicking the link).
|
|
|
|
Matt Corallo
|
|
March 30, 2011, 11:11:31 AM |
|
I dont see any reason to reinvent a standard which already works for such a small addition. If a user clicks a bitcoin: link, the bitcoin client should ensure the user knows how much and to who the bitcoins will be transferred, making the url/i human-readable isn't a huge deal. Also, several programs already use the existing standard, why change it now? Lastly, in your standard, how does a client differentiate between a user's name and a transaction comment (the order it is specified in is not very useful especially if someone wants to only specify one of the two). The same applies for the amount for a donation, I dont want to specify how much you have to donate but the user should chose.
|
|
|
|
khal
|
|
March 30, 2011, 11:14:14 AM |
|
I would argue that URI scheme must be as simple as possible and all data must be represented in a way which is bit machine and human readable. I would also argue that "?amount=20.3X8&label=Luke-Jr" is not easily human readable. This syntax is really awful... and the amount format... no comment. We don't need such a complicated one... I only see it as an ego valorization for the creators. Adding variable names in uri : why not, if we need to extend the rfc later (for example, if comments are not included in the blockchain but manageable by a bitcoin plugin, we would need a way to say it to the bitcoin client. We may need to add a server name too), it will be needed. bitcoin:// or bitcoin: - bitcoin:// : more readable by humain (better separation) - bitcoin: : used for mailto:, more standard So, should we prefer a more readable syntax or a more standard one ? (excepting for the amount, i insist...)
|
|
|
|
Alex Beckenham
|
|
March 30, 2011, 11:27:27 AM |
|
This syntax is really awful... and the amount format... no comment.
The hex notation is optional, you can use decimal amounts too.
|
|
|
|
Matt Corallo
|
|
March 30, 2011, 11:38:43 AM |
|
bitcoin: or bitcoin:// why not both, just remove the ? and it should work fine (maybe add the ? to after the address?). Plus again bitcoin: is already used so why not stick with it?
The only real problem I have with the current version is the use of X8 after numbers to indicate 10^8. However, if you read the documentation closely and look at the current implementations, using 10.8 is valid just not recommended. That said, there is an important reason for specifying X8, what if someone wants to change the decimal place in the future? Do we need to change all url/is just to support that?
|
|
|
|
Alex Beckenham
|
|
March 30, 2011, 11:41:49 AM |
|
bitcoin:// is as standard as bitcoin: but as you noted more readable and much more psychologically acceptable for a layman due to similarity to http://
I thought something quite opposite... I thought the reason for using bitcoin: was that it's more psychologically acceptable for a layman due to similarity to mailto:
|
|
|
|
Matt Corallo
|
|
March 30, 2011, 12:09:37 PM |
|
I disagree, I think the best way to approach this is to examine the current URI scheme which is already implemented in several programs and to simply use that, why change what isn't broken?
|
|
|
|
khal
|
|
March 30, 2011, 12:34:46 PM |
|
Here are the 2 proposed URI scheme : - https://en.bitcoin.it/wiki/URI_Scheme- https://en.bitcoin.it/wiki/X-btcThe second one proposes more actions than just "pay" : - store an address in the address book, - add a public/private key pair (and rescan blockchain), - add a transaction (full data or just tx id ?) Do we need some are all of this ?
|
|
|
|
Gavin Andresen
Legendary
Offline
Activity: 1652
Merit: 2300
Chief Scientist
|
|
March 30, 2011, 12:51:35 PM |
|
All this endless talking about the Perfect URI Scheme is very nice.
So is anybody, you know, actually working on IMPLEMENTING something?
You'll need to know how to write browser plugins for Firefox/Safari/Chrome/IE and figure out how to pass arguments to a running bitcoin/bitcoind and know how the bitcoin/bitcoind will prompt the user to confirm the transaction. Oh, and figure out how to get the browser plugin(s) installed when bitcoin is installed.
Deciding on whether it is bitcoin:address or bitcoin://amount/address is the easy part, and I think whoever actually does the work of making this happen should define the standard.
|
How often do you get the chance to work on a potentially world-changing project?
|
|
|
BitterTea
|
|
March 30, 2011, 02:19:31 PM |
|
I've got a working implementation of a bitcoin: URI handler in WalletBuddy. I assume that users won't be running Bitcoin all the time, so when such a link is clicked, it is sent to the payment queue. Any number of payments can be released from the payment queue to Bitcoin whenever Bitcoin is running.
I'm still working on some changes and fixes, but I hope to release an update with this functionality as well as some better documentation soon (hopefully this week).
|
|
|
|
Matt Corallo
|
|
March 30, 2011, 06:51:49 PM |
|
There is also a chrome extension which implements bitcoin: URI properly using RPC. Again, I dont think URI's need to be/are ever human readable. Its up to the client to make the tx human readable before it sends any BTC. How many links on the internet are readable by any average person and how many people actually read their links before clicking them?
|
|
|
|
Luke-Jr
Legendary
Offline
Activity: 2576
Merit: 1186
|
|
March 30, 2011, 07:23:03 PM |
|
Spesmilo also supports bitcoin: URIs
|
|
|
|
sirius
Bitcoiner
Sr. Member
Offline
Activity: 429
Merit: 992
|
|
April 19, 2011, 07:38:08 AM |
|
Any updates on this? I'd like to offer a 50BTC bounty for implementing bitcoin: URIs in the main client.
|
|
|
|
M4v3R
|
|
April 19, 2011, 11:35:44 AM |
|
About implementation - I thought that implementing URI handlers is not a job for browser extensions, but the application itself registers the protocol in users operating system. So it's only a matter of implementing the protocol registration mechanism in Bitcoin client and we're done.
|
|
|
|
BitterTea
|
|
April 19, 2011, 04:12:00 PM |
|
About implementation - I thought that implementing URI handlers is not a job for browser extensions, but the application itself registers the protocol in users operating system. So it's only a matter of implementing the protocol registration mechanism in Bitcoin client and we're done.
Registering is not even half the problem. Once it registers with the OS, it must actually handle such links as well.
|
|
|
|
weavejester
Newbie
Offline
Activity: 22
Merit: 0
|
|
April 19, 2011, 08:25:22 PM |
|
This issue is of some interest to me, so I'll try putting together a branch with a minimal implementation of URI handling. I'll initially support the "bitcoin:<address>" syntax, but without the additional parameters, which can be added later. URI handling will require RPC turned on, and I'm not going to attempt OS protocol registration for now.
|
|
|
|
|
weavejester
Newbie
Offline
Activity: 22
Merit: 0
|
|
April 19, 2011, 10:28:24 PM |
|
Looks like I was beaten to the punch
|
|
|
|
|