* Add first draft for release notes for 1.7 * Add high level descriptions of what changed in modules * Add latest commits * Add boilerplate section for verifying sigs
16 KiB
1.7.0 DLC wallet & Installers
Running Bitcoin-S
If you want to run the standalone server binary, after verifying gpg signatures, you
can unzip bitcoin-s-server-1.7.0.zip
and then run it with ./bin/bitcoin-s-server
to start the node. You will need to
configure the node properly first, you can find example
configurations here.
You can then unzip the bitcoin-s-cli-1.7.0.zip
folder and start using the bitcoin-s-cli
like this:
./bin/bitcoin-s-cli --help
Usage: bitcoin-s-cli [options] [<cmd>]
-n, --network <value> Select the active network.
--debug Print debugging information
--rpcport <value> The port to send our rpc request to on the server
-h, --help Display this help message and exit
For more information on what commands bitcoin-s-cli
supports check the documentation, here is where to
start: https://bitcoin-s.org/docs/next/applications/server#server-endpoints
Verifying signatures
This release is signed with Chris's signing key with
fingerprint 339A49229576050819083EB3F99724872F822910
To do the verification, first hash the executable using sha256sum
. You should check that the result is listed in
the SHA256SUMS.asc
file next to its file name. After doing that you can use gpg --verify
to authenticate the
signature.
Example:
UPDATE ME!!!!!!!
$ sha256sum bitcoin-s-server-1.7.0.tgz
aa1084edb5fcd3d1dbcafe0d0fba787abf4cd455bbe38809bd9a65a49c0cd0eb bitcoin-s-server-1.7.0.tgz
$ gpg --verify SHA256SUMS.asc
gpg: Signature made Thu 24 Sep 2020 12:49:39 PM CDT
gpg: using RSA key 339A49229576050819083EB3F99724872F822910
gpg: issuer "stewart.chris1234@gmail.com"
gpg: Good signature from "Chris Stewart <stewart.chris1234@gmail.com>"
Website
Releases
https://repo1.maven.org/maven2/org/bitcoin-s/
Snapshot releases
https://oss.sonatype.org/content/repositories/snapshots/org/bitcoin-s/
Executive Summary
DLC Wallet
This release merges our feature branch called adaptor-dlc
into master. This means
that all DLC features are now in our master
branch.
Installers
We now support installers for mac, windows, and linux (deb) builds. Everytime a PR is merged into master, we publish artifacts for that commit. For more information, please see our website
With these installers, you can install the bitcoin-s wallet and start using DLCs with a rudimentary GUI. In future releases, we will be iterating and improving the GUI user experience.
Versioning changes
To support publishing artifacts for both mac and windows, we had to drop the leading v
on our version scheme.
We also were required by apple to add a leading 1
to our version scheme. Thus, this release will be 1.7.0
rather than the expected version of v0.7.0
.
New modules
DLC wallet
This new module contains all logic for our DLC Wallet
Tor
We are beginning to integrate TOR support into bitcoin-s to for a variety of reasons. In this release, we have added bare bones support, in future releases we will be integrating this deeper into other modules.
Updates for modules
App commons
c72c5f84e3
Add extranious json readers, writers, and column mappers (#3325)
5a79acb59c
Fix DLCStatusPickler (#3190)
App server
This release optimizes the support for bitcoind as a backend in the app server. It also fixes a variety of bugs adds a few new endpoints. You can find all supported end points on our website here
629c2a2c31
Set sync height on new wallet (#3368)
af9bf21058
Improve logs in BitcoindRpcBackendUtil (#3339)
d6878b0226
Use same network as bitcoind backend (#3285)
7ecf3edbd6
Update utxo states correctly for bitcoind backend (#3276)
5036c419be
Add from file ability for AddDLCSigsAndBroadcast DLCs (#3219)
46b33ec0b8
Make add sigs broadcast the funding transaction (#3179)
66e160a918
Send txId instead of full serialized transaction (#3175)
55db4fbd6b
Remove logging requests and responses for directives unless logging is DEBUG level (#3141)
1e87cb0fde
Remove need for bitcoind install with remote (#3114)
11d58813c1
Remove zmq configurations for bitcoind backend setup as they aren't needed (#3080)
8e29b5c6f6
Change outpoint output format for cli commands (#3048)
1cda5cbf1e
Allow remote bitcoind backend (#3034)
507f5c772e
Remove request rejection duplication in ServerRoute (#3010)
Build
Most build related commits are related to automatically publishing installers everytime a commit is merged into master.
d669bd58ae
Resolve bundle config and read/write in tmp file (#3327)
cb5ec20eac
Silence all scaladoc warnings (#3336)
94081502c8
Remove previous stable version usage for windows builds as for some reason it doesn't work when setting up dev envs for the first time (#3292)
6cd85765a5
Try downgrading the jdk to 15 for linux release builds (#3287)
898ebed4e9
Windows packaging (#3210)
11cef133e0
2021 06 15 issue 3266 (#3269)
4c9f174a4b
Remove all flyway plugin sbt config (#3215)
8432712dba
Fix sbt deprecation warnings (#3163)
fcf55df165
2021 05 19 jpackage bundle release (#3108)
aff2374f45
Update README.md (#3071)
9b06cdd832
2021 05 07 cleanup build (#3055)
Bundle
Bundle combines both the GUI and AppServer project and bundles them together to make a standalone application. One problem we encountered this release is how to allow users to configure their node from the GUI on first startup.
In #3142 we added support for this by adding a new configuration file that is automatically generated and written
to ~/.bitcoin-s/bitcoin-s-bundle.conf
. This file saves the user's configuration, and uses it the next
time the bundle is started.
bc79a24f53
Get both bundle and app server logging working (#3362)
2f7e5876d3
Set default neutrino peer based on network (#3360)
bd877c80a9
Get logging working in bundle (#3200)
96fc544572
Fix logging in bundle (#3167)
6c9d82166e
Fix main class in bundle (#3161)
379ffebd9c
Add startup config flow for bundle (#3142)
caf6c2e724
Enable java app packaging on bundle project (#3144)
80e6a91056
Add application.conf to bundle (#3118)
ba91ba5596
Add assembly instructions for bundle project (#3104)
Chain
639043227c
Add logs to make it more apparent that No Common Ancestors isn't necessarily bad (#3354)
Cli
42966b3cbe
Remove logback from the cli module (#3117)
Core
Most changes in the core
module this release is related to optimizing adaptor point computations.
This is very important as when doing numeric DLCs we have to generate thousands of points.
We use parallelism to speed up this computation.
The other notable change in core
is adding DLCAccounting
. This is used to caclulate things like PNL
and rate of return for a DLC you were in.
e098aba680
Create and implement OrderedAnnouncements type (#3356)
78e2fceb90
Use OrderedNonces type in DLC data types (#3352)
a9292fcad8
Add FutureUtil tests (#3126)
d7b753a869
Add invariant and better error message for invalid numeric contract descriptor (#3338)
5685371e11
Sorted and Ordered Vector Type Support (#3310)
9234cf3ca2
Add new BIP 32 leading zero test vectors (#3313)
fc5bb956dc
Try making the dlc fee test suite async (#3227)
bf02e89faa
2021 05 29 dlc pnl (#3198)
4b42b90784
Multi-threaded DLC CET signature verification (#3176)
eafaff9ee8
Made DLCTxSigner's async signing methods actually multi-threaded (#3122)
87f353b08f
DLC Adaptor Point Computation Memoization (#3110)
ac3bae403b
Pulled down all remaining non-wallet non-gui code on adaptor-dlc (#3101)
3205e4e275
Implement createCETsAndCETSigsAsync() to fix performance issue in test (#3089)
58070f4120
Pulled down dlc and dlcTest projects into core and dlcTest (#3068)
aacba1c077
Pulled down core diff from adaptor-dlc (#3038)
a55a97ba6f
Optimize shift operations in Number (#3025)
Crypto
This release for the crypto
module reduces unnecessary computation that was being when
instantiating a ECPrivateKey
and ECPublicKey
pair. This was done to improve performance
when computing adaptor points, for which ECPrivateKey
and ECPublicKey
are used.
745e4c89fa
Removed point multiplication from ECPrivateKey.freshPrivateKey (#3116)
6bc0943a62
Call decompression on public keys less (#2988)
78f4dfb8c6
Pubkey Refactor (#2936)
63a6f9309d
Introduced AsyncAdaptorSign and AdaptorSign traits (#3037)
DB Commons
88187abf1a
Add LnInvoice db mapper (#3286)
dee044eb4e
2021 05 26 uint64 mapper (#3155)
17d1145504
Removed extraneous findAll call from CRUD.updateAll (#3154)
DLC Wallet
cada6fdc63
Fix DLC not storing nSequence for funding inputs (#3342)
Numerous optimization, bug fixes, and support for multi-wallet DLC wallet.
0d2bc7a927
Remove unneeded asInstanceOf calls in DLCWallet (#3345)
cfe0c2f0d8
Multi wallet support for DLC database (#3289)
ca2ddbb7ec
Preserve noncedb outcomes when adding oracle (#3273)
e63a12e47f
Better error message for invalid DLC refunds (#3209)
a526ad14ee
Fix DLC Accounting errors (#3249)
c2237ab6fe
Only unreserve our utxos when canceling a DLC (#3250)
95f6c0d790
Skip adding DLC sigs if we already have them (#3236)
9431be2f25
2021 06 07 dlc wallet pnl (#3229)
a56086b751
Use nonceDb's outcome to calc oracle outcome (#3217)
2269a052b1
Rework findDLC() (#3214)
43a5c5fc49
Add dlc wallet test to postgres matrix (#3199)
0e701bc9d0
Fix verify funding sigs (#3194)
45d24facee
Add announcement data tests (#3173)
dd865c7329
Fix serialId columns to use a String instead of Integer (#3170)
fb81552f6d
Don't fetch all DLC data when canceling DLC (#3159)
80ace5a911
Use groupByExistingAnnouncements when accepting (#3157)
880c8898da
Upsert remote txs in DLC Wallet (#3150)
be8e965367
DLC Wallet pulldown (#3138)
Fee rate provider
a98a26c929
Make mempool.space fee provider network specific (#3316)
41f3cb4dbf
Fix CachedHttpFeeRateProvider (#3069)
GUI
Numerous improvements to the GUI. The most notable is the auto population of a dialogs when files are attached to the dialog or announcements/contract infos are pasted into the dialog.
There is also quality of life improvements such as showing the sync height of the wallet, showing wallet wide PNL and rate of return.
6af9e47e38
Fix showing error popups in GUI (#3353)
6414833111
Call trim on DLC message text boxes (#3348)
81fe7d76ee
Remove canceled DLCs from table (#3349)
53cafa7898
Set closing txid on execute from View Dialog (#3340)
1f43a1910f
Add ExplorerEnv.fromBitcoinNetwork() and use for View on Oracle Explorer siteUrl (#3332)
88b99b03b5
Add view on oracle explorer button (#3328)
05204e6235
Make it so table doesn't reorder on single update (#3321)
b8538f0300
Fix DLC Table View not being updated (#3315)
00e11b4930
Fix rows in ViewDLCDialog (#3275)
63083bf642
Make getDLCs async to improve performance (#3222)
935354993b
Populate Broadcast DLC GUI (#3260)
65f096f65a
Populate Sign GUI when choosing a file (#3243)
cd59aff063
Fix for showing txid on send (#3237)
a61c11acfc
Implement sharing of actor systems across the GUI and backend app server (#3220)
1af9465881
Update balance on cancel DLC (#3205)
549d840d02
Only update DLC we are viewing (#3211)
deb0862e07
Fix showing reserved balance instead of unconfirmed in GUI (#3207)
d3f827a127
Update DLC Table with scheduler (#3204)
acc3d228d1
Better messaging while syncing headers (#3202)
4f4c342f80
Sort points in numeric gui (#3203)
ccc4035056
Sync Height on screen (#3196)
5580771f03
Add export and copy result buttons (#3193)
7a5e108ff2
Add button to zip datadir in GUI (#3183)
bcda2467ef
Add error messages for when DLC GUI functions timeout (#3184)
03a0ca5ee9
Add QR Code to get adress dialog (#3186)
604194293c
Replace GUI balance thread with a akka scheduler (#3174)
f8d5202974
Add contract info to ViewDLC (#3177)
957c5c3a8a
Open bundle GUI at last used tab (#3164)
521a1e2555
Remove unused AcceptDLCDialog file (#3158)
180d7dfcd3
Make loading icon appear until server is full started (#3168)
3d728837ee
Add ability to enter contract info in offer dialogue (#3160)
c7bb783b1a
DLC GUI pulldown (#3148)
Lnd rpc
Upgrades to lnd-rpc to support the latest release v0.13.0-beta
639adf1181
Use PaymentHashTag type in LndRpcClient (#3333)
fafc564da8
Update LND to v0.13.0-beta (#3290)
db486163f9
Remove caveat for supressing 2.12.x warnings on lnd rpc (#3057)
Node
This release for node
fixes a bug where we had a race condition when syncing compact filters.
7ba7f8b9ba
Try to add block generate to address in fixture setup to get around compact filter sync edge case (#3231)
41e22b3cbc
2021 05 23 Sync race condition (#3129)
a104787985
Fix Node.sync() bug that was caused by not starting filter header sync from the current best filter headers block hash (#3092)
Oracle
2b8ac08cdc
Give oracle ability to sign messages with private key (#3070)
Oracle explorer Client
c3b982726e
Fix error messages in SbExplorerClient (#3323)
Secp256k1jni
37a4b5c1ea
Add secp256k1jni tests to Mac & Windows CI (#3367)
8374ddf601
Removes dead symlinks for secp256k1 on osx_arm64 (#3279)
b23b5ad55f
Make sure secp256k1 is published for java8, not the class version of the jdk it was built on (#3145)
8b8066d1f3
Fix windows secp bindings (#3075)
Server routes
4146876369
Add DatadirUtil to centralize logic for finding our actual datadir (#3171)
Wallet
This release for the wallet
was focused on optimizing performance when receiving a block.
fdba5ad6be
Silence warning log if no error (#3314)
bd11c84462
Add ability to sweep wallet (#3274)
aaa7b42ae7
Add unit test we can handle spending funds and receiving funds in same tx (#3185)
5caf7ee38b
2021 06 10 cache spendinginfodbs for block (#3245)
af8aaa7bad
2021 06 07 markasspent optimization (#3244)
8574edede7
Move addressDb database read out of inner loop (#3239)
c9798d6842
Test for processing a block we receive and send in (#3189)
701418f89f
Fix issue 3102 to allow a user to create an offer with an announcement embedded inside a contract info that the user's wallet has seen before (#3140)
cea8802c05
parallelize matching compact filters as this is a bottleneck during IBD (#3137)
68c7bc1040
2021 05 21 fetch height parallel (#3124)
9c9e27a8f5
Add optimzations for IBD when the wallet is empty, basically skip all logic for matching filters since there is nothing to match against (#3121)
7468cbec23
Optimize updateUtxoConfirmedStates() to fetch confirmations for blocks in parallel (#3094)
72636b7180
2021 05 09 received utxos (#3063)
f86f90dc32
Add getbalances cli command (#3022)
Tor
02c4505948
Initial Tor support (#3043)
Website
e47cee85d0
Add high level descriptions of what changed in modules
0b5b2adb34
Add first draft for release notes for 1.7
feeb3749bd
Fix most warnings in documentation code (#3358)
50804fe999
Add docs for backing up the wallet (#3351)
cc1cfe6594
Add more explicit instructions for install java9+ for getting-setup.md (#3347)
3ef842eca5
Adjust --depth doc from 100 -> 500 (#3300)
97785561ba
Add link to installers, add docs for requirement of java9+ for development environments (#3299)
cdee40b379
Fixed bitcoin-s-cli dir location under bin (#3293)
410ea15224
update website, remove references to a DLC specific branch (#3280)
13409d29c3
Fix header on configuration.md (#3153)
73668bb66c
Remove old ZMQ config from documentation (#3090)
97a854c5bb
2021 05 07 fix getting setup (#3053)
4381b93afb
2021 05 03 improve release notes (#3019)
d25dff14b4
Add 0.6.0 website (#3020)
zmq
5df7a8bdf3
Add test for ZMQ Polling backend (#3088)