Bitcoin Forum
May 08, 2024, 06:22:41 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Bitcoin addresses in html and dns  (Read 2857 times)
dantman (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
April 18, 2011, 07:04:23 PM
 #1

Since my background is in web development something came to mind when looking at bitcoin and the bitcoin addresses.

For the sites like xkcd which may accept donations or for other individuals with personal sites.
What about adding a standard for bitcoin addresses in a <link> or perhaps in dns. Like how it's done with OpenID delegation (though OpenID uses <link>, http headers, and there was another bigger format for it you could redirect to by the accepts header), or SPF does.

Something like:
<link rel="bitcoin" href="urn:bitcoin:##################################">
<link rel="bitcoin" title="Your Name Here" href="urn:bitcoin:##################################">
Or a dns entry: example.com IN TXT "v=bitcoin ##################################"

The idea would be to enable bitcoin address discoverability. For the many of us with a web identity, instead of saying hey just donate to my bitcoin address "##################################" being able to just say donate to "my-web-address.com", and bitcoin clients understanding that and like with how in OpenID "my-web-address.com" normalizes to "http://my-web-address.com/" the bitcoin client would check for a dns entry, then try fetching the page and looking for a rel=bitcoin <link>. Someone's bitcoin address could be discovered. I know there is IP address support, but I don't think I'd run a bitcoin client on my web server, and that kind of idea gets really screwy on a wider scale when you throw dynamic ip addresses (whoops you just donated to someone who happened to get assigned the dynamic IP I just lost) and vhosts (You donated to me? No, I don't run a bitcoin client on that ip...... Yup, I guess you just donated to a completely random person who happens to be on the same shared hosting server as I am).
If you see garbage posts (off-topic, trolling, spam, no point, etc.), use the "report to moderator" links. All reports are investigated, though you will rarely be contacted about your reports.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
khal
Hero Member
*****
Offline Offline

Activity: 540
Merit: 500



View Profile WWW
April 18, 2011, 08:22:16 PM
Last edit: April 19, 2011, 04:14:17 PM by khal
 #2

I've created this website for managing public bitcoin identities :
http://bitcoin-contact.org/identity/admin@bitcoin-contact.org

Full thread is here if you need more info :
http://bitcointalk.org/index.php?topic=3791.0
Luke-Jr
Legendary
*
expert
Offline Offline

Activity: 2576
Merit: 1186



View Profile
April 18, 2011, 08:31:08 PM
 #3

https://en.bitcoin.it/wiki/URI_Scheme

dantman (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
April 18, 2011, 08:34:33 PM
 #4

I've created this website for managing public bitcoin identities :
http://bitcoin-contact.org/?identity=admin@bitcoin-contact.org

Full thread is here if you need more info :
http://bitcointalk.org/index.php?topic=3791.0
Yeah, read about that after I posted the thread.

Even so, this is really a standard, distributed, much more like bitcoin itself is. Built on top of the currently existing web protocols.
You could even support it in bitcoin-contact by including the <link> on all of those identity pages, then anyone can pass one of those identity urls directly into a bitcoin client and have it discover it without looking it up and then copy+pasting it into the bitcoin client.

Perhaps I should reconsider the urn: and instead use bitcoin:################################## so that you use it in a <a href="..."> and protocol handlers can be registered to send a signal to the bitcoin client and tell it to open up the send money window. Like how mailto: works.
khal
Hero Member
*****
Offline Offline

Activity: 540
Merit: 500



View Profile WWW
April 18, 2011, 08:49:13 PM
 #5

It would have several advantages to be a distributed system of course.
But if you do it with dns or web sites, this is not so universal, because you must either own a domain name or a website.

With an uri_sheme, you can post your address everwhere you can publish something on internet, IF this uri sheme is allowed => currently almost nowhere.

With my solution, you can publish everywhere you can publish a link. Of course, there is the disadvantage of being centralized, but it's usable everywhere and now. So, both solutions will be used in different contexts (a merchant may use an uri sheme when it will be available, because it's not centralized).
dantman (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
April 18, 2011, 09:02:32 PM
 #6

Consider this an extension to all the current proposals and sites. They're complementary, not competing, each solves separate pieces of the issues.

- Being able to enter xkcd.com into your bitcoin client and having it find a <link> on the homepage and discover the bitcoin address to send to.
- Being able to paste http://bitcoin-contact.org/?identity=admin@bitcoin-contact.org and have the bitcoin client do the same (this proposal does not supplant it, it makes your service even more usable)

- The bitcoin uri scheme lets you initiate a payment from a link on the web.
- bitcoin-contact lets the average person publish an easily addressable address for bitcoins.
- And this proposal lets people who already have a service publish their bitcoin address under the name they already have.
- And combining them together the bitcoin uri scheme lets bitcoin-contact initiate payments by clicking on the bitcoin address on the identity page, and this proposal lets you initiate a payment by pasting a bitcoin-contact url you already have but don't have open into your bitcoin client.

The barrier of having your own website is also not as large if large websites let you publish a bitcoin address from your account. Like putting a bitcoin address into your Wikipedia preferences and people being able to initiate a payment by sending it to http://en.wikipedia.org/wiki/User:Yourname
Luke-Jr
Legendary
*
expert
Offline Offline

Activity: 2576
Merit: 1186



View Profile
April 19, 2011, 03:27:11 PM
 #7

I see the potential use, but it would require Bitcoin clients to support HTTP (arguably not a problem, as JSON-RPC and the current Wallet protocol draft also require it) and more problematic: HTML parsing...

Also, your argument can be used in reverse: nobody could use your suggestion today, but many Bitcoin clients already support normal links to bitcoin: URIs. Sure, I could add a <link/> to my website, but it would have no practical use unless someone installed a (currently non-existent) client for it. I'm sure a simple ECMAScript to rewrite bitcoin: links when support is missing wouldn't be too difficult either...

khal
Hero Member
*****
Offline Offline

Activity: 540
Merit: 500



View Profile WWW
April 20, 2011, 06:30:46 PM
 #8

I see the potential use, but it would require Bitcoin clients to support HTTP (arguably not a problem, as JSON-RPC and the current Wallet protocol draft also require it) and more problematic: HTML parsing...

Also, your argument can be used in reverse: nobody could use your suggestion today, but many Bitcoin clients already support normal links to bitcoin: URIs. Sure, I could add a <link/> to my website, but it would have no practical use unless someone installed a (currently non-existent) client for it. I'm sure a simple ECMAScript to rewrite bitcoin: links when support is missing wouldn't be too difficult either...
Do not contradict me! :p (a smiley is enough ?)

So, to go out of this no usable solutions, here is a patch to send payments to emails, urls and domains : http://bitcointalk.org/index.php?topic=6187.0

Happy ? :p (I let the uri sheme to someone else)
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!