summaryrefslogtreecommitdiff
path: root/7b/6caf6d5f678b6c936d4559806be42321dbcc29
blob: 3ec760f5aa5f0cb11e71f7207f4901362388b2a9 (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
Return-Path: <john@netpurgatory.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id F1CBA941
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed,  7 Nov 2018 16:26:18 +0000 (UTC)
X-Greylist: delayed 00:06:48 by SQLgrey-1.7.6
Received: from bird.maple.relay.mailchannels.net
	(bird.maple.relay.mailchannels.net [23.83.214.17])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 48020824
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed,  7 Nov 2018 16:26:18 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|john@netpurgatory.com
Received: from relay.mailchannels.net (localhost [127.0.0.1])
	by relay.mailchannels.net (Postfix) with ESMTP id 15DA53E4A58;
	Wed,  7 Nov 2018 16:19:30 +0000 (UTC)
Received: from pdx1-sub0-mail-a2.g.dreamhost.com (unknown [100.96.19.74])
	(Authenticated sender: dreamhost)
	by relay.mailchannels.net (Postfix) with ESMTPA id A72873E490B;
	Wed,  7 Nov 2018 16:19:29 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|john@netpurgatory.com
Received: from pdx1-sub0-mail-a2.g.dreamhost.com (pop.dreamhost.com
	[64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
	by 0.0.0.0:2500 (trex/5.16.2); Wed, 07 Nov 2018 16:19:30 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|john@netpurgatory.com
X-MailChannels-Auth-Id: dreamhost
X-Trouble-Supply: 38d9c7d272fb74e5_1541607569827_1176646570
X-MC-Loop-Signature: 1541607569827:3660453492
X-MC-Ingress-Time: 1541607569825
Received: from pdx1-sub0-mail-a2.g.dreamhost.com (localhost [127.0.0.1])
	by pdx1-sub0-mail-a2.g.dreamhost.com (Postfix) with ESMTP id 56CF17F61D;
	Wed,  7 Nov 2018 08:19:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=netpurgatory.com; h=date
	:from:reply-to:to:subject:in-reply-to:message-id:references
	:mime-version:content-type; s=netpurgatory.com; bh=sfoxNpeYf6nH4
	9Z8lROfyHClt2c=; b=0+kWk7UOO9EdkPLDu0qd+mJ+EQ0ONIwaUPPY73RrIa7rM
	lAWSjDLzF1v+47tp9Pb/VQNkEhF4oKqLbH+gqHaZqO+9B2grI57RdLbz05mQf07y
	30X6FeXzLNQPdX7K0KmmswjSix8DBYYxjqKloObTcfRdVV3aiNa8KsUSFh/KpI=
Received: from triforce (pool-173-68-24-177.nycmny.fios.verizon.net
	[173.68.24.177])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	(Authenticated sender: john@netpurgatory.com)
	by pdx1-sub0-mail-a2.g.dreamhost.com (Postfix) with ESMTPSA id
	B2C9C7F61C; Wed,  7 Nov 2018 08:19:28 -0800 (PST)
Date: Wed, 7 Nov 2018 11:19:26 -0500 (EST)
X-DH-BACKEND: pdx1-sub0-mail-a2
From: "John C. Vernaleo" <john@netpurgatory.com>
X-X-Sender: jcv@triforce
Reply-To: john@netpurgatory.com
To: =?KOI8-R?B?4dLUo80g7MnU18nOz9fJ3g==?= <theartlav@gmail.com>, 
	Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
In-Reply-To: <CAJRVQkCn6Kd90q9BBkZuB2cUOUA0JuBmXcaj06RkrnnG3CVEVA@mail.gmail.com>
Message-ID: <alpine.DEB.2.20.1811071117150.31667@triforce>
References: <mailman.37.1541592011.22359.bitcoin-dev@lists.linuxfoundation.org>
	<CAJRVQkCn6Kd90q9BBkZuB2cUOUA0JuBmXcaj06RkrnnG3CVEVA@mail.gmail.com>
User-Agent: Alpine 2.20 (DEB 67 2015-01-07)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-310631254-1541607569=:31667"
X-VR-OUT-STATUS: OK
X-VR-OUT-SCORE: 0
X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedrjeelgdejvdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecunecujfgurhepfffhrhfvufgjkfhffgggtgesmhdtreertderjeenucfhrhhomhepfdflohhhnhcuvedrucggvghrnhgrlhgvohdfuceojhhohhhnsehnvghtphhurhhgrghtohhrhidrtghomheqnecuffhomhgrihhnpehnvghtphhurhhgrghtohhrhidrtghomhdplhhinhhugihfohhunhgurghtihhonhdrohhrghenucfkphepudejfedrieekrddvgedrudejjeenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepthhrihhfohhrtggvpdhinhgvthepudejfedrieekrddvgedrudejjedprhgvthhurhhnqdhprghthhepfdflohhhnhcuvedrucggvghrnhgrlhgvohdfuceojhhohhhnsehnvghtphhurhhgrghtohhrhidrtghomheqpdhmrghilhhfrhhomhepjhhohhhnsehnvghtphhurhhgrghtohhrhidrtghomhdpnhhrtghpthhtohepsghithgtohhinhdquggvvheslhhishhtshdrlhhinhhugihfohhunhgurghtihhonhdrohhrghenucevlhhushhtvghrufhiiigvpedt
X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID, DKIM_VALID_AU,
	RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
X-Mailman-Approved-At: Thu, 08 Nov 2018 04:50:18 +0000
Subject: Re: [bitcoin-dev] Considering starting a toy full-node
 implementation. Any advice?
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
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: Wed, 07 Nov 2018 16:26:19 -0000

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-310631254-1541607569=:31667
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

One point on the dataset issue that I learned early on in the btcd days:
you will be downloading the blockchain over and over again and that is no=
t=20
good for an ssd or even worse an sd card.  I broke more than one sd card=20
making sure btcd worked on a raspberry pi.

-------------------------------------------------------
John C. Vernaleo, Ph.D.
www.netpurgatory.com
john@netpurgatory.com
-------------------------------------------------------

On Wed, 7 Nov 2018, =D0=90=D1=80=D1=82=D1=91=D0=BC =D0=9B=D0=B8=D1=82=D0=B2=
=D0=B8=D0=BD=D0=BE=D0=B2=D0=B8=D1=87 via bitcoin-dev wrote:

> Hi there.
>
> Been there, done that.
>
> -Don't try to set big goals at once.
> Start small and aim for small steps, i.e. by connecting to nodes, then
> getting some data from them, then downloading blocks, then parsing
> blocks, then building an UTXO set, etc.
> My first long term goal was to simply compute the balance of an address=
.
>
> -Expect to work with huge and varied sets of data.
> You'll have to build and use tens of Gb of indexes, for example.
> Early transactions also have all sorts of non-standard scripts, and
> testnet have all sorts of weird non-standard scripts, so plan
> accordingly.
>
> -Don't write off making a wallet or mining.
> The latter is easy to do on CPU on testnet and learning to make valid
> blocks helps a lot in understanding how things work.
> A wallet, on the other hand, gives you good understanding of keys and
> transactions, especially if you want to try doing all the EC math
> yourself.
> I also wrote things to be generic between several forks and chains,
> like Litecoin, Doge, Zcash and a bunch of now-dead alts - there is so
> little difference between many of them that all it takes is a
> parameter or two. Helps with perspective.
> Naturally, stay away from mainnets and real money if you do your own
> wallet and crypto.
>
> -Don't get too excited when you'd see exploitable signatures.
> All of them were plundered years ago, and by now no one makes mistakes
> like that.
> Also, there are plenty of bots which are constantly scanning the chain
> for weak keys and signatures, any new ones will be gone in a few
> seconds.
>
> -Expect cthulhus. There used to be plenty of artwork and puzzles in
> the early blockchain.
> Here is a short write up with a few of the things i found: https www
> dot ribbonfarm dot
> com/2017/07/20/the-ominouslier-roar-of-the-bitcoin-wave/
>
>
> For references, good ones i found and used were:
> https bitcoin dot org/en/developer-reference
> https en dot bitcoin dot it/wiki/Protocol_documentation
> Also, BIPs contain a lot of specific details: https github dot com/bitc=
oin/bips
> That should get you started, and by the time you get into the devilish
> details you'll have to look at the code for reference.
>
> No idea about 3), haven't looked at it.
>
> Good luck and have fun.
> -Artem
>
> =D1=81=D1=80, 7 =D0=BD=D0=BE=D1=8F=D0=B1. 2018 =D0=B3. =D0=B2 15:01, <b=
itcoin-dev-request@lists.linuxfoundation.org>:
>>
>> Date: Tue, 6 Nov 2018 23:21:11 +0200
>> From: rze <rzeqeu@gmail.com>
>> To: bitcoin-dev@lists.linuxfoundation.org
>> Subject: [bitcoin-dev] Considering starting a toy full-node implementa=
tion. Any advice?
>>
>> Hello,
>>
>> I'm considering to start developing a toy full validating node impleme=
ntation (no wallet, no mining) for educational purposes.
>>
>> Some questions:
>>
>> 1) which resource do you suggest for as a reference for the protocol?
>> 2) which part do you suggest to start with?
>> 3) I was thinking to use btcd as a reference since I'm not familiar wi=
th C++ (bitcoind)
>> 4) are there any other general advice or tips for such endeavours?
>>
>> Thanks in advance.
>>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
--8323329-310631254-1541607569=:31667--