pool v0.6.0-beta
Pool is finally graduating to it's beta release with new, cutting-edge market features!
Four new market primitives
-
Order Signalling:
Users' market orders can now be 'unsealed' into a publicly queryable order book to assist bidders/askers matching. [1] -
Taproot / MuSig Pool Accounts
Pool contract state and signing stays off chain decreasing users fees, increasing privacy -
Unannounced Channels:
Refrain from announcing channels to the global graph for more privacy
$ pool orders submit bid --unannounced_channel ...
-
New Market!
v0.6.0
creates the ability for an asker to sell their outbound capacity and graph position/connections.
$ pool orders submit bid --auction_type outbound ...
in addition to Pool default inbound functionality
$ pool orders submit bid --auction_type inbound ...
-
Zero Conf Send/Receive!
Pool offers Zero Conf channels to enable LN payments before block confirmation! Immediately after a Pool batch is broadcast to the mempool.
[1] Change Pool's defaults with the --isPublic=false
flag on orders to keep orders sealed.
Verifying the Release
In order to verify the release, you'll need to have gpg
or gpg2
installed on your system. Once you've obtained a copy (and hopefully verified that as well), you'll first need to import the keys that have signed this release if you haven't done so already:
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys F4FC70F07310028424EFC20A8E4256593F177720
Once you have the required PGP keys, you can verify the release (assuming manifest-v0.6.0-beta.txt
and manifest-v0.6.0-beta.sig
are in the current directory) with:
gpg --verify manifest-v0.6.0-beta.sig manifest-v0.6.0-beta.txt
You should see the following if the verification was successful:
gpg: Signature made Do 25 Nov 2021 10:41:18 CET
gpg: using RSA key F4FC70F07310028424EFC20A8E4256593F177720
gpg: Good signature from "Oliver Gugger <gugger@gmail.com>" [ultimate]
Primary key fingerprint: F4FC 70F0 7310 0284 24EF C20A 8E42 5659 3F17 7720
That will verify the signature of the manifest file, which ensures integrity and authenticity of the archive you've downloaded locally containing the binaries. Next, depending on your operating system, you should then re-compute the sha256
hash of the archive with shasum -a 256 <filename>
, compare it with the corresponding one in the manifest file, and ensure they match exactly.
Verifying the Release Binaries
Our release binaries are fully reproducible. Third parties are able to verify that the release binaries were produced properly without having to trust the release manager(s). See our reproducible builds guide for how this can be achieved. The release binaries are compiled with go1.18.5
, which is required by verifiers to arrive at the same ones.
The make release
command can be used to ensure one rebuilds with all the same flags used for the release. If one wishes to build for only a single platform, then make release sys=<OS-ARCH> tag=<tag>
can be used.
Finally, you can also verify the tag itself with the following command:
The signature on the tag itself can be verified with:
git verify-tag v0.6.0-beta
Building the Contained Release
Users are able to rebuild the target release themselves without having to fetch any of the dependencies. In order to do so, assuming that vendor.tar.gz
and poold-source-v0.6.0-beta.tar.gz
are in the current directory, follow these steps:
tar -xvzf vendor.tar.gz
tar -xvzf lnd-source-v0.6.0-beta.tar.gz
GO111MODULE=on go install -v -mod=vendor ./cmd/poold
GO111MODULE=on go install -v -mod=vendor ./cmd/pool
The -mod=vendor
flag tells the go build
command that it doesn't need to fetch the dependencies, and instead, they're all enclosed in the local vendor directory.
Additionally, it's now possible to use the enclosed release.sh
script to bundle a release for a specific system like so:
make release sys="linux-arm64 darwin-amd64"
Release Notes (auto generated)
What's Changed
- Upgrade trader accounts to Taproot/MuSig2 by @guggero in #375
- multi: make profile IP configurable by @guggero in #391
- taproot: ensure check for expiry script spend correctly handles annex by @ffranr in #393
- rpcserver: handle 'StateExpiredPendingUpdate' case for account state by @jbrill in #394
- feature: add support for unannounced and zero conf channels by @positiveblue in #385
- feature: add outbound-liquidity auction market, bidder pays for channel acceptance by @positiveblue in #390
- cmd: make orders public by default by @positiveblue in #398
- version: bump to v0.6.0-beta by @positiveblue in #399
New Contributors
Full Changelog: v0.5.8-alpha...v0.6.0-beta