summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcoPon <marcopon@gmail.com>2015-11-16 00:44:34 +0100
committerMarco Pontello <marcopon@gmail.com>2015-12-21 15:39:29 +0100
commit29b8eaef022d1e34d57f8cdcde08e72530f2082f (patch)
treeeb0745421ffa17858367a26e11048165da2a7a93
parente84e2d5c38910dce8cb5508eceee9a946b8b2bb6 (diff)
Some clarifications, typos
-rw-r--r--bip-MarcoPon-01.mediawiki21
1 files changed, 17 insertions, 4 deletions
diff --git a/bip-MarcoPon-01.mediawiki b/bip-MarcoPon-01.mediawiki
index c919fe9..b8483c2 100644
--- a/bip-MarcoPon-01.mediawiki
+++ b/bip-MarcoPon-01.mediawiki
@@ -14,7 +14,7 @@ This BIP propose an URI scheme for looking up blocks, transactions, addresses on
==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.).
+Currently a Bitcoin client usually points to an arbitrary blockchain explorer when the user looks for the details of a transaction (es. Bitcoin Wallet uses BitEasy, Mycelium or Electrum uses 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.
@@ -27,7 +27,15 @@ The URI follow this simple form:
Where:
;chain:
-: (optional) to uniquely point to a specific chain, the hash of the corresponding genesis block is used (see [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.
+: (optional) to uniquely point to a specific chain, the hash of the corresponding genesis block is used (leading zeros included). 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. If omitted (which would be the usual case), Bitcoin's mainnet is assumed. As a reference, see for example this code fragment from Bitcoin chainparams.cpp source:
+ const std::map<std::string, uint256> CChainParams::supportedChains =
+ boost::assign::map_list_of
+ ( "main", uint256S("0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"))
+ ( "test", uint256S("0x000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943"))
+ ( "regtest", uint256S("0x0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206"))
+ ;
+
+
;type:
: '''tx''': for transactions.
@@ -35,7 +43,7 @@ Where:
: '''address''': for addresses.
;hash:
-: the relevant hash (or height) to refer to.
+: the relevant hash to refer to (leading zeros included), or block height.
==Examples==
@@ -55,12 +63,17 @@ A transaction on Bitcoin's testnet:
==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.
+From the point of view of a wallet (or other Blockchain related tool) developer 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.
+==Acknowledgements==
+Thanks to Btc Drak for suggesting to provide support for different networks.
+Thanks to Jorge Timon for the idea of using genesis blocks hashes to identify them.
+Thanks to Richard Moore, Matt Whitlock, Andreas Schildbach for suggestions about the structure and hierarchy of the URI scheme.
+
==Copyright==
This document is placed in the public domain.