summaryrefslogtreecommitdiff
path: root/bb/cb2d1df4676c8aae5510b722bc6c6430e173b2
blob: b69ba0411e589e899cd55850fa03e29c3de967f8 (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
Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191]
	helo=mx.sourceforge.net)
	by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <mh.in.england@gmail.com>) id 1V7lBC-0008FZ-Ur
	for bitcoin-development@lists.sourceforge.net;
	Fri, 09 Aug 2013 11:48:26 +0000
Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.219.42 as permitted sender)
	client-ip=209.85.219.42; envelope-from=mh.in.england@gmail.com;
	helo=mail-oa0-f42.google.com; 
Received: from mail-oa0-f42.google.com ([209.85.219.42])
	by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1V7lBB-0008Cy-RU
	for bitcoin-development@lists.sourceforge.net;
	Fri, 09 Aug 2013 11:48:26 +0000
Received: by mail-oa0-f42.google.com with SMTP id i18so6826311oag.15
	for <bitcoin-development@lists.sourceforge.net>;
	Fri, 09 Aug 2013 04:48:20 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.60.47.230 with SMTP id g6mr291388oen.62.1376048900399; Fri,
	09 Aug 2013 04:48:20 -0700 (PDT)
Sender: mh.in.england@gmail.com
Received: by 10.76.84.231 with HTTP; Fri, 9 Aug 2013 04:48:20 -0700 (PDT)
In-Reply-To: <B4D8D241-E758-4806-8B12-C9A78BF1470B@grabhive.com>
References: <B4D8D241-E758-4806-8B12-C9A78BF1470B@grabhive.com>
Date: Fri, 9 Aug 2013 13:48:20 +0200
X-Google-Sender-Auth: B1PTSjxo4qAuzyBSGVcHDTMNmdY
Message-ID: <CANEZrP2c6nsf2z5_hKDfHdO1HEJ+Y+aoiSdfYPMxK_jzrvLEow@mail.gmail.com>
From: Mike Hearn <mike@plan99.net>
To: Wendell <w@grabhive.com>
Content-Type: multipart/alternative; boundary=001a11c2db58e6ea0c04e3825972
X-Spam-Score: -0.5 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(mh.in.england[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1V7lBB-0008Cy-RU
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] SPV client in pure JavaScript?
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Fri, 09 Aug 2013 11:48:27 -0000

--001a11c2db58e6ea0c04e3825972
Content-Type: text/plain; charset=UTF-8

JavaScript is turing complete so of course it can be done. The real
question you're asking is, can it be done in a web app? I think the answer
is I think "no" because web apps aren't allowed to make raw TCP socket
connections.

Now there may be a way around that by using browser-specific things like
extensions or "installable apps" which give your code greater access
permissions. This approach means you essentially use Chrome as your app
platform instead of a JVM, the assumption presumably being that more users
have Chrome than a JVM. The flip side is that users who don't would
probably balk at the idea of installing an entire browser in order to run a
wallet app, whereas a JVM can be bundled and the resulting app acts like
any other. I don't know of a convenient way to "statically link" Chrome
into a regular-looking application.

I personally wouldn't find such a design compelling. Whilst Java isn't
exactly a great language, JavaScript is significantly worse in virtually
all aspects. I don't understand why anyone would want to use JavaScript
outside the browser - you get less safety, less performance, fewer
features, less mature tools and so on. If the end result is an installable
app like any other, all you did is cripple yourself vs the competition
that's using languages/platforms designed for it.



On Fri, Aug 9, 2013 at 1:32 PM, Wendell <w@grabhive.com> wrote:

> To those of you in the know about modern browser tech:
>
> Does it seem at all conceivable that an SPV wallet could be built entirely
> in JavaScript? And if indeed it is within the realm of the possible, how
> would such a thing be safely distributed for use? Would a signed Chrome
> Plugin be an ideal vehicle?
>
> -wendell
>
> grabhive.com | twitter.com/grabhive | gpg: 6C0C9411
>
>
>
> ------------------------------------------------------------------------------
> Get 100% visibility into Java/.NET code with AppDynamics Lite!
> It's a free troubleshooting tool designed for production.
> Get down to code-level detail for bottlenecks, with <2% overhead.
> Download for free and get started troubleshooting in minutes.
> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

--001a11c2db58e6ea0c04e3825972
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">JavaScript is turing complete so of course it can be done.=
 The real question you&#39;re asking is, can it be done in a web app? I thi=
nk the answer is I think &quot;no&quot; because web apps aren&#39;t allowed=
 to make raw TCP socket connections.<div>
<br></div><div>Now there may be a way around that by using browser-specific=
 things like extensions or &quot;installable apps&quot; which give your cod=
e greater access permissions. This approach means you essentially use Chrom=
e as your app platform instead of a JVM, the assumption presumably being th=
at more users have Chrome than a JVM. The flip side is that users who don&#=
39;t would probably balk at the idea of installing an entire browser in ord=
er to run a wallet app, whereas a JVM can be bundled and the resulting app =
acts like any other. I don&#39;t know of a convenient way to &quot;statical=
ly link&quot; Chrome into a regular-looking application.</div>
<div><br></div><div>I personally wouldn&#39;t find such a design compelling=
. Whilst Java isn&#39;t exactly a great language, JavaScript is significant=
ly worse in virtually all aspects. I don&#39;t understand why anyone would =
want to use JavaScript outside the browser - you get less safety, less perf=
ormance, fewer features, less mature tools and so on. If the end result is =
an installable app like any other, all you did is cripple yourself vs the c=
ompetition that&#39;s using languages/platforms designed for it.</div>
<div><br></div></div><div class=3D"gmail_extra"><br><br><div class=3D"gmail=
_quote">On Fri, Aug 9, 2013 at 1:32 PM, Wendell <span dir=3D"ltr">&lt;<a hr=
ef=3D"mailto:w@grabhive.com" target=3D"_blank">w@grabhive.com</a>&gt;</span=
> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">To those of you in the know about modern bro=
wser tech:<br>
<br>
Does it seem at all conceivable that an SPV wallet could be built entirely =
in JavaScript? And if indeed it is within the realm of the possible, how wo=
uld such a thing be safely distributed for use? Would a signed Chrome Plugi=
n be an ideal vehicle?<br>

<br>
-wendell<br>
<br>
<a href=3D"http://grabhive.com" target=3D"_blank">grabhive.com</a> | <a hre=
f=3D"http://twitter.com/grabhive" target=3D"_blank">twitter.com/grabhive</a=
> | gpg: 6C0C9411<br>
<br>
<br>-----------------------------------------------------------------------=
-------<br>
Get 100% visibility into Java/.NET code with AppDynamics Lite!<br>
It&#39;s a free troubleshooting tool designed for production.<br>
Get down to code-level detail for bottlenecks, with &lt;2% overhead.<br>
Download for free and get started troubleshooting in minutes.<br>
<a href=3D"http://pubads.g.doubleclick.net/gampad/clk?id=3D48897031&amp;iu=
=3D/4140/ostg.clktrk" target=3D"_blank">http://pubads.g.doubleclick.net/gam=
pad/clk?id=3D48897031&amp;iu=3D/4140/ostg.clktrk</a><br>___________________=
____________________________<br>

Bitcoin-development mailing list<br>
<a href=3D"mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-develo=
pment@lists.sourceforge.net</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-de=
velopment</a><br>
<br></blockquote></div><br></div>

--001a11c2db58e6ea0c04e3825972--