Skip to content

Commit 8e33212

Browse files
dr-bonezMattDHill
andauthored
Feature/lite (Start9Labs#120)
* support for the lite * rework config and delete action (Start9Labs#119) * rework config and delete action * migrations --------- Co-authored-by: Aiden McClelland <[email protected]> * update release notes * address comments * update version * fix peers queries * fixes from testing --------- Co-authored-by: Matt Hill <[email protected]>
1 parent 1add04c commit 8e33212

File tree

16 files changed

+1495
-840
lines changed

16 files changed

+1495
-840
lines changed

Dockerfile

Lines changed: 8 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -22,40 +22,13 @@ RUN apk --no-cache add libtool
2222
RUN apk --no-cache add linux-headers
2323
RUN apk --no-cache add sqlite-dev
2424
RUN apk --no-cache add zeromq-dev
25-
RUN set -ex \
26-
&& for key in \
27-
152812300785C96444D3334D17565732E08E5E41 \
28-
0AD83877C1F0CD1EE9BD660AD7CC770B81FD22A8 \
29-
590B7292695AFFA5B672CBB2E13FC145CD3F4304 \
30-
CFB16E21C950F67FA95E558F2EEB9F5CC09526C1 \
31-
F4FC70F07310028424EFC20A8E4256593F177720 \
32-
D1DBF2C4B96F2DEBF4C16654410108112E7EA81F \
33-
287AE4CA1187C68C08B49CB2D11BD4F33F1DB499 \
34-
9DEAE0DC7063249FB05474681E4AED62986CD25D \
35-
3EB0DEE6004A13BE5A0CC758BF2978B068054311 \
36-
ED9BDF7AD6A55E232E84524257FF9BDBCC301009 \
37-
28E72909F1717FE9607754F8A7BEB2621678D37D \
38-
79D00BAC68B56D422F945A8F8E3A8F3247DBCBBF \
39-
; do \
40-
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" || \
41-
gpg --batch --keyserver keyserver.pgp.com --recv-keys "$key" || \
42-
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" || \
43-
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
44-
gpg --batch --keyserver keys.openpgp.org --recv-keys "$key" ; \
45-
done
46-
47-
ARG BITCOIN_VERSION
48-
RUN test -n "$BITCOIN_VERSION"
49-
ENV BITCOIN_PREFIX=/opt/bitcoin-${BITCOIN_VERSION}
50-
51-
RUN wget https://bitcoincore.org/bin/bitcoin-core-${BITCOIN_VERSION}/SHA256SUMS
52-
RUN wget https://bitcoincore.org/bin/bitcoin-core-${BITCOIN_VERSION}/SHA256SUMS.asc
53-
RUN wget https://bitcoincore.org/bin/bitcoin-core-${BITCOIN_VERSION}/bitcoin-${BITCOIN_VERSION}.tar.gz
54-
RUN gpg --verify SHA256SUMS.asc SHA256SUMS
55-
RUN grep " bitcoin-${BITCOIN_VERSION}.tar.gz\$" SHA256SUMS | sha256sum -c -
56-
RUN tar -xzf *.tar.gz
57-
58-
WORKDIR /bitcoin-${BITCOIN_VERSION}
25+
26+
ADD ./bitcoin /bitcoin
27+
28+
29+
ENV BITCOIN_PREFIX=/opt/bitcoin
30+
31+
WORKDIR /bitcoin
5932

6033
RUN sed -i '/AX_PROG_CC_FOR_BUILD/a\AR_FLAGS=cr' src/secp256k1/configure.ac
6134
RUN ./autogen.sh
@@ -102,9 +75,7 @@ RUN rm -rf /var/cache/apk/*
10275
ARG ARCH
10376

10477
ENV BITCOIN_DATA=/root/.bitcoin
105-
ARG BITCOIN_VERSION
106-
RUN test -n "$BITCOIN_VERSION"
107-
ENV BITCOIN_PREFIX=/opt/bitcoin-${BITCOIN_VERSION}
78+
ENV BITCOIN_PREFIX=/opt/bitcoin
10879
ENV PATH=${BITCOIN_PREFIX}/bin:$PATH
10980

11081
COPY --from=bitcoin-core /opt /opt
@@ -118,8 +89,6 @@ ADD ./check-rpc.sh /usr/local/bin/check-rpc.sh
11889
RUN chmod a+x /usr/local/bin/check-rpc.sh
11990
ADD ./check-synced.sh /usr/local/bin/check-synced.sh
12091
RUN chmod a+x /usr/local/bin/check-synced.sh
121-
ADD ./migrations /usr/local/bin/migrations
122-
RUN chmod a+x /usr/local/bin/migrations/*
12392

12493
EXPOSE 8332 8333
12594

Makefile

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
PKG_VERSION := $(shell yq e ".version" manifest.yaml)
22
PKG_ID := $(shell yq e ".id" manifest.yaml)
33
MANAGER_SRC := $(shell find ./manager -name '*.rs') manager/Cargo.toml manager/Cargo.lock
4-
VERSION_CORE := "24.0.1"
4+
VERSION_CORE := $(shell (cd bitcoin && git describe) | sed 's/^v//')
55

66
.DELETE_ON_ERROR:
77

8-
all: submodule-update verify
8+
all: verify
99

1010
clean:
1111
rm -f $(PKG_ID).s9pk
@@ -44,18 +44,18 @@ else
4444
embassy-cli package install $(PKG_ID).s9pk
4545
endif
4646

47-
docker-images/aarch64.tar: Dockerfile docker_entrypoint.sh manager/target/aarch64-unknown-linux-musl/release/bitcoind-manager manifest.yaml check-rpc.sh check-synced.sh migrations/* actions/*
47+
docker-images/aarch64.tar: Dockerfile docker_entrypoint.sh manager/target/aarch64-unknown-linux-musl/release/bitcoind-manager manifest.yaml check-rpc.sh check-synced.sh actions/*
4848
ifeq ($(ARCH),x86_64)
4949
else
5050
mkdir -p docker-images
51-
docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --build-arg BITCOIN_VERSION=$(VERSION_CORE) --build-arg ARCH=aarch64 --build-arg PLATFORM=arm64 --platform=linux/arm64 -o type=docker,dest=docker-images/aarch64.tar .
51+
docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --build-arg ARCH=aarch64 --build-arg PLATFORM=arm64 --platform=linux/arm64 -o type=docker,dest=docker-images/aarch64.tar .
5252
endif
5353

54-
docker-images/x86_64.tar: Dockerfile docker_entrypoint.sh manager/target/x86_64-unknown-linux-musl/release/bitcoind-manager manifest.yaml check-rpc.sh check-synced.sh migrations/* actions/*
54+
docker-images/x86_64.tar: Dockerfile docker_entrypoint.sh manager/target/x86_64-unknown-linux-musl/release/bitcoind-manager manifest.yaml check-rpc.sh check-synced.sh actions/*
5555
ifeq ($(ARCH),aarch64)
5656
else
5757
mkdir -p docker-images
58-
docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --build-arg BITCOIN_VERSION=$(VERSION_CORE) --build-arg ARCH=x86_64 --build-arg PLATFORM=amd64 --platform=linux/amd64 -o type=docker,dest=docker-images/x86_64.tar .
58+
docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --build-arg ARCH=x86_64 --build-arg PLATFORM=amd64 --platform=linux/amd64 -o type=docker,dest=docker-images/x86_64.tar .
5959
endif
6060

6161
manager/target/aarch64-unknown-linux-musl/release/bitcoind-manager: $(MANAGER_SRC)
@@ -66,11 +66,3 @@ manager/target/x86_64-unknown-linux-musl/release/bitcoind-manager: $(MANAGER_SRC
6666

6767
scripts/embassy.js: scripts/**/*.ts
6868
deno bundle scripts/embassy.ts scripts/embassy.js
69-
70-
submodule-update:
71-
@if [ -z "$(shell git submodule status | egrep -v '^ '|awk '{print $$2}')" ]; then \
72-
echo "Submodules are up to date."; \
73-
else \
74-
echo "\nUpdating submodules...\n"; \
75-
git submodule update --init --progress; \
76-
fi

assets/compat/bitcoin.conf.template

Lines changed: 32 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,71 +4,71 @@
44

55
## RPC
66
{{#IF rpc.enable
7+
{{#IF advanced.pruning.mode = "automatic"
8+
rpcbind=127.0.0.1:18332
9+
rpcallowip=127.0.0.1/32
10+
}}
11+
{{#IF advanced.pruning.mode != "automatic"
712
rpcbind=0.0.0.0:8332
813
rpcallowip=0.0.0.0/0
914
}}
15+
}}
1016
rpcuser={{rpc.username}}
1117
rpcpassword={{rpc.password}}
12-
{{#FOREACH rpc.advanced.auth
13-
rpcauth={{rpc.advanced.auth}}
14-
}}
15-
{{#IF rpc.advanced.serialversion = "segwit"
16-
rpcserialversion=1
18+
{{#FOREACH rpc.auth
19+
rpcauth={{rpc.auth}}
1720
}}
18-
{{#IF rpc.advanced.serialversion = "non-segwit"
19-
rpcserialversion=0
20-
}}
21-
rpcservertimeout={{rpc.advanced.servertimeout}}
22-
rpcthreads={{rpc.advanced.threads}}
23-
rpcworkqueue={{rpc.advanced.workqueue}}
21+
rpcservertimeout={{rpc.servertimeout}}
22+
rpcthreads={{rpc.threads}}
23+
rpcworkqueue={{rpc.workqueue}}
2424

2525
## MEMPOOL
26-
{{#IF advanced.mempool.mempoolfullrbf
26+
{{#IF mempool.mempoolfullrbf
2727
mempoolfullrbf=1
2828
}}
29-
{{#IF !advanced.mempool.mempoolfullrbf
29+
{{#IF !mempool.mempoolfullrbf
3030
mempoolfullrbf=0
3131
}}
32-
{{#IF advanced.mempool.persistmempool
32+
{{#IF mempool.persistmempool
3333
persistmempool=1
3434
}}
35-
{{#IF !advanced.mempool.persistmempool
35+
{{#IF !mempool.persistmempool
3636
persistmempool=0
3737
}}
38-
maxmempool={{advanced.mempool.maxmempool}}
39-
mempoolexpiry={{advanced.mempool.mempoolexpiry}}
38+
maxmempool={{mempool.maxmempool}}
39+
mempoolexpiry={{mempool.mempoolexpiry}}
4040

4141
## PEERS
42-
{{#IF advanced.peers.listen
42+
{{#IF peers.listen
4343
listen=1
4444
bind=0.0.0.0:8333
4545
}}
46-
{{#IF !advanced.peers.listen
46+
{{#IF !peers.listen
4747
listen=0
4848
}}
4949

50-
{{#IF advanced.peers.onlyconnect
51-
{{#FOREACH advanced.peers.addnode
52-
{{#IF advanced.peers.addnode.port
53-
connect={{advanced.peers.addnode.hostname}}:{{advanced.peers.addnode.port}}
50+
{{#IF peers.onlyconnect
51+
{{#FOREACH peers.addnode
52+
{{#IF peers.addnode.port
53+
connect={{peers.addnode.hostname}}:{{peers.addnode.port}}
5454
}}
55-
{{#IF !advanced.peers.addnode.port
56-
connect={{advanced.peers.addnode.hostname}}
55+
{{#IF !peers.addnode.port
56+
connect={{peers.addnode.hostname}}
5757
}}
5858
}}
5959
}}
6060

61-
{{#IF !advanced.peers.onlyconnect
62-
{{#FOREACH advanced.peers.addnode
63-
{{#IF advanced.peers.addnode.port
64-
addnode={{advanced.peers.addnode.hostname}}:{{advanced.peers.addnode.port}}
61+
{{#IF !peers.onlyconnect
62+
{{#FOREACH peers.addnode
63+
{{#IF peers.addnode.port
64+
addnode={{peers.addnode.hostname}}:{{peers.addnode.port}}
6565
}}
66-
{{#IF !advanced.peers.addnode.port
67-
addnode={{advanced.peers.addnode.hostname}}
66+
{{#IF !peers.addnode.port
67+
addnode={{peers.addnode.hostname}}
6868
}}
6969
}}
7070
}}
71-
{{#IF advanced.peers.onlyonion
71+
{{#IF peers.onlyonion
7272
onlynet=onion
7373
}}
7474

@@ -77,9 +77,6 @@ onlynet=onion
7777
whitelist=172.18.0.0/16
7878

7979
## PRUNING
80-
{{#IF advanced.pruning.mode = "manual"
81-
prune=1
82-
}}
8380
{{#IF advanced.pruning.mode = "automatic"
8481
prune={{advanced.pruning.size}}
8582
}}
@@ -105,13 +102,11 @@ avoidpartialspends=0
105102
discardfee={{wallet.discardfee}}
106103

107104
## ZERO MQ
108-
{{#IF zmq-enabled
109105
zmqpubrawblock=tcp://0.0.0.0:28332
110106
zmqpubhashblock=tcp://0.0.0.0:28332
111107
zmqpubrawtx=tcp://0.0.0.0:28333
112108
zmqpubhashtx=tcp://0.0.0.0:28333
113109
zmqpubsequence=tcp://0.0.0.0:28333
114-
}}
115110

116111
## TXINDEX
117112
{{#IF txindex

bitcoin

Submodule bitcoin updated 1390 files

0 commit comments

Comments
 (0)