I apologize, you are correct, I should not have used the word "real". 

However, if you look at section 3 of the RFC, the first hierarchal level (which 
in http is used to describe hosts) can be any "authority", not necessarily a 
hostname.

So, you could use tx, block, address, etc. as the authority for their paths.

RicMoo

Sent from my self-aware iPhone

.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸><(((º>

Richard Moore ~ Founder
Genetic Mistakes Software Inc.
phone: (778) 882-6125
email: ric...@geneticmistakes.com
www: http://GeneticMistakes.com

> On Aug 29, 2015, at 1:19 PM, Matt Whitlock <b...@mattwhitlock.name> wrote:
> 
> bitcoin:12345 *is* a "real" URI. It's just not an absolute, hierarchical URI 
> (a.k.a. a URL); rather, it's an opaque URI.
> 
> And your suggestion is actually in violation of the URI spec, since 
> "blockhash", "txid", "block", and "address" are not host names.
> 
> More correct would be:
> 
> blockchain:?blockhash=00000000000000001003e880d500968d51157f210c632e08a652af3576600198
> blockchain:?txid=3b95a766d7a99b87188d6875c8484cb2b310b78459b7816d4dfc3f0f7e04281a
> blockchain:?block=189000
> blockchain:?address=1RicMooMWxqKczuRCa5D2dnJaUEn9ZJyn
> 
> You should read the URI syntax RFC: https://tools.ietf.org/html/rfc3986
> 
> 
>> On Saturday, 29 August 2015, at 12:31 pm, Richard Moore via bitcoin-dev 
>> wrote:
>> I like the idea of having a standard for this, that all explorers (and even 
>> core, eventually) would understand.
>> 
>> I would recommend 2 changes though. First, using a real URI scheme, 
>> blockchain:// so that we can just use normal URL parsing libraries. The 
>> bitcoin: thing leads to additional code to mutate it into a proper URI 
>> before passing it to URL parsing. And I think it would be fine to include 
>> the type looking up. For example:
>> 
>> blockchain://blockhash/00000000000000001003e880d500968d51157f210c632e08a652af3576600198
>> blockchain://txid/3b95a766d7a99b87188d6875c8484cb2b310b78459b7816d4dfc3f0f7e04281a
>> blockchain://block/189000
>> blockchain://address/1RicMooMWxqKczuRCa5D2dnJaUEn9ZJyn
>> 
>> I think this would help the URI be more human understandable as well as give 
>> the explorers the ability to optimize a bit what they are looking for when 
>> hitting various databases.
>> 
>> A possible future path could also include blockchain://tx/123000/4 for block 
>> height, tx index... Another possibility could be blockchain://version which 
>> would return a list of supported paths, version of the BIP supported, etc.
>> 
>> The BIP should also specify little endian searching. I'm not sure, but would 
>> it also make sense for this BIP to include what the return results should 
>> look like? Maybe another, related BIP.
>> 
>>> On Aug 29, 2015, at 7:48 AM, Marco Pontello via bitcoin-dev 
>>> <bitcoin-dev@lists.linuxfoundation.org> wrote:
>>> 
>>> Hi!
>>> My first post here, hope I'm following the right conventions.
>>> I had this humble idea for a while, so I thought to go ahead and propose
>>> it.
>>> 
>>> BIP: XX
>>> Title: URI scheme for Blockchain exploration
>>> Author: Marco Pontello
>>> Status: Draft
>>> Type: Standards Track
>>> Created: 29 August 2015
>>> 
>>> Abstract
>>> ========
>>> This BIP propose a simple URI scheme for looking up blocks, transactions,
>>> addresses on a Blockchain explorer.
>>> 
>>> Motivation
>>> ==========
>>> The purpose of this URI scheme is to enable users to handle all the
>>> requests for details about blocks, transactions, etc. with their preferred
>>> tool (being that a web service or a local application).
>>> 
>>> Currently a Bitcoin client usually point to an arbitrary blockchain
>>> explorer when the user look for the details of a transaction (es. Bitcoin
>>> Wallet use BitEasy, Mycelium or Electrum use Blockchain.info, etc.).
>>> Other times resorting to cut&paste is needed.
>>> The same happens with posts and messages that reference some particular
>>> txs or blocks, if they provide links at all.
>>> 
>>> Specification
>>> =============
>>> The URI follow this simple form:
>>> 
>>> blockchain: <hash/string>  
>>> 
>>> Examples:
>>> 
>>> blockchain:00000000000000001003e880d500968d51157f210c632e08a652af3576600198
>>> blockchain:001949
>>> blockchain:3b95a766d7a99b87188d6875c8484cb2b310b78459b7816d4dfc3f0f7e04281a
>>> 
>>> Rationale
>>> =========
>>> I thought about using some more complex scheme, or adding qualifiers to
>>> distinguish blocks from txs, but in the end I think that keeping it simple
>>> should be practical enough. Blockchain explorers can apply the same
>>> disambiguation rules they are already using to process the usual search
>>> box. 
>>> 
>>> From the point of view of a wallet developer (or other tool that need to
>>> show any kind of Blockchain references), using this scheme mean that he
>>> can simply make it a blockchain: link and be done with it, without having
>>> to worry about any specific Blockchain explorer or provide a means for the
>>> user to select one.
>>> 
>>> Blockchain explorers in turn will simply offer to handle the blockchain:
>>> URI, the first time the user visit their website, or launch/install the
>>> application, or even set themselves if there isn't already one.
>>> 
>>> Users get the convenience of using always their preferred explorer, which
>>> can be especially handy on mobile devices, where juggling with cut&paste
>>> is far from ideal.
> 
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to