knots-startos/manifest.yaml
2025-04-09 14:48:14 +02:00

385 lines
11 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

id: bitcoind
title: "Bitcoin Knots"
version: 28.1.0.2
eos-version: 0.3.5.1
release-notes: |
* Latest release from Knots - see full release notes [here](https://github.com/bitcoinknots/bitcoin/blob/v28.1.knots20250305/doc/release-notes.md)
license: MIT
wrapper-repo: https://github.com/Retropex/knots-startos
upstream-repo: https://github.com/bitcoinknots/bitcoin/
support-site: https://github.com/bitcoinknots/bitcoin/issues
marketing-site: https://bitcoinknots.org
build: ["make"]
description:
short: A Bitcoin Full Node by Bitcoin Knots
long: Bitcoin Knots is a feature-rich version of Bitcoin software that offers greater control, privacy, and customization than standard Bitcoin Core. With unique features like advanced transaction filters, optimized data handling, and additional privacy settings, Bitcoin Knots empowers users to run a lean, efficient, and resilient node. Built on Bitcoins open-source foundation, Knots is designed for those who value a streamlined, spam-resistant network and want more flexibility in managing transactions. By choosing Bitcoin Knots, youre opting for a powerful tool that unlocks Bitcoins full potential with settings tailored to advanced and privacy-conscious users.
assets:
license: LICENSE
icon: icon.png
instructions: instructions.md
main:
type: docker
image: main
entrypoint: "docker_entrypoint.sh"
args: []
mounts:
main: /root/.bitcoin
compat: /mnt/assets
sigterm-timeout: 5m
health-checks:
rpc:
name: RPC
success-message: The RPC server is ready for connections
type: docker
image: main
system: false
entrypoint: check-rpc.sh
args: []
mounts: {}
io-format: yaml
inject: true
synced:
name: Synced
success-message: Bitcoin Knots is synced with the network
type: docker
image: main
system: false
entrypoint: check-synced.sh
args: []
mounts: {}
io-format: yaml
inject: true
config:
get:
type: script
set:
type: script
properties:
type: script
volumes:
main:
type: data
compat:
type: assets
alerts:
uninstall: Uninstalling Bitcoin Knots will result in permanent loss of data. Without a backup, any funds stored on your node's default hot wallet will be lost forever. If you are unsure, we recommend making a backup, just to be safe.
restore: Restoring Bitcoin Knots will overwrite its current data. You will lose any transactions recorded in watch-only wallets, and any funds you have received to the hot wallet, since the last backup.
interfaces:
rpc:
name: RPC Interface
description: Listens for JSON-RPC commands
tor-config:
port-mapping:
8332: "8332"
lan-config:
443:
ssl: true
internal: 8332
ui: false
protocols:
- tcp
- http
- json-rpc
peer:
name: Peer Interface
description: Listens for incoming connections from peers on the bitcoin network
tor-config:
port-mapping:
8333: "8333"
ui: false
protocols:
- tcp
- bitcoin
zmq:
name: ZeroMQ Interface
description: Listens for subscriptions to the ZeroMQ raw block and raw transaction event streams
tor-config:
port-mapping:
28332: "28332"
28333: "28333"
ui: false
protocols:
- tcp
- zmq
dependencies: {}
backup:
create:
type: docker
image: compat
system: true
entrypoint: compat
args:
- duplicity
- create
- /mnt/backup
- /root/.bitcoin
mounts:
BACKUP: /mnt/backup
main: /root/.bitcoin
restore:
type: docker
image: compat
system: true
entrypoint: compat
args:
- duplicity
- restore
- /mnt/backup
- /root/.bitcoin
mounts:
BACKUP: /mnt/backup
main: /root/.bitcoin
actions:
reindex:
name: "Reindex Blockchain"
description: "Rebuilds the block and chainstate databases starting from genesis. If blocks already exist on disk, these are used rather than being redownloaded. For pruned nodes, this means downloading the entire blockchain over again."
warning: Blocks not stored on disk will be redownloaded in order to rebuild the database. If your node is pruned, this action is equivalent to syncing the node from scratch, so this process could take a couple of weeks.
allowed-statuses:
- running
- stopped
implementation:
type: docker
image: main
system: false
entrypoint: reindex.sh
args: []
mounts:
main: /root/.bitcoin
io-format: json
reindex-chainstate:
name: "Reindex Chainstate"
description: "Rebuilds the chainstate database using existing block index data; as the block index is not rebuilt, 'reindex_chainstate' should be strictly faster than 'reindex'. This action should only be used in the case of chainstate corruption; if the blocks stored on disk are corrupted, the 'reindex' action will need to be run instead."
warning: While faster than 'Reindex', 'Reindex Chainstate' can still take several days or more to complete. Pruned nodes do not allow 'reindex-chainstate'; if you are running a pruned node and suspect chainstate corruption the 'reindex' action (requiring redownloading the entire Blockchain) should be run instead.
allowed-statuses:
- running
- stopped
implementation:
type: docker
image: main
system: false
entrypoint: reindex_chainstate.sh
args: []
mounts:
main: /root/.bitcoin
io-format: json
delete-txindex:
name: "Delete Transaction Index"
description: "Deletes the Transaction Index (txindex) in case it gets corrupted."
warning: The Transaction Index will be rebuilt once Bitcoin Knots is started again, unless you deactivate it in the config settings. Please don't do this unless instructed to by Start9 support staff.
allowed-statuses:
- stopped
implementation:
type: script
delete-coinstatsindex:
name: "Delete Coinstats Index"
description: "Deletes the Coinstats Index (coinstatsindex) in case it gets corrupted."
warning: The Coinstats Index will be rebuilt once Bitcoin Core is started again, unless you deactivate it in the config settings. Please don't do this unless instructed to by Start9 support staff.
allowed-statuses:
- stopped
implementation:
type: script
delete-peers:
name: "Delete Peer List"
description: "Deletes the Peer List (peers.dat) in case it gets corrupted."
allowed-statuses:
- stopped
implementation:
type: script
prioritise-transaction:
name: "Prioritise Transaction"
description: "Prioritise or de-prioritise a transaction by telling your node to treat it as though it has a higher/lower priority or fee and construct templates accordingly."
allowed-statuses:
- running
implementation:
type: docker
image: main
system: false
entrypoint: prioritise-transaction.sh
args: []
io-format: json
mounts:
main: /root/.bitcoin
inject: true
input-spec:
txid:
type: string
name: Transaction ID
description: "The ID of the transaction you wish to prioritise."
placeholder: ""
nullable: false
priority-delta:
type: number
name: Priority Delta
description: "The priority to add or subtract."
nullable: true
integral: true
range: "[-1000000,1000000]"
default: 0
nullable: true
fee-delta:
type: number
name: Fee Delta
description: "The fee value (in satoshis) to add (or subtract, if negative)."
nullable: true
integral: true
range: "[-1000000,1000000]"
default: 0
nullable: true
getaddress:
name: "Get new address"
description: "Get a new Bitcoin address."
allowed-statuses:
- running
implementation:
type: docker
image: main
system: false
entrypoint: getaddress.sh
args: []
io-format: json
mounts:
main: /root/.bitcoin
inject: true
getbalance:
name: "Get wallet balance"
description: "Get wallet balance."
allowed-statuses:
- running
implementation:
type: docker
image: main
system: false
entrypoint: getbalance.sh
args: []
io-format: json
mounts:
main: /root/.bitcoin
inject: true
sendcoin:
name: "Send bitcoin"
description: "Send bitcoin to an address."
allowed-statuses:
- running
implementation:
type: docker
image: main
system: false
entrypoint: sendcoin.sh
args: []
io-format: json
mounts:
main: /root/.bitcoin
inject: true
input-spec:
address:
type: string
name: Address
description: "The bitcoin address you want to send your bitcoins."
placeholder: ""
nullable: false
amount:
type: number
name: Amount (BTC)
description: "The amount of bitcoin you want to send to the address."
integral: false
range: "[0,21000000]"
default: 0
nullable: false
fee:
type: number
name: Fee (sat/vbytes)
description: "The amount of fee you want to pay for this transaction (in sat per vbytes)"
integral: false
range: "[0,1000000]"
default: 0
nullable: false
sendall:
name: "Send all bitcoin"
description: "Send ALL bitcoin in the wallet."
allowed-statuses:
- running
implementation:
type: docker
image: main
system: false
entrypoint: sendall.sh
args: []
io-format: json
mounts:
main: /root/.bitcoin
inject: true
input-spec:
address:
type: string
name: Address
description: "The bitcoin address you want to send your bitcoins."
placeholder: ""
nullable: false
fee:
type: number
name: Fee (sat/vbytes)
description: "The amount of fee you want to pay for this transaction (in sat per vbytes)"
integral: false
range: "[0,1000000]"
default: 0
nullable: false
signmessage:
name: "Sign message"
description: "Sign a message with a bitcoin address."
allowed-statuses:
- running
implementation:
type: docker
image: main
system: false
entrypoint: signmessage.sh
args: []
io-format: json
mounts:
main: /root/.bitcoin
inject: true
input-spec:
address:
type: string
name: Address
description: "The bitcoin address to use to sign the message."
placeholder: ""
nullable: false
message:
type: string
name: Message
description: "The message to sign."
placeholder: ""
nullable: false
assumeutxo:
name: "Assume UTXO"
description: "Use an UTXO snapshot for instant use of your node."
allowed-statuses:
- running
implementation:
type: docker
image: main
system: false
entrypoint: assumeutxo.sh
args: []
io-format: json
mounts:
main: /root/.bitcoin
inject: true
input-spec:
location:
type: string
name: "Snapshot URL"
description: "The URL where we download the snapshot"
placeholder: ""
nullable: false
migrations:
from:
"*":
type: script
args: ["from"]
to:
"*":
type: script
args: ["to"]