Bot releases are hidden (Show)
Published by onyb almost 4 years ago
SatStack is now out of beta! 🎉
Thanks to everyone who contributed to the project, especially the early testers on Twitter and members of our Beta testers programme.
Read about the motivations and design rationale behind this project here: https://blog.ledger.com/satstack
To get started, please follow our dedicated Support article: https://support.ledger.com/hc/en-us/articles/360017551659
(this release has no changelog)
Published by onyb almost 4 years ago
lss.json
file.Published by onyb almost 4 years ago
Utilize txindex
for synchronizing, whenever possible. Having txindex
enabled in bitcoind, while not essential for synchronizing accounts or creating transactions, is useful for building the full transaction history. (f55dd59)
If missing fields such as "from address" and "fees" bother you, consider setting txindex=1
in your bitcoin.conf
. SatStack will automatically detect the presence of txindex
and use it whenever possible.
Expose satstack version in the status endpoint. See example response below. (8fe3e2e)
GET /blockchain/v3/explorer/status
{
"version": "v0.10.0-beta",
"txindex": false,
"block_filter": false,
"pruned": false,
"chain": "test",
"currency": "btc_testnet",
"status": "scanning",
"scan_progress": 19.805744612838293
}
Add endpoint to check if descriptor has been imported. (3188311)
It checks if the first address derived from the given descriptor is being watched by bitcoind. See an example below.
POST /control/descriptors/has
{
"descriptor": "sh(wpkh(tpubDCuopxz...rhHqhsW/0/*))"
}
Response:
{
"exists": false
}
⚠️ A response of {"exists": true}
does NOT imply that the descriptor is ready to be used for synchronization. You should wait the status
to be ready
.
Add some new fortunes for the cowsay. (332801e)
Published by onyb almost 4 years ago
v0.10.0-beta
is the first beta release of satstack, going into an internal QA phase at Ledger.
This refactoring allows for better control over long-running tasks, and gracefully shutting down RPC connections, goroutines, and explorer server. It also fixes some long-standing memory leaks in connection objects. As a result of this refactoring, we also now have progress logs for descriptor imports! 🎉
The Bus
status (exposed by the /blockchain/v3/explorer/status
endpoint) is now (almost) stateless. Instead of querying the status from the Bus
state, it is computed on the fly, thereby always reflecting the truth. As of this release, satstack supports the following statuses:
node-disconnected
→ bitcoind is unreachablesyncing
→ during IBDpending-scan
→ sync is complete, waiting for descriptor scan. Typically Satstack is performing some checks (ex, circulating supply) in the background.scanning
→ importing descriptorsready
→ satstack is ready to receive explorer requests from Ledger Live.⚠️ The /blockchain/v3/explorer/status
endpoint is now slightly heavier due to the underlying RPC calls. Please consider throttling your HTTP requests to this endpoint. Depending on the busyness of the node, the response time could be anything in between 5ms - 5s.
⚠️ There was a status called initializing
- this is no longer used in the code but still kept for the future.
On startup, satstack displays a randomly picked Bitcoin fortune from a curated collection of interesting quotes, facts, email excerpts, and relics of the past. There are 47 fortunes included in this release. Contributions are most welcome!
Published by onyb almost 4 years ago
Fetching transaction details in satstack involves two operations:
Both these operations are performed by bitcoind, and therefore incurs the cost of RPC communication. SatStack is now able to decode the raw transactions natively, thus saving an extra round-trip to the Bitcoin node. This is possible thanks to btcd's wire package.
An average speedup of ~33% was observed for synchronization from scratch and ~45% for subsequent synchronizations.
GET /blockchain/<version>/<network>/transaction/:hash
endpoint.
txindex
to build decoded transactions, since building transactions without txindex
is now just as fast.Published by onyb about 4 years ago
Published by onyb about 4 years ago
satstack
, to avoid polluting the default wallet. (fef8f7f)
Published by onyb about 4 years ago
block_filter
is now available in the response of GET /blockchain/v?/explorer/status
.Published by onyb about 4 years ago
GET /blockchain/v2/explorer/status
{
"txindex": false,
"pruned": false,
"chain": "test",
"currency": "btc_testnet",
"status": "ready"
}
getdescriptor
Python script to extract descriptors on both external and internal chains.Published by onyb about 4 years ago
2013/09/10
by default.
getblock
RPC calls while fetching transactions for addresses.
0.20.0
in order to support this.EXPERIMENTAL_EXPLORERS=1
is no longer necessary. The LSS API provides dual-support for both versions.txindex=1
.Published by onyb about 4 years ago
-ldflags
to display build-time information at startup.config
package with better error handling and validation.2016/06/01
by default.
Published by onyb over 4 years ago
lss
, instead of main
..lss.json
in user's home directory.
mv ~/.sats.json ~/.lss.json
to avoid a crash while starting lss
.Published by onyb over 4 years ago
scripts/getdescriptor
to retrieve output descriptor from Ledger device.
main
, test
, and regtest
chains.xpub
, index
, and derivationMode
is still supported, for backwards compatibility.Published by onyb over 4 years ago
This release is the first testable version of Ledger Sats Stack. Users are invited to try out the software and provide feedback. Please refer to the instructions in README.md
file to get started.
⚠️ Warning: Please expect breaking changes until a stable v1.0.0
release, especially in the configuration format.