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
|
Return-Path: <otech47@gmail.com>
Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])
by lists.linuxfoundation.org (Postfix) with ESMTP id F0156C087F
for <bitcoin-dev@lists.linuxfoundation.org>;
Sat, 23 Nov 2019 16:49:33 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
by hemlock.osuosl.org (Postfix) with ESMTP id E6765883E0
for <bitcoin-dev@lists.linuxfoundation.org>;
Sat, 23 Nov 2019 16:49:33 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
Received: from hemlock.osuosl.org ([127.0.0.1])
by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id 2b+em+ucIYy7
for <bitcoin-dev@lists.linuxfoundation.org>;
Sat, 23 Nov 2019 16:49:33 +0000 (UTC)
X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6
Received: from mail-io1-f51.google.com (mail-io1-f51.google.com
[209.85.166.51])
by hemlock.osuosl.org (Postfix) with ESMTPS id 1D29B883C2
for <bitcoin-dev@lists.linuxfoundation.org>;
Sat, 23 Nov 2019 16:49:33 +0000 (UTC)
Received: by mail-io1-f51.google.com with SMTP id z26so8002083iot.8
for <bitcoin-dev@lists.linuxfoundation.org>;
Sat, 23 Nov 2019 08:49:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
bh=tFH3aaOQbwerLwMfdrRs5yliicenI1s4rCyQSIKSp5o=;
b=mzyqTT90+T4yfM3BVJt1aSU/5WurxernlmxdHekZGl40hwrCIc5o8qKfWJDEHiY3tK
vRBRsscKPLVvOq+Z3/XrRqwBds618gB+CJD67aGzAvspAdbJ3EB+mzuYQy4yABmkTyh7
adi2WMaylHhRDlmhsUJ6gzQ2eBgKKJaeUvTJGKErPSqph2jG8Ii8WWnPI2P2iyxJQ14X
lBDLBv3xj88NvHD15btiwXKtEBXPPnEcdIqb4NQLEFmkVZhP6H09E+ClENZ5KAa55IUz
M1PnDptgM0Z8tLM57hdqVBxaGnopePUGgYXxIEc14AFiATdtqtUvkP/Q8SlsrW5FIU+X
6fNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to;
bh=tFH3aaOQbwerLwMfdrRs5yliicenI1s4rCyQSIKSp5o=;
b=G6iO6wh4UwHnik+jxIyeyDPvBoJpdepumrxUS8PTLVSJXHIXD8QdH3JZDXhNrSGBfx
NHTi04iEGt3eA4xCM4JE85zZkEILGOC18wpphCFLMiTharAZ3N7wn1ha8TO/EL7zUDtb
ofxInnlH4ZXQ4EjCM0/KFmQH1KeiEouHGPgU61/2ZRbu2cE7y0uLHIz7QBTt07Dp6Z6c
w69LiHnLarFxzf9XtmpRhmemzxEN0y6MhxtvUvjIVj0ZsJ5j8row/bqmCIj9+bHmS1RX
AiD48ZPWttZps9qKy7uk+uikBp2rOM2yj8APP8Ve+ghnNg8w0r1leCqfQH0Yb3BZ0oD0
BRJg==
X-Gm-Message-State: APjAAAVgXIeg6UlrEPV7O3iVUmmvWgIsM673OMFECWLH+S0nGgUdaJxF
0Oqy0EpORrpdaHo36WaJzNPv2uoh+raCNZ6q2/0=
X-Google-Smtp-Source: APXvYqx8XGSNk5LlHzqG3hB+khnUCV8Y8RykyGqS+OVPNlVLESdgTp5gjYRVx8iyCwBKeR5vqP1+7pZUlvMTXWe8aaM=
X-Received: by 2002:a5e:8e4b:: with SMTP id r11mr10465415ioo.167.1574527772120;
Sat, 23 Nov 2019 08:49:32 -0800 (PST)
MIME-Version: 1.0
References: <CABCTTz6A_ahH_3VZ1stBP4uoqTTcwQCQ_X1Xywdi33etssCioA@mail.gmail.com>
In-Reply-To: <CABCTTz6A_ahH_3VZ1stBP4uoqTTcwQCQ_X1Xywdi33etssCioA@mail.gmail.com>
From: Oscar Lafarga <otech47@gmail.com>
Date: Sat, 23 Nov 2019 17:49:18 +0100
Message-ID: <CAO7Y_eX2egYNw+h_jDGTYx1R5sC1zrTOXOHuJU4rY66rWKRwAw@mail.gmail.com>
To: "M.K. Safi" <msafi@msafi.com>,
Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="0000000000008bd9b3059806507b"
X-Mailman-Approved-At: Sat, 23 Nov 2019 17:34:33 +0000
Subject: Re: [bitcoin-dev] I want to rebuild the GUI in JavaScript
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Bitcoin Protocol 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, 23 Nov 2019 16:49:34 -0000
--0000000000008bd9b3059806507b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Hi MK,
I very much share your interests and curiosities here and actually don't
have an answer on whether it's been tried before.
One of the few things I am imagining is that given the security-focused
nature of the Bitcoin Core software, any vulnerabilities in the way NPM
handles the dependencies of the Electron app would be a very high priority
(see https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)
In NodeJS-land, my sense is that there is a "move fast and break things"
mentality that may have seeped into some practices that may be considered
standard. I have seen some recent developments over the past few years to
address these kinds of issues such as npm-audit (as of Node v6+) but I
would recommend doing some thorough research on this front to make sure
there is a secure dependency management solution in place for such a GUI.
Another comment I'd make is that if we consider the GUI as a layer that is
separate from the protocol layer, this mailing list may not be the best
place to fully discuss this. However I think if anyone here who has been
around longer can contribute info on past attempts at this, it could be
quite productive. This could technically exist as an independent client,
but I guess there's a conversation on whether this new Electron UI would
ever replace the Qt UI, but since it doesn't exist yet it could be far too
early for that.
Thanks,
On Sat, Nov 23, 2019, 2:17 PM M.K. Safi via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:
> I=E2=80=99d like to try to rebuild Bitcoin Core GUI using the JavaScript =
Electron
> framework. My goal is to get a real world understanding of the pros and
> cons of moving from Qt to Electron.
>
> Before I start, I=E2=80=98d like to know if this has been tried before or=
if there
> are ongoing efforts in this direction by anyone?
>
> I spent sometime looking into how to implement this. One approach could b=
e
> for Electron to drive the UI by running bitcoind and communicating with i=
t
> through RPC. But I don=E2=80=99t know if such implementation can achieve
> feature-parity with the Qt implementation. Qt has the advantage of direct
> access to Bitcoin Core code.
>
> Anyways, I just wanted to share these ideas before going further with
> them, so please let me know if you have any information on the above!
> --
> Sent from my iPhone
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
--0000000000008bd9b3059806507b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"auto"><div>Hi MK,<div dir=3D"auto"><br></div><div dir=3D"auto">=
I very much share your interests and curiosities here and actually don'=
t have an answer on whether it's been tried before.</div><div dir=3D"au=
to"><br></div><div dir=3D"auto">One of the few things I am imagining is tha=
t given the security-focused nature of the Bitcoin Core software, any vulne=
rabilities in the way NPM handles the dependencies of the Electron app woul=
d be a very high priority (see <a href=3D"https://www.theregister.co.uk/201=
6/03/23/npm_left_pad_chaos/" target=3D"_blank" rel=3D"noreferrer">https://w=
ww.theregister.co.uk/2016/03/23/npm_left_pad_chaos/</a>)=C2=A0</div><div di=
r=3D"auto"><br></div><div dir=3D"auto">In NodeJS-land, my sense is that the=
re is a "move fast and break things" mentality that may have seep=
ed into some practices that may be considered standard. I have seen some re=
cent developments over the past few years to address these kinds of issues =
such as npm-audit (as of Node v6+) but I would recommend doing some thoroug=
h research on this front to make sure there is a secure dependency manageme=
nt solution in place for such a GUI.</div><div dir=3D"auto"><br></div><div =
dir=3D"auto">Another comment I'd make is that if we consider the GUI as=
a layer that is separate from the protocol layer, this mailing list may no=
t be the best place to fully discuss this. However I think if anyone here w=
ho has been around longer can contribute info on past attempts at this, it =
could be quite productive. This could technically exist as an independent c=
lient, but I guess there's a conversation on whether this new Electron =
UI would ever replace the Qt UI, but since it doesn't exist yet it coul=
d be far too early for that.=C2=A0</div><div dir=3D"auto"><br></div><div di=
r=3D"auto">Thanks,</div><div dir=3D"auto"><br></div><div dir=3D"auto"><br><=
/div><div dir=3D"auto"><br></div><div dir=3D"auto"><br></div><br><br><div c=
lass=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Nov 23, =
2019, 2:17 PM M.K. Safi via bitcoin-dev <<a href=3D"mailto:bitcoin-dev@l=
ists.linuxfoundation.org" rel=3D"noreferrer noreferrer" target=3D"_blank">b=
itcoin-dev@lists.linuxfoundation.org</a>> wrote:<br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex"><div dir=3D"auto">I=E2=80=99d like to try to rebuild Bitco=
in Core GUI using the JavaScript Electron framework. My goal is to get a re=
al world understanding of the pros and cons of moving from Qt to Electron.<=
/div><div dir=3D"auto"><br></div><div dir=3D"auto">Before I start, I=E2=80=
=98d like to know if this has been tried before or if there are ongoing eff=
orts in this direction by anyone?</div><div dir=3D"auto"><br></div><div dir=
=3D"auto">I spent sometime looking into how to implement this. One approach=
could be for Electron to drive the UI by running bitcoind and communicatin=
g with it through RPC. But I don=E2=80=99t know if such implementation can =
achieve feature-parity with the Qt implementation. Qt has the advantage of =
direct access to Bitcoin Core code.</div><div dir=3D"auto"><br></div><div d=
ir=3D"auto">Anyways, I just wanted to share these ideas before going furthe=
r with them, so please let me know if you have any information on the above=
!</div>-- <br><div dir=3D"ltr" data-smartmail=3D"gmail_signature">Sent from=
my iPhone</div>
_______________________________________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" rel=3D"noreferrer =
noreferrer noreferrer" target=3D"_blank">bitcoin-dev@lists.linuxfoundation.=
org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer noreferrer noreferrer noreferrer" target=3D"_blank">https=
://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a><br>
</blockquote></div>
</div></div>
--0000000000008bd9b3059806507b--
|