mirror of
https://github.com/bitcoin/bips.git
synced 2025-02-23 15:20:50 +01:00
68 lines
2.9 KiB
Text
68 lines
2.9 KiB
Text
|
<pre>
|
||
|
BIP: MarcoPon-01
|
||
|
Title: URI scheme for Blockchain references / exploration
|
||
|
Author: Marco Pontello <marcopon@gmail.com>
|
||
|
Status: Draft
|
||
|
Type: Standards Track
|
||
|
Created: 29 August 2015
|
||
|
</pre>
|
||
|
|
||
|
==Abstract==
|
||
|
|
||
|
This BIP propose an URI scheme for looking up blocks, transactions, addresses on a Blockchain explorer, or in general to make proper Blockchain references
|
||
|
|
||
|
==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:
|
||
|
|
||
|
<nowiki>blockchain:[//chain]</type/hash></nowiki>
|
||
|
|
||
|
Where:
|
||
|
|
||
|
;chain:
|
||
|
: (optional) to uniquely point to a specific chain, the hash of the corresponding genesis block is used (see [http://https://github.com/jtimon/bitcoin/commit/3191d5e8e75687a27cf466b7a4c70bdc04809d39 Bitcoin src/chainparams.cpp]). In principle some kind of alias/mnemonic could also be used, but that is out of the scope of this BIP, and maybe could be developed in another subsequent one.
|
||
|
|
||
|
;type:
|
||
|
: '''tx''': for transactions.
|
||
|
: '''block''': for blocks (supports both hash or height).
|
||
|
: '''address''': for addresses.
|
||
|
|
||
|
;hash:
|
||
|
: the relevant hash (or height) to refer to.
|
||
|
|
||
|
==Examples==
|
||
|
|
||
|
A transaction on Bitcoin's mainnet:
|
||
|
blockchain:/tx/b462ae6eb8bdae2e060239a2a3ea5d9c3e0f9ef34d9717beb2dcf0ed42cee7da
|
||
|
|
||
|
A block on Bitcoin's mainnet:
|
||
|
blockchain:/block/00000000000000000119af5bcae2926df54ae262e9071a94a99c913cc217cc72
|
||
|
or
|
||
|
blockchain:/block/372338
|
||
|
|
||
|
An address on Bitcoin's mainnet:
|
||
|
blockchain:/address/16EW6Rv9P9AxFDBrZV816dD4sj1EAYUX3f
|
||
|
|
||
|
A transaction on Bitcoin's testnet:
|
||
|
blockchain://000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943/tx/3b95a766d7a99b87188d6875c8484cb2b310b78459b7816d4dfc3f0f7e04281a
|
||
|
|
||
|
==Rationale==
|
||
|
|
||
|
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.
|
||
|
|
||
|
==Copyright==
|
||
|
|
||
|
This document is placed in the public domain.
|
||
|
|