summaryrefslogtreecommitdiff
path: root/85/0ce3cc8fd68646597416081b849e302f52d837
blob: 8aa145c8b5d602df7a3c08bfd792be3055e44c8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
Return-Path: <me@ricmoo.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 064E6CF2
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Sat, 29 Aug 2015 16:31:50 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-ig0-f179.google.com (mail-ig0-f179.google.com
	[209.85.213.179])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 0A7BAA7
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Sat, 29 Aug 2015 16:31:48 +0000 (UTC)
Received: by igui7 with SMTP id i7so33909806igu.1
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Sat, 29 Aug 2015 09:31:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ricmoo.com; s=google;
	h=content-type:mime-version:subject:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to;
	bh=svBVJ/HLpQms3hQO9Z0tyChl+8nBhq1wcnTBqhspNbY=;
	b=agnXmCJMeQeZMrGw+bpb20sGVUI8swwXcaAYG4K61nStkbqeT8Psn8NWFu0OmKpV02
	tsl68LIZlJFOAxSFfcnE+nG5Y3DPuU6/P2U79SA9wQ9Yu1Es4ZMFzkVuM7Z0s6rqrDdL
	YbQqBOA2EctKlDvUckXh01QG+qcxKxAYa9/K8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20130820;
	h=x-gm-message-state:content-type:mime-version:subject:from
	:in-reply-to:date:cc:content-transfer-encoding:message-id:references
	:to; bh=svBVJ/HLpQms3hQO9Z0tyChl+8nBhq1wcnTBqhspNbY=;
	b=ink7csZxAWMTXdjB4nyyqUf4fGSxHeRSr+IdIp4BDa2j1kbznOTex7hy3gnMvdlyL4
	2T5/owdi5vpoemR5n5v2aWSvhmL1mBHytw0WX60NwWHV14V39VHdXEUZKEecHlxCDupH
	s8zurYs7wruKzpK7SGLhvFjUSZweh0pK9J77P6xiZLzaVnZRZ/9Z5tbNhWgQGGFS9/la
	vBhLd35vw6SG3a1Vqp7sipMV9EQWQzbl72eFC/VlEhgM6GIuBQaizcqb3k3zH6Kt39qf
	0476o7rUI8EEc70bNlYWllJCcRMQaS5yYp9Dr316Re+Rpq9XGcwy8H+CCuZtU9Hmc4U5
	KsGQ==
X-Gm-Message-State: ALoCoQnTlhetnTHVnQx3+uWyglvrkDrRuQqsqZI5hcVWbUoASETX2/RY4asUfY6y1EeYEx0UTP/W
X-Received: by 10.50.79.130 with SMTP id j2mr7428550igx.80.1440865908379;
	Sat, 29 Aug 2015 09:31:48 -0700 (PDT)
Received: from [25.21.55.173] ([24.114.58.46])
	by smtp.gmail.com with ESMTPSA id hv9sm6015439igb.7.2015.08.29.09.31.47
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Sat, 29 Aug 2015 09:31:47 -0700 (PDT)
Content-Type: multipart/alternative;
	boundary=Apple-Mail-E53F70BF-81CD-4538-BEF8-94BBA346D429
Mime-Version: 1.0 (1.0)
From: Richard Moore <me@ricmoo.com>
X-Mailer: iPhone Mail (12H321)
In-Reply-To: <CAE0pACLMcMzHkA=vEx+fiEmq7FA1bXDc4t_hQ+955=r=62V5=g@mail.gmail.com>
Date: Sat, 29 Aug 2015 12:31:45 -0400
Content-Transfer-Encoding: 7bit
Message-Id: <CF21152C-15FA-421C-B369-A9A7DB59865F@ricmoo.com>
References: <CAE0pACLMcMzHkA=vEx+fiEmq7FA1bXDc4t_hQ+955=r=62V5=g@mail.gmail.com>
To: Marco Pontello <marcopon@gmail.com>
X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID, DKIM_VALID_AU, HTML_MESSAGE, MIME_QP_LONG_LINE,
	RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
Cc: "bitcoin-dev@lists.linuxfoundation.org"
	<bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] RFC - BIP: URI scheme for Blockchain exploration
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Development Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Sat, 29 Aug 2015 16:31:50 -0000


--Apple-Mail-E53F70BF-81CD-4538-BEF8-94BBA346D429
Content-Type: text/plain;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

I like the idea of having a standard for this, that all explorers (and even c=
ore, eventually) would understand.

I would recommend 2 changes though. First, using a real URI scheme, blockcha=
in:// so that we can just use normal URL parsing libraries. The bitcoin: thi=
ng 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/00000000000000001003e880d500968d51157f210c632e08a652a=
f3576600198
blockchain://txid/3b95a766d7a99b87188d6875c8484cb2b310b78459b7816d4dfc3f0f7e=
04281a
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 h=
itting 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 l=
ook like? Maybe another, related BIP.

RicMoo

Sent from my self-aware iPhone

.=C2=B7=C2=B4=C2=AF`=C2=B7.=C2=B8=C2=B8.=C2=B7=C2=B4=C2=AF`=C2=B7.=C2=B8=C2=B8=
.=C2=B7=C2=B4=C2=AF`=C2=B7.=C2=B8=C2=B8.=C2=B7=C2=B4=C2=AF`=C2=B7.=C2=B8=C2=B8=
.=C2=B7=C2=B4=C2=AF`=C2=B7.=C2=B8><(((=C2=BA>

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

> On Aug 29, 2015, at 7:48 AM, Marco Pontello via bitcoin-dev <bitcoin-dev@l=
ists.linuxfoundation.org> wrote:
>=20
> 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.
>=20
> BIP: XX
> Title: URI scheme for Blockchain exploration
> Author: Marco Pontello
> Status: Draft
> Type: Standards Track
> Created: 29 August 2015
>=20
> Abstract
> =3D=3D=3D=3D=3D=3D=3D=3D
> This BIP propose a simple URI scheme for looking up blocks, transactions,
> addresses on a Blockchain explorer.
>=20
> Motivation
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> 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).
>=20
> 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.
>=20
> Specification
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> The URI follow this simple form:
>=20
> blockchain: <hash/string> =20
>=20
> Examples:
>=20
> blockchain:00000000000000001003e880d500968d51157f210c632e08a652af357660019=
8
> blockchain:001949
> blockchain:3b95a766d7a99b87188d6875c8484cb2b310b78459b7816d4dfc3f0f7e04281=
a
>=20
> Rationale
> =3D=3D=3D=3D=3D=3D=3D=3D=3D
> 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.=20
>=20
> =46rom 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.
>=20
> 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.
>=20
> 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.
>=20
>=20
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

--Apple-Mail-E53F70BF-81CD-4538-BEF8-94BBA346D429
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D=
utf-8"></head><body dir=3D"auto"><div><span></span></div><div><div>I like th=
e idea of having a standard for this, that all explorers (and even core, eve=
ntually) would understand.</div><div><br></div><div>I would recommend 2 chan=
ges though. First, using a real URI scheme, blockchain:// so that we can jus=
t use normal URL parsing libraries. The bitcoin: thing leads to additional c=
ode to mutate it into a proper URI before passing it to URL parsing. And I t=
hink it would be fine to include the type looking up. For example:</div><div=
><br></div><div>blockchain://blockhash/<span style=3D"background-color: rgba=
(255, 255, 255, 0);">00000000000000001003e880d500968d51157f210c632e08a652af3=
576600198</span></div><div>blockchain://txid/<span style=3D"background-color=
: rgba(255, 255, 255, 0);">3b95a766d7a99b87188d6875c8484cb2b310b78459b7816d4=
dfc3f0f7e04281a</span></div><div>blockchain://block/189000</div><div>blockch=
ain://address/<span style=3D"text-align: center; background-color: rgba(255,=
 255, 255, 0);">1RicMooMWxqKczuRCa5D2dnJaUEn9ZJyn</span></div><div><br></div=
><div>I think this would help the URI be more human understandable as well a=
s give the explorers the ability to optimize a bit what they are looking for=
 when hitting various databases.</div><div><br></div><div><div style=3D"text=
-align: start;"><span style=3D"text-align: center; background-color: rgba(25=
5, 255, 255, 0);">A possible future path could also include blockchain://tx/=
123000/4 for block height, tx index... Another possibility could be blockcha=
in://version which would return a list of supported paths, version of the BI=
P supported, etc.</span></div></div><div><br></div><div>The BIP should also s=
pecify little endian searching. I'm not sure, but would it also make sense f=
or this BIP to include what the return results should look like? Maybe anoth=
er, related BIP.</div><div><br>RicMoo<div><br></div><div>Sent from my self-a=
ware iPhone</div><div><br></div><div>.=C2=B7=C2=B4=C2=AF`=C2=B7.=C2=B8=C2=B8=
.=C2=B7=C2=B4=C2=AF`=C2=B7.=C2=B8=C2=B8.=C2=B7=C2=B4=C2=AF`=C2=B7.=C2=B8=C2=B8=
.=C2=B7=C2=B4=C2=AF`=C2=B7.=C2=B8=C2=B8.=C2=B7=C2=B4=C2=AF`=C2=B7.=C2=B8&gt;=
&lt;(((=C2=BA&gt;</div><div><br></div><div>Richard Moore ~ Founder</div><div=
>Genetic Mistakes Software Inc.</div><div>phone: (778) 882-6125</div><div>em=
ail: <a href=3D"mailto:ricmoo@geneticmistakes.com">ricmoo@geneticmistakes.co=
m</a></div><div>www: <a href=3D"http://GeneticMistakes.com">http://GeneticMi=
stakes.com</a></div><div><br>On Aug 29, 2015, at 7:48 AM, Marco Pontello via=
 bitcoin-dev &lt;<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bi=
tcoin-dev@lists.linuxfoundation.org</a>&gt; wrote:<br><br></div><blockquote t=
ype=3D"cite"><div><div dir=3D"ltr"><div>Hi!</div><div>My first post here, ho=
pe I'm following the right conventions.</div><div>I had this humble idea for=
 a while, so I thought to go ahead and propose</div><div>it.</div><div><br><=
/div><div><div>BIP: XX</div><div>Title: URI scheme for Blockchain exploratio=
n</div><div>Author: Marco Pontello</div><div>Status: Draft</div><div>Type: S=
tandards Track</div><div>Created: 29 August 2015</div><div><br></div><div>Ab=
stract</div><div>=3D=3D=3D=3D=3D=3D=3D=3D</div><div>This BIP propose a simpl=
e URI scheme for looking up blocks, transactions,</div><div>addresses on a B=
lockchain explorer.</div><div><br></div><div>Motivation</div><div>=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D</div><div>The purpose of this URI scheme is to enable use=
rs to handle all the</div><div>requests for details about blocks, transactio=
ns, etc. with their preferred</div><div>tool (being that a web service or a l=
ocal application).</div><div><br></div><div>Currently a Bitcoin client usual=
ly point to an arbitrary blockchain</div><div>explorer when the user look fo=
r the details of a transaction (es. Bitcoin</div><div>Wallet use BitEasy, My=
celium or Electrum use Blockchain.info, etc.).</div><div>Other times resorti=
ng to cut&amp;paste is needed.</div><div>The same happens with posts and mes=
sages that reference some particular</div><div>txs or blocks, if they provid=
e links at all.</div><div><br></div><div>Specification</div><div>=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D</div><div>The URI follow this simple form:</div>=
<div><br></div><div>blockchain: &lt;hash/string&gt; &nbsp;</div><div><br></d=
iv><div>Examples:</div><div><br></div><div>blockchain:00000000000000001003e8=
80d500968d51157f210c632e08a652af3576600198</div><div>blockchain:001949</div>=
<div>blockchain:3b95a766d7a99b87188d6875c8484cb2b310b78459b7816d4dfc3f0f7e04=
281a</div><div><br></div><div>Rationale</div><div>=3D=3D=3D=3D=3D=3D=3D=3D=3D=
</div><div>I thought about using some more complex scheme, or adding qualifi=
ers to</div><div>distinguish blocks from txs, but in the end I think that ke=
eping it simple</div><div>should be practical enough. Blockchain explorers c=
an apply the same</div><div>disambiguation rules they are already using to p=
rocess the usual search</div><div>box.&nbsp;</div><div><br></div><div>=46rom=
 the point of view of a wallet developer (or other tool that need to</div><d=
iv>show any kind of Blockchain references), using this scheme mean that he</=
div><div>can simply make it a blockchain: link and be done with it, without h=
aving</div><div>to worry about any specific Blockchain explorer or provide a=
 means for the</div><div>user to select one.</div><div><br></div><div>Blockc=
hain explorers in turn will simply offer to handle the blockchain:</div><div=
>URI, the first time the user visit their website, or launch/install the</di=
v><div>application, or even set themselves if there isn't already one.</div>=
<div><br></div><div>Users get the convenience of using always their preferre=
d explorer, which</div><div>can be especially handy on mobile devices, where=
 juggling with cut&amp;paste</div><div>is far from ideal.</div><div><br></di=
v></div><div><br></div>
</div>
</div></blockquote><blockquote type=3D"cite"><div><span>____________________=
___________________________</span><br><span>bitcoin-dev mailing list</span><=
br><span><a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-de=
v@lists.linuxfoundation.org</a></span><br><span><a href=3D"https://lists.lin=
uxfoundation.org/mailman/listinfo/bitcoin-dev">https://lists.linuxfoundation=
.org/mailman/listinfo/bitcoin-dev</a></span><br></div></blockquote></div></d=
iv></body></html>=

--Apple-Mail-E53F70BF-81CD-4538-BEF8-94BBA346D429--