summaryrefslogtreecommitdiff
path: root/99/671cbe703db864d07da96d6e1eee0d7a1b8479
blob: 9d217c2956ad280bee5f04474d6e0dd7a55bd9e7 (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
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193]
	helo=mx.sourceforge.net)
	by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <kristovatlas.lists@gmail.com>) id 1XaJ55-00035x-VX
	for bitcoin-development@lists.sourceforge.net;
	Sat, 04 Oct 2014 06:44:40 +0000
Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.217.180 as permitted sender)
	client-ip=209.85.217.180;
	envelope-from=kristovatlas.lists@gmail.com;
	helo=mail-lb0-f180.google.com; 
Received: from mail-lb0-f180.google.com ([209.85.217.180])
	by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1XaJ53-0002ho-NR
	for bitcoin-development@lists.sourceforge.net;
	Sat, 04 Oct 2014 06:44:39 +0000
Received: by mail-lb0-f180.google.com with SMTP id f15so2078426lbj.11
	for <bitcoin-development@lists.sourceforge.net>;
	Fri, 03 Oct 2014 23:44:31 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.112.25.65 with SMTP id a1mr966557lbg.85.1412405071010; Fri,
	03 Oct 2014 23:44:31 -0700 (PDT)
Received: by 10.152.195.69 with HTTP; Fri, 3 Oct 2014 23:44:30 -0700 (PDT)
Received: by 10.152.195.69 with HTTP; Fri, 3 Oct 2014 23:44:30 -0700 (PDT)
In-Reply-To: <E3D224C5-302E-494C-92CD-7DEC85284201@plan99.net>
References: <E3D224C5-302E-494C-92CD-7DEC85284201@plan99.net>
Date: Sat, 4 Oct 2014 02:44:30 -0400
Message-ID: <CAGH37SJ_vdpM6iWbegggRULVKkg7GV=yNQafWv-hyC4MbfccvA@mail.gmail.com>
From: Kristov Atlas <kristovatlas.lists@gmail.com>
To: Mike Hearn <mike@plan99.net>
Content-Type: multipart/alternative; boundary=001a11c3e92089601d0504932e3f
X-Spam-Score: -0.6 (/)
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
	(kristovatlas.lists[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	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: 1XaJ53-0002ho-NR
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] bitcoinj 0.12
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: Sat, 04 Oct 2014 06:44:40 -0000

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

Congrats, and thanks for your hard work.

I hate to reply to a release that includes a huge number of new features
with yet another feature request, so -- with apologies -- any plans for
bitcoinj to support stealth address sending and/or receiving?

https://wiki.unsystem.net/en/index.php/DarkWallet/Stealth

Sincerely,
Kristov Atlas
On Oct 3, 2014 8:50 AM, "Mike Hearn" <mike@plan99.net> wrote:

> I=E2=80=99m pleased to announce version 0.12 of bitcoinj, one of the worl=
ds most
> popular Bitcoin libraries. It is used by at least four Android wallets,
> three desktop wallets, blockchain.info, Circle, biteasy, CryptoCorp,
> Lighthouse, BlueMatt=E2=80=99s relay network, bitpos, countless alt coin =
wallets,
> for academic research projects and much more.
>
> This release represents 8 months of work. The biggest new feature is HD
> wallets. Other notable enhancements include a bundled Tor client that can
> be activated with one line of code, support for multisig wallets, much
> faster and deterministic ECDSA, many API improvements and big upgrades to
> the included GUI wallet which can be seen in a new screencasted tutorial
> <https://bitcoinj.github.io/simple-gui-wallet>.
>
> The commit hash of bitcoinj 0.12
> is 83a9a71f3fff3f223d0737ad758b519a39dbbd62.
>
> New in this release
>
>    - Privacy enhancements:
>       - Wallets are now hierarchical and deterministic (HD) by default,
>       using the BIP32 specification. Support for mnemonic codes (BIP 39) =
is also
>       included. Change and receive addresses are no longer being reused. =
Old
>       wallets are upgraded in place using the private key of the oldest
>       non-rotating key as the seed bytes, so old backups remain valid.
>       - Thanks to devrandom, we have an integrated Tor mode using the
>       Orchid library. The user does not have to install the Tor client as=
 it=E2=80=99s
>       all pure Java. WalletAppKit users can enable usage of Tor with a si=
ngle
>       line of code. This support should be considered experimental for no=
w.
>    - Thanks to Kosta Korenkov, we have an experimental multisig wallets
>    implementation. Multisig (also =E2=80=9Cmarried=E2=80=9D) wallets are =
HD wallets that are
>    connected to a third party risk analysis service or device. When marri=
ed,
>    the wallet tracks multiple BIP32 key trees, keeps them in sync and sta=
rts
>    vending P2SH addresses.
>       - As part of this work, transaction signing is now pluggable.
>       TransactionSigner implementations can be added to the wallet and wi=
ll be
>       serialized into and out of the users saved wallet file. Signers are=
 given a
>       transaction to sign in sequence. This is intended for risk analysis
>       providers to provide a class that talks to their server to get a si=
gnature
>       of the right form, so that all bitcoinj based wallets can be easily
>       upgraded to support the new provider.
>    - Reject messages are now deserialized and logged, though not yet
>    exposed in the API.
>    - Upgraded to Guava 16 and Bouncy Castle 1.51. Thanks to Peter Dettman
>    and the rest of the Bouncy Castle team, bitcoinj now uses deterministi=
c
>    ECDSA for signing and we=E2=80=99re now using an accelerated secp256k1
>    implementation that exploits the special properties of this curve, for
>    dramatically faster calculations.
>    - Payment protocol code improvements: Some X.509 utility code was
>    refactored out of PaymentSession for general usage. StartCom was added=
 to
>    the default trust store which was promoted to override the system trus=
t
>    store on non-Android platforms. A command line tool to dump requests t=
o
>    stdout was added.
>    - Thanks to Andreas Schildbach:
>       - We are now BIP62 (canonical push encodings) compliant.
>       - A new Coin class replaces usage of BigInteger for marking values
>       that are quantities of bitcoin. Formatting has moved into the new
>       MonetaryFormat class.
>       - The wallet now saves the fee paid on transactions we calculated
>       ourselves. This is useful for putting it into a wallet user interfa=
ce.
>       - Transactions can have user memos and exchange rates attached,
>       that will be saved by the wallet.
>       - Support for decrypting BIP 38 protected private keys has been
>       added.
>       - Checkpoints can now be stored textually as well as in the old
>       binary format.
>    - There is also a new BtcFormat API that provides an alternative to
>    MonetaryFormat that plugs in to the java.text framework.
>    - Added new DNS seed from Addy Yeow.
>    - Wallets can now have string->byte[] mappings attached to them, for
>    lighter weight extensions.
>    - Thanks to Richard Green, there is now a Python version of the
>    ForwardingService program from the getting started tutorial. This show=
s how
>    to use bitcoinj from Python using the Jython interpreter.
>    - bitcoinj now probes localhost for a Bitcoin node and automatically
>    uses that instead of the P2P network, when present. This means any bit=
coinj
>    based app can be easily upgraded from SPV to full security just by run=
ning
>    Core at the same time: no setup needed.
>    - Thanks to Michael Bumann, there are now more example apps showing
>    how to use parts of the API.
>    - WalletTemplate/WalletAppKit improvements. WalletTemplate is a demo
>    app that shows how to create a cross-platform GUI wallet with a modern
>    style and 60fps animations. WalletAppKit is a very high level API for
>    creating apps that have a Bitcoin wallet:
>       - Now supports mnemonic code and restore from seed words. A date
>       picker is provided to cut down on the amount of chain that needs to=
 be
>       rescanned.
>       - Support for encrypting wallets. Password is requested when
>       needed. The difficulty of the scrypt function is selected to always=
 take a
>       fixed number of seconds even if hardware gets more powerful.
>       - Some new animation and utility code backported from Lighthouse.
>       - Tor support
>    - Thanks to Martin Zachrison, the micropayment channels implementation
>    has received various improvements.
>    - Thanks to Eric Tierney (Circle), the Postgres store can now take a
>    custom schema.
>    - The Bloom filtering API has been extended so FilteredBlock objects
>    can now be produced from Block objects given a BloomFilter. Previously
>    there was support for client-side Bloom usage but no implementation of=
 the
>    generation part.
>    - Many other bugfixes, cleanups, minor tweaks and small new APIs.
>
> *Documentation and tutorials*
>
>    - A JavaScript tutorial <https://bitcoinj.github.io/getting-started-js=
> has
>    been added, showing how to use bitcoinj from this language. More tutor=
ials
>    in other languages will come in future.
>    - The =E2=80=9CWorking with the wallet
>    <https://bitcoinj.github.io/working-with-the-wallet>=E2=80=9D document=
 has
>    been significantly extended to cover encryption, watching wallets, HD
>    wallets and multisig/married wallets.
>    - A new document and accompanying screencast
>    <https://bitcoinj.github.io/simple-gui-wallet> shows how to extend the
>    WalletTemplate app to have a transactions list, and then make a
>    native/bundled packages that don=E2=80=99t need the user to install Ja=
va. By
>    following this tutorial you will learn how to make a basic cross platf=
orm
>    desktop wallet of your own.
>    - All other docs were refreshed to the latest APIs.
>
> *API changes*
>
>    - The package name has changed to org.bitcoinj and the core Maven
>    artifact name is now =E2=80=9Cbitcoinj-core=E2=80=9D. You can auto-por=
t most of your code
>    by running find . -name '*.java' \| xargs sed -i .bak
>    's/com.google.bitcoin./import org.bitcoinj./g
>    - Wallet.completeTx now throws more precise unchecked exceptions in
>    edge cases, instead of IllegalArgumentException.
>    - The use of BigInteger to represent quantities of Bitcoin has been
>    replaced with the more efficient, type safe and useful class Coin. Coi=
n is
>    mostly source compatible with BigInteger so you can probably just do a
>    search and replace to update your codebase.
>    Utils.bitcoinValueToFriendlyString and friends moved to CoinFormat.
>    - NetworkParameters.getProofOfWorkLimit was renamed to getMaxTarget
>    for consistency with other Bitcoin codebases.
>    - The library no longer uses the misleading term =E2=80=9Cnanocoins=E2=
=80=9D to mean
>    satoshis (the old term predated the use of the word satoshi to describ=
e the
>    smallest possible amount of bitcoin).
>    - TransactionConfidence no longer tracks total work done.
>    - Because outputs are now shuffled any code during that assumes the
>    ordering is preserved will break. You can set the shuffleOutputs field=
 of
>    SendRequest to false to disable this behaviour if you need to.
>    - The ECKey and HD API=E2=80=99s have changed quite a bit: several
>    constructors were replaced with clearer static factory methods that ma=
ke it
>    more obvious how their parameters are interpreted. The new methods don=
=E2=80=99t
>    change their behaviour depending on the pattern of nulls passed into t=
hem.
>    - Some unit testing utilities have been moved to the new testing
>    subpackage and cleaned up/rearranged. It should be easier to write uni=
t
>    tests for your app that need a simulated network now. DeterministicKey=
 now
>    derives from ECKey.
>    - We now use Utils.HEX.encode() and Utils.HEX.decode() to do
>    translation to and from base 16.
>    - Transaction.hashTransactionForSignature was renamed to just
>    hashForSignature.
>    - The subVer string sent by bitcoinj now has a lower cased first
>    component.
>
>
>
>
> -------------------------------------------------------------------------=
-----
> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
>
> http://pubads.g.doubleclick.net/gampad/clk?id=3D154622311&iu=3D/4140/ostg=
.clktrk
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

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

<p dir=3D"ltr">Congrats, and thanks for your hard work. </p>
<p dir=3D"ltr">I hate to reply to a release that includes a huge number of =
new features with yet another feature request, so -- with apologies -- any =
plans for bitcoinj to support stealth address sending and/or receiving?</p>
<p dir=3D"ltr"><a href=3D"https://wiki.unsystem.net/en/index.php/DarkWallet=
/Stealth">https://wiki.unsystem.net/en/index.php/DarkWallet/Stealth</a></p>
<p dir=3D"ltr">Sincerely,<br>
Kristov Atlas </p>
<div class=3D"gmail_quote">On Oct 3, 2014 8:50 AM, &quot;Mike Hearn&quot; &=
lt;<a href=3D"mailto:mike@plan99.net">mike@plan99.net</a>&gt; wrote:<br typ=
e=3D"attribution"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .=
8ex;border-left:1px #ccc solid;padding-left:1ex"><div style=3D"word-wrap:br=
eak-word">I=E2=80=99m pleased to announce version 0.12 of bitcoinj, one of =
the worlds most popular Bitcoin libraries. It is used by at least four Andr=
oid wallets, three desktop wallets, <a href=3D"http://blockchain.info" targ=
et=3D"_blank">blockchain.info</a>, Circle, biteasy, CryptoCorp, Lighthouse,=
 BlueMatt=E2=80=99s relay network, bitpos, countless alt coin wallets, for =
academic research projects and much more.<div><br></div><div>This release r=
epresents 8 months of work. The biggest new feature is=C2=A0HD wallets. Oth=
er notable enhancements include a bundled Tor client that can be activated =
with one line of code, support for multisig wallets, much faster and determ=
inistic ECDSA, many API improvements and big upgrades to the included GUI w=
allet which can be seen in=C2=A0<a href=3D"https://bitcoinj.github.io/simpl=
e-gui-wallet" target=3D"_blank">a new screencasted tutorial</a>.</div><div>=
<br></div><div>The commit hash of bitcoinj 0.12 is=C2=A083a9a71f3fff3f223d0=
737ad758b519a39dbbd62.=C2=A0</div><div><br></div><div><h2 style=3D"color:rg=
b(56,56,56);font-family:NanLight,sans-serif"><span style=3D"font-weight:nor=
mal">New in this release</span></h2><ul style=3D"padding-left:20px;margin-l=
eft:0px;color:rgb(100,100,100);font-family:NanLight,sans-serif"><li style=
=3D"padding:5px 0px;line-height:1.5em">Privacy enhancements:<ul style=3D"pa=
dding-left:20px;margin-left:0px;list-style-type:disc"><li style=3D"padding:=
5px 0px;line-height:1.5em">Wallets are now hierarchical and deterministic (=
HD) by default, using the BIP32 specification. Support for mnemonic codes (=
BIP 39) is also included. Change and receive addresses are no longer being =
reused. Old wallets are upgraded in place using the private key of the olde=
st non-rotating key as the seed bytes, so old backups remain valid.</li><li=
 style=3D"padding:5px 0px;line-height:1.5em">Thanks to devrandom, we have a=
n integrated Tor mode using the Orchid library. The user does not have to i=
nstall the Tor client as it=E2=80=99s all pure Java. WalletAppKit users can=
 enable usage of Tor with a single line of code. This support should be con=
sidered experimental for now.</li></ul></li><li style=3D"padding:5px 0px;li=
ne-height:1.5em">Thanks to Kosta Korenkov, we have an experimental multisig=
 wallets implementation. Multisig (also =E2=80=9Cmarried=E2=80=9D) wallets =
are HD wallets that are connected to a third party risk analysis service or=
 device. When married, the wallet tracks multiple BIP32 key trees, keeps th=
em in sync and starts vending P2SH addresses.<ul style=3D"padding-left:20px=
;margin-left:0px;list-style-type:disc"><li style=3D"padding:5px 0px;line-he=
ight:1.5em">As part of this work, transaction signing is now pluggable. Tra=
nsactionSigner implementations can be added to the wallet and will be seria=
lized into and out of the users saved wallet file. Signers are given a tran=
saction to sign in sequence. This is intended for risk analysis providers t=
o provide a class that talks to their server to get a signature of the righ=
t form, so that all bitcoinj based wallets can be easily upgraded to suppor=
t the new provider.</li></ul></li><li style=3D"padding:5px 0px;line-height:=
1.5em">Reject messages are now deserialized and logged, though not yet expo=
sed in the API.</li><li style=3D"padding:5px 0px;line-height:1.5em">Upgrade=
d to Guava 16 and Bouncy Castle 1.51. Thanks to Peter Dettman and the rest =
of the Bouncy Castle team, bitcoinj now uses deterministic ECDSA for signin=
g and we=E2=80=99re now using an accelerated secp256k1 implementation that =
exploits the special properties of this curve, for dramatically faster calc=
ulations.</li><li style=3D"padding:5px 0px;line-height:1.5em">Payment proto=
col code improvements: Some X.509 utility code was refactored out of Paymen=
tSession for general usage. StartCom was added to the default trust store w=
hich was promoted to override the system trust store on non-Android platfor=
ms. A command line tool to dump requests to stdout was added.</li><li style=
=3D"padding:5px 0px;line-height:1.5em">Thanks to Andreas Schildbach:<ul sty=
le=3D"padding-left:20px;margin-left:0px;list-style-type:disc"><li style=3D"=
padding:5px 0px;line-height:1.5em">We are now BIP62 (canonical push encodin=
gs) compliant.</li><li style=3D"padding:5px 0px;line-height:1.5em">A new Co=
in class replaces usage of BigInteger for marking values that are quantitie=
s of bitcoin. Formatting has moved into the new MonetaryFormat class.</li><=
li style=3D"padding:5px 0px;line-height:1.5em">The wallet now saves the fee=
 paid on transactions we calculated ourselves. This is useful for putting i=
t into a wallet user interface.</li><li style=3D"padding:5px 0px;line-heigh=
t:1.5em">Transactions can have user memos and exchange rates attached, that=
 will be saved by the wallet.</li><li style=3D"padding:5px 0px;line-height:=
1.5em">Support for decrypting BIP 38 protected private keys has been added.=
</li><li style=3D"padding:5px 0px;line-height:1.5em">Checkpoints can now be=
 stored textually as well as in the old binary format.</li></ul></li><li st=
yle=3D"padding:5px 0px;line-height:1.5em">There is also a new BtcFormat API=
 that provides an alternative to MonetaryFormat that plugs in to the java.t=
ext framework.</li><li style=3D"padding:5px 0px;line-height:1.5em">Added ne=
w DNS seed from Addy Yeow.</li><li style=3D"padding:5px 0px;line-height:1.5=
em">Wallets can now have string-&gt;byte[] mappings attached to them, for l=
ighter weight extensions.</li><li style=3D"padding:5px 0px;line-height:1.5e=
m">Thanks to Richard Green, there is now a Python version of the Forwarding=
Service program from the getting started tutorial. This shows how to use bi=
tcoinj from Python using the Jython interpreter.</li><li style=3D"padding:5=
px 0px;line-height:1.5em">bitcoinj now probes localhost for a Bitcoin node =
and automatically uses that instead of the P2P network, when present. This =
means any bitcoinj based app can be easily upgraded from SPV to full securi=
ty just by running Core at the same time: no setup needed.</li><li style=3D=
"padding:5px 0px;line-height:1.5em">Thanks to Michael Bumann, there are now=
 more example apps showing how to use parts of the API.</li><li style=3D"pa=
dding:5px 0px;line-height:1.5em">WalletTemplate/WalletAppKit improvements. =
WalletTemplate is a demo app that shows how to create a cross-platform GUI =
wallet with a modern style and 60fps animations. WalletAppKit is a very hig=
h level API for creating apps that have a Bitcoin wallet:<ul style=3D"paddi=
ng-left:20px;margin-left:0px;list-style-type:disc"><li style=3D"padding:5px=
 0px;line-height:1.5em">Now supports mnemonic code and restore from seed wo=
rds. A date picker is provided to cut down on the amount of chain that need=
s to be rescanned.</li><li style=3D"padding:5px 0px;line-height:1.5em">Supp=
ort for encrypting wallets. Password is requested when needed. The difficul=
ty of the scrypt function is selected to always take a fixed number of seco=
nds even if hardware gets more powerful.</li><li style=3D"padding:5px 0px;l=
ine-height:1.5em">Some new animation and utility code backported from Light=
house.</li><li style=3D"padding:5px 0px;line-height:1.5em">Tor support</li>=
</ul></li><li style=3D"padding:5px 0px;line-height:1.5em">Thanks to Martin =
Zachrison, the micropayment channels implementation has received various im=
provements.</li><li style=3D"padding:5px 0px;line-height:1.5em">Thanks to E=
ric Tierney (Circle), the Postgres store can now take a custom schema.</li>=
<li style=3D"padding:5px 0px;line-height:1.5em">The Bloom filtering API has=
 been extended so FilteredBlock objects can now be produced from Block obje=
cts given a BloomFilter. Previously there was support for client-side Bloom=
 usage but no implementation of the generation part.</li><li style=3D"paddi=
ng:5px 0px;line-height:1.5em">Many other bugfixes, cleanups, minor tweaks a=
nd small new APIs.</li></ul><p style=3D"line-height:1.5em;color:rgb(100,100=
,100);font-family:NanLight,sans-serif"><b>Documentation and tutorials</b></=
p><ul style=3D"padding-left:20px;margin-left:0px;color:rgb(100,100,100);fon=
t-family:NanLight,sans-serif"><li style=3D"padding:5px 0px;line-height:1.5e=
m">A=C2=A0<a href=3D"https://bitcoinj.github.io/getting-started-js" target=
=3D"_blank">JavaScript tutorial</a>=C2=A0has been added, showing how to use=
 bitcoinj from this language. More tutorials in other languages will come i=
n future.</li><li style=3D"padding:5px 0px;line-height:1.5em">The =E2=80=9C=
<a href=3D"https://bitcoinj.github.io/working-with-the-wallet" target=3D"_b=
lank">Working with the wallet</a>=E2=80=9D document has been significantly =
extended to cover encryption, watching wallets, HD wallets and multisig/mar=
ried wallets.</li><li style=3D"padding:5px 0px;line-height:1.5em">A=C2=A0<a=
 href=3D"https://bitcoinj.github.io/simple-gui-wallet" target=3D"_blank">ne=
w document and accompanying screencast</a>=C2=A0shows how to extend the Wal=
letTemplate app to have a transactions list, and then make a native/bundled=
 packages that don=E2=80=99t need the user to install Java. By following th=
is tutorial you will learn how to make a basic cross platform desktop walle=
t of your own.</li><li style=3D"padding:5px 0px;line-height:1.5em">All othe=
r docs were refreshed to the latest APIs.</li></ul><p style=3D"line-height:=
1.5em;color:rgb(100,100,100);font-family:NanLight,sans-serif"><b>API change=
s</b></p><ul style=3D"padding-left:20px;margin-left:0px;color:rgb(100,100,1=
00);font-family:NanLight,sans-serif"><li style=3D"padding:5px 0px;line-heig=
ht:1.5em">The package name has changed to org.bitcoinj and the core Maven a=
rtifact name is now =E2=80=9Cbitcoinj-core=E2=80=9D. You can auto-port most=
 of your code by running=C2=A0<code style=3D"font-family:monospace,monospac=
e;padding:2px 4px;border:1px solid rgb(204,204,204);background-color:rgb(24=
5,245,245)">find . -name &#39;*.java&#39; \| xargs sed -i .bak &#39;s/com.g=
oogle.bitcoin./import org.bitcoinj./g</code></li><li style=3D"padding:5px 0=
px;line-height:1.5em">Wallet.completeTx now throws more precise unchecked e=
xceptions in edge cases, instead of IllegalArgumentException.</li><li style=
=3D"padding:5px 0px;line-height:1.5em">The use of BigInteger to represent q=
uantities of Bitcoin has been replaced with the more efficient, type safe a=
nd useful class Coin. Coin is mostly source compatible with BigInteger so y=
ou can probably just do a search and replace to update your codebase. Utils=
.bitcoinValueToFriendlyString and friends moved to CoinFormat.</li><li styl=
e=3D"padding:5px 0px;line-height:1.5em">NetworkParameters.getProofOfWorkLim=
it was renamed to getMaxTarget for consistency with other Bitcoin codebases=
.</li><li style=3D"padding:5px 0px;line-height:1.5em">The library no longer=
 uses the misleading term =E2=80=9Cnanocoins=E2=80=9D to mean satoshis (the=
 old term predated the use of the word satoshi to describe the smallest pos=
sible amount of bitcoin).</li><li style=3D"padding:5px 0px;line-height:1.5e=
m">TransactionConfidence no longer tracks total work done.</li><li style=3D=
"padding:5px 0px;line-height:1.5em">Because outputs are now shuffled any co=
de during that assumes the ordering is preserved will break. You can set th=
e shuffleOutputs field of SendRequest to false to disable this behaviour if=
 you need to.</li><li style=3D"padding:5px 0px;line-height:1.5em">The ECKey=
 and HD API=E2=80=99s have changed quite a bit: several constructors were r=
eplaced with clearer static factory methods that make it more obvious how t=
heir parameters are interpreted. The new methods don=E2=80=99t change their=
 behaviour depending on the pattern of nulls passed into them.</li><li styl=
e=3D"padding:5px 0px;line-height:1.5em">Some unit testing utilities have be=
en moved to the new testing subpackage and cleaned up/rearranged. It should=
 be easier to write unit tests for your app that need a simulated network n=
ow. DeterministicKey now derives from ECKey.</li><li style=3D"padding:5px 0=
px;line-height:1.5em">We now use Utils.HEX.encode() and Utils.HEX.decode() =
to do translation to and from base 16.</li><li style=3D"padding:5px 0px;lin=
e-height:1.5em">Transaction.hashTransactionForSignature was renamed to just=
 hashForSignature.</li><li style=3D"padding:5px 0px;line-height:1.5em">The =
subVer string sent by bitcoinj now has a lower cased first component.</li><=
/ul></div><div><br></div></div><br>----------------------------------------=
--------------------------------------<br>
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer<br>
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports<br=
>
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper<br>
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer<br>
<a href=3D"http://pubads.g.doubleclick.net/gampad/clk?id=3D154622311&amp;iu=
=3D/4140/ostg.clktrk" target=3D"_blank">http://pubads.g.doubleclick.net/gam=
pad/clk?id=3D154622311&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>

--001a11c3e92089601d0504932e3f--