Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
258 commits
Select commit Hold shift + click to select a range
1fc2fcb
update v2transport default to match Core
Dominion5254 Aug 20, 2024
560a3c9
add datadir and conf args
Dominion5254 Aug 20, 2024
e762197
add btc_rpc_proxy dockerTag
Dominion5254 Aug 20, 2024
526f392
add proxy daemon placeholder
Dominion5254 Aug 28, 2024
57bcd9f
make zmq conditional on config not input
Dominion5254 Aug 30, 2024
b7237de
add todos and wip
Dominion5254 Oct 9, 2024
80a83ff
updates for latest sdk chnages
MattDHill Oct 10, 2024
331c076
bumop sdk version
MattDHill Oct 10, 2024
238d86c
clean up runtime info
MattDHill Oct 11, 2024
a706531
update action for new response type and main
MattDHill Oct 22, 2024
4022487
use async iterator properly
MattDHill Oct 23, 2024
dd71d01
file-model changes and rpcauth wip
Dominion5254 Nov 21, 2024
12bc094
alpha 21 and progress towards config
MattDHill Nov 21, 2024
e5636e0
update sdk to alpha22
Dominion5254 Nov 22, 2024
4e429ae
add actions for generate/delete rpc auth
Dominion5254 Nov 27, 2024
c35c23d
make remaining config shape attributes optional
Dominion5254 Nov 29, 2024
2f2540a
update sdk to beta1
Dominion5254 Dec 19, 2024
24dcb66
remove unusable credentials action (rpc pass not persisted)
Dominion5254 Dec 19, 2024
23c1da0
minor fixes
Dominion5254 Dec 19, 2024
e06b9a7
fix BindOptions import
Dominion5254 Dec 20, 2024
595bcd1
update to beta 3
Dominion5254 Jan 15, 2025
54cea75
fix assets
Dominion5254 Jan 15, 2025
3c5e624
remove btc-rpc-proxy tag
Dominion5254 Jan 17, 2025
476ef49
small touchups
MattDHill Jan 21, 2025
0f4c79c
kebab case action ids
Dominion5254 Jan 23, 2025
a741517
add config to actions
Dominion5254 Jan 25, 2025
a82360e
change auth min length to 0
Dominion5254 Jan 25, 2025
221a5f0
wriite on write instead of merge
Dominion5254 Jan 25, 2025
352d75c
update runtimeInfo to only-running
Dominion5254 Jan 28, 2025
d1b618b
run 'npm run build' correctly on changes
Dominion5254 Jan 28, 2025
f4e7f63
various bitcoin.conf fixes
Dominion5254 Jan 28, 2025
b8a73c2
breakout rpc action
Dominion5254 Jan 28, 2025
fd2acd3
initialize bitcoin with empty bitcoin.conf file
Dominion5254 Jan 28, 2025
34dfec0
remove logging
Dominion5254 Jan 29, 2025
32dddaa
breakout mempool action
Dominion5254 Jan 29, 2025
1e61148
restore onMismatch for rpcservertimeout
Dominion5254 Jan 29, 2025
e6c3366
Prettier changes
Dominion5254 Jan 29, 2025
4a161dd
peers action wip and remove broken out config options
Dominion5254 Feb 4, 2025
341d6de
union and list debugging
Dominion5254 Feb 4, 2025
7dfef9e
Remove debugging and logging
Dominion5254 Feb 6, 2025
3cc270a
Add initialConfig action
Dominion5254 Feb 7, 2025
8f995e2
Use bitcoin defaults for mempool action defaults and placeholders
Dominion5254 Feb 7, 2025
00e6e30
abstract bitcoin.conf defaults and move externalip to bitcoin.conf
Dominion5254 Feb 11, 2025
5fb7042
remove testnet
Dominion5254 Feb 11, 2025
eb64b7b
use bitcoinConfDefaults as source of truth
Dominion5254 Feb 12, 2025
b914d63
remove initialConfig action
Dominion5254 Feb 12, 2025
348d3c1
add generateRpcUserDependent
Dominion5254 Feb 13, 2025
10d7fa5
set prune and dbcache to defaults if input falsy
Dominion5254 Feb 13, 2025
92b6876
Update for sdk beta 6
Dominion5254 Feb 13, 2025
f3548a2
fix reindexBlockchain and reindexChainstate
Dominion5254 Feb 14, 2025
206ce67
add python image
Dominion5254 Feb 14, 2025
5723d35
beta8 and update rpcauth actions
Dominion5254 Feb 15, 2025
c886add
fix rpc port
Dominion5254 Feb 16, 2025
0c817c9
fix blockfilterindex config
Dominion5254 Feb 19, 2025
0538a80
beta 9
MattDHill Feb 20, 2025
1f653c3
remove symlink and submodule
MattDHill Feb 20, 2025
a7e230a
Merge branch 'update/036' of github.com:Start9Labs/bitcoind-startos i…
Dominion5254 Feb 20, 2025
0626146
set connect default to undefined
Dominion5254 Feb 20, 2025
4fd07b5
remove old comment
Dominion5254 Feb 20, 2025
fec06b7
fix sync-progess health check
Dominion5254 Feb 20, 2025
62e2830
add mainMounts abstraction
Dominion5254 Feb 20, 2025
e50e6b7
remove old comment
Dominion5254 Feb 20, 2025
d16cf2a
use alpine python image
Dominion5254 Feb 21, 2025
858b59b
add schemeOverride for p2p interface
Dominion5254 Feb 21, 2025
359e0aa
beta 11
Dominion5254 Feb 21, 2025
20d3b1a
use publicUrls for external urls
Dominion5254 Feb 21, 2025
9c7ebdc
improve sync health check
Dominion5254 Feb 23, 2025
b9bfa80
use getrpcinfo for rpc health check
Dominion5254 Feb 23, 2025
fe3bd95
revert to building bitcoin from source
Dominion5254 Feb 24, 2025
4f89df1
fix casing
Dominion5254 Feb 24, 2025
d218476
fix proxy container and rpc port
Dominion5254 Feb 24, 2025
1ee7975
use beta13
Dominion5254 Feb 24, 2025
d29e62b
filter bitcoin.conf comments
Dominion5254 Feb 25, 2025
218be7a
fix dockerfile base image arch
Dominion5254 Feb 25, 2025
6b6cd8c
working migration from 0.3.5.x
Dominion5254 Feb 25, 2025
aa837cd
remove old dir
Dominion5254 Feb 25, 2025
00ccc36
account for upstream patch in version
Dominion5254 Feb 25, 2025
f19ebdb
merge with master
Dominion5254 Feb 25, 2025
2b0cf84
runtimeInfo json and undifined fixes
Dominion5254 Feb 26, 2025
162b928
sync check fixes
Dominion5254 Feb 26, 2025
cbf9b47
use string adapter for rpcbind and rpcallowip
Dominion5254 Feb 26, 2025
f807646
set bind default to undefined and fix write
Dominion5254 Feb 26, 2025
67370ba
refactor sync health check
Dominion5254 Feb 27, 2025
c20ef1f
toml refactor and comment
Dominion5254 Feb 27, 2025
326be23
add peer-tor-addrest to externalip in migration
Dominion5254 Feb 27, 2025
b55ec86
initialize externalip with peer onion address on fresh installs
Dominion5254 Feb 27, 2025
64b7e6d
add pre-release version tag
Dominion5254 Feb 27, 2025
a8ddcd6
beta 14
MattDHill Mar 3, 2025
71225c6
improve pruning spec description
Dominion5254 Mar 7, 2025
57175dd
refactoring
Dominion5254 Mar 7, 2025
3d383ab
make whitelist an array
Dominion5254 Mar 7, 2025
24d34bc
use correct IP for bitcoin args and proxy
Dominion5254 Mar 7, 2025
a7ffbf2
set password regex and remove double quotes
Dominion5254 Mar 7, 2025
726c879
append additional rpcauth entries
Dominion5254 Mar 7, 2025
c93ea74
new assets approach
MattDHill Mar 10, 2025
a0a7c83
misc fixes
dr-bonez Mar 12, 2025
6359cae
fixes from review
dr-bonez Mar 13, 2025
0eed40d
beta 18
MattDHill Mar 15, 2025
9fdc882
makefile
MattDHill Mar 15, 2025
8f63e64
minor changes
MattDHill Mar 18, 2025
229546d
standandardize rpcauth actions
Dominion5254 Mar 19, 2025
7148e51
case sync check for error code 28 or other errors
Dominion5254 Mar 19, 2025
9c252a1
bump to alpha.2
Dominion5254 Mar 19, 2025
b889267
fix Makefile
dr-bonez Mar 20, 2025
472dd17
ABOUT assets
MattDHill Mar 20, 2025
0af180b
beta 20
MattDHill Apr 10, 2025
035262e
manual protocol def for p2p
MattDHill Apr 10, 2025
7b86da6
mount properly
MattDHill Apr 10, 2025
23e5791
more
MattDHill Apr 10, 2025
b28b60e
sdk beta 5
MattDHill Apr 19, 2025
3cbecc8
remove comments
MattDHill Apr 20, 2025
c591694
update makefile
MattDHill Apr 21, 2025
e876eb4
sdk beta.8 building - needs testing
Dominion5254 Apr 25, 2025
4e2a77d
beta 12
MattDHill May 1, 2025
d467abb
move types to regular deps as a test
MattDHill May 1, 2025
7df5dd4
re-organize action groups
Dominion5254 May 1, 2025
e49e666
convert boolean config options to 1s and 0s.
Dominion5254 May 1, 2025
3fc2874
refactor other config into one file
Dominion5254 May 1, 2025
33ac591
rename action group 'Conf' to 'Configuration'
Dominion5254 May 1, 2025
8f55832
beta 15
Dominion5254 May 1, 2025
a3140b7
remove js-yaml fomr dev deps
MattDHill May 1, 2025
5596f04
use carat version
dr-bonez May 1, 2025
fc05179
beta 16
Dominion5254 May 2, 2025
8fb11a1
bump prerelease tag to alpha.3
Dominion5254 May 2, 2025
827a26e
allow prune=0
Dominion5254 May 2, 2025
18a329a
enable zmq by default (for real)
Dominion5254 May 2, 2025
fbb2709
adapter fixes
Dominion5254 May 2, 2025
65a4d20
filename fix
Dominion5254 May 2, 2025
876c3f7
Bitcoin.conf array can be a string and corresponding action fixes
Dominion5254 May 5, 2025
488368c
remove unnecessary cast
Dominion5254 May 5, 2025
95c5e21
bump version for alpha.4 release
Dominion5254 May 5, 2025
afe6a1a
make use of fileHelper transformers
dr-bonez May 6, 2025
562953a
handle null
dr-bonez May 6, 2025
f41c925
better types
dr-bonez May 6, 2025
b47ea68
Merge branch 'update/040' of github.com:Start9Labs/bitcoind-startos i…
Dominion5254 May 6, 2025
ae9be46
expose zmq locally
Dominion5254 May 7, 2025
54add8d
expose .cookie at /public
Dominion5254 May 7, 2025
e58df80
update cookie on health check pass
dr-bonez May 7, 2025
01b2f15
better error handling
Dominion5254 May 7, 2025
d7b9b58
bump bitcoind-startos to alpha.5
Dominion5254 May 7, 2025
4c23df9
beta 18
MattDHill May 8, 2025
93678f5
beta 18
MattDHill May 8, 2025
26dddc0
beta 19
MattDHill May 8, 2025
abf0837
fix zmq disable
Dominion5254 May 8, 2025
c4cf667
fix zmq migration
Dominion5254 May 9, 2025
265b99e
revert migration
Dominion5254 May 9, 2025
c0a7f6c
fix string interpolation on runtimeInfo
Dominion5254 May 9, 2025
9eccac0
beta.20
Dominion5254 May 9, 2025
6f35ffa
alpha.6
Dominion5254 May 9, 2025
c2b3222
case null storeJson
Dominion5254 May 10, 2025
0e32b6b
npm update
Dominion5254 May 10, 2025
caddd0c
set passthrough_rpccookie (#169)
remcoros May 10, 2025
e98e84e
beta 23
MattDHill May 21, 2025
24c792c
beta 24
MattDHill May 22, 2025
ce9dff9
hide deleteRpcAuth action if no users exist
Dominion5254 May 23, 2025
effd414
bump package version to alpha.7
Dominion5254 May 23, 2025
adb2b89
bump package version instead of pre-release
Dominion5254 May 23, 2025
b3502a8
fix version
Dominion5254 May 23, 2025
d0e4279
wrong version sir
Dominion5254 May 23, 2025
eea1a64
catch missing config.yaml in migration
Dominion5254 May 23, 2025
dbafdef
fix race condition where proxy would start before .cookie exists
Dominion5254 Jun 3, 2025
013fa74
await file rm
Dominion5254 Jun 3, 2025
bfa92a9
check cookie in bitcoind ready
dr-bonez Jun 3, 2025
7b19863
multithreaded build
dr-bonez Jun 3, 2025
d4c4b5a
force rm
dr-bonez Jun 3, 2025
a718c2c
rename action to other settings
Dominion5254 Jun 6, 2025
c91b6ea
add blocknotify
Dominion5254 Jun 6, 2025
9a1a54e
expose other options for onlynet
Dominion5254 Jun 6, 2025
c63d03c
use natural instead of number in bitcoin.conf file model
Dominion5254 Jun 6, 2025
0fa1cbc
use natural in config.toml too
Dominion5254 Jun 6, 2025
b8195ec
fix bitcoin.conf write after const
Dominion5254 Jun 6, 2025
01a9623
don't oomkill on build
Dominion5254 Jun 6, 2025
71187fc
beta.27
Dominion5254 Jun 6, 2025
cca28c1
remove unnecessary boolean coercions
Dominion5254 Jun 7, 2025
9dd4852
fix paths for deleting corrupted files
Dominion5254 Jun 7, 2025
ebc9e2b
bump pre-release
Dominion5254 Jun 7, 2025
cc8d255
add assumeutxo action
Dominion5254 Jun 11, 2025
6aa1385
remove circular reference
Dominion5254 Jun 11, 2025
19af035
bump pre-release to alpha.2
Dominion5254 Jun 11, 2025
3015d9f
hide assumeutxo on IBD completion
Dominion5254 Jun 11, 2025
76447df
throw error on assumeutxo when chainstate_snapshot already exists
Dominion5254 Jun 11, 2025
1fdc8f2
Restart bitcoin in reindex actions instead of main
Dominion5254 Jun 11, 2025
64fe7d3
better assumeutxo conditional disabling
Dominion5254 Jun 11, 2025
8604cf4
remove another circular dependency
Dominion5254 Jun 11, 2025
24bbb13
beta 28
MattDHill Jun 12, 2025
ea0e410
delete old extra health check
MattDHill Jun 12, 2025
e27f97a
fix ID
MattDHill Jun 12, 2025
349d370
oneshot for sync complete
MattDHill Jun 12, 2025
aff1d9c
better assumeutxo visibility
Dominion5254 Jun 12, 2025
a56d136
better logging on rpc health check
Dominion5254 Jun 12, 2025
ed75344
beta.30
Dominion5254 Jun 13, 2025
ed52a72
alpha.3 pre-release
Dominion5254 Jun 13, 2025
1328297
remove sdk.restart on sync completion
Dominion5254 Jun 18, 2025
e05c454
add migration from knots
Dominion5254 Jun 25, 2025
a068449
remove debug logging
Dominion5254 Jun 25, 2025
70f7d99
update package name to bitcoin-core
Dominion5254 Jun 26, 2025
5bed3a7
bump pre-release
Dominion5254 Jun 26, 2025
3c91df5
merge bitcoin core defaults on migration from knots
Dominion5254 Jun 26, 2025
e790a67
use package.json name for knots
Dominion5254 Jun 26, 2025
d5e609b
merge bitcoin core defaults into bitcoin.conf if those options were n…
Dominion5254 Jun 26, 2025
121085d
rename current to coreCurrent
Dominion5254 Jun 29, 2025
c1f53fd
import knotsCurrent
Dominion5254 Jun 29, 2025
7b2f30e
beta.32
Dominion5254 Jun 30, 2025
63eff3d
bump pre-release
Dominion5254 Jun 30, 2025
c604729
increase sigtermTimeout to 5 mins
Dominion5254 Jul 1, 2025
1dcbfbc
allow boolean for blockfilterindex
Dominion5254 Jul 1, 2025
3c65a49
better zmq config handling
Dominion5254 Jul 3, 2025
811d131
nocow
dr-bonez Jul 7, 2025
d0c96bd
beta.33
Dominion5254 Jul 9, 2025
031396e
better snapshot messaging upon fail
Dominion5254 Jul 9, 2025
b21b2a5
bump pre-release
Dominion5254 Jul 9, 2025
3fce872
beta.34
Dominion5254 Jul 11, 2025
cafc7ee
beta.36
Dominion5254 Jul 15, 2025
d1c2ec5
bump pre-release
Dominion5254 Jul 15, 2025
cf4dcaf
use /root/.bitcoin for mountpoint
Dominion5254 Jul 30, 2025
b1e721c
remove unnecessary bitcoind options
Dominion5254 Jul 30, 2025
2fdc1b2
simpler 0.3.5.1 migration
Dominion5254 Jul 30, 2025
1352c4f
alpha.8
Dominion5254 Jul 30, 2025
2034479
change rootDir to /.bitcoin
Dominion5254 Jul 30, 2025
a25f858
disallow setting rpcuser and rpcpassword
Dominion5254 Jul 30, 2025
1f3e411
update README
Dominion5254 Aug 14, 2025
8cd7880
remove unused imports
Dominion5254 Aug 14, 2025
69aa69c
Update/service guides (#171)
stupleb Aug 14, 2025
7fc8714
extract some logic to init functions, watch for externalip conflict (…
MattDHill Sep 9, 2025
cf2f7c6
29.1
Dominion5254 Sep 10, 2025
4ac7d62
Working Dockerfile
Dominion5254 Sep 10, 2025
5e2d693
beta.40 sdk
Dominion5254 Sep 12, 2025
ea4646a
remove instructions
Dominion5254 Sep 12, 2025
9ca35fe
beta.0 pre-release
Dominion5254 Sep 12, 2025
d8df6ba
DCMAKE_CXX_FLAGS="-02"
Dominion5254 Sep 12, 2025
394df1a
update icon
Dominion5254 Sep 12, 2025
081d740
beta.41
Dominion5254 Sep 16, 2025
37fe9b7
make preInstall idempotent
Dominion5254 Sep 16, 2025
8a32a0d
replace whitelist with whitebind
Dominion5254 Sep 16, 2025
0b276b3
bump package version
Dominion5254 Sep 17, 2025
b4c5df3
add zmq and optimizations
Dominion5254 Sep 17, 2025
f530d66
set rpcuser, rpcpassword, and bind, and whitebind on migration from 0…
Dominion5254 Oct 3, 2025
dc6cdf0
set whitelist to undefined on 0351 update
Dominion5254 Oct 3, 2025
f7360b0
ensure correct defaults on alpha installs
Dominion5254 Oct 4, 2025
cc1252f
Don't force whitebind to undefined
Dominion5254 Oct 6, 2025
0c75ebf
enforce listen=1
Dominion5254 Oct 6, 2025
c08baba
bitcoin 30.0
Dominion5254 Oct 27, 2025
37f54cd
add -DENABLE_IPC=OFF arg
Dominion5254 Oct 27, 2025
9d2dfdd
update coinstats index path for v30
Dominion5254 Oct 28, 2025
d95152c
IBD optimizations
Dominion5254 Oct 28, 2025
ff8dab1
Implement build and release CI
Dominion5254 Oct 28, 2025
444a625
add 29.2 migration
Dominion5254 Oct 29, 2025
d7818f5
remove unused imports
Dominion5254 Oct 29, 2025
583cb33
beta.42
Dominion5254 Nov 3, 2025
3f5b953
bump package pre-release to beta.2
Dominion5254 Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions .github/workflows/buildService.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,30 @@ on:
workflow_dispatch:
pull_request:
paths-ignore: ['*.md']
branches: ['main', 'master']
branches: ['main', 'master', 'update/040']
push:
paths-ignore: ['*.md']
branches: ['main', 'master']
branches: ['main', 'master', 'update/040']

jobs:
BuildPackage:
runs-on: ubuntu-latest
steps:
- name: Prepare StartOS SDK
uses: Start9Labs/sdk@v1
uses: start9labs/sdk@v2

- name: Checkout services repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: Build the service package
id: build
run: |
git submodule update --init --recursive
start-sdk init
make
PACKAGE_ID=$(yq -oy ".id" manifest.*)
echo "package_id=$PACKAGE_ID" >> $GITHUB_ENV
start-cli init
RUST_LOG=debug RUST_BACKTRACE=1 make
PACKAGE_ID=$(start-cli s9pk inspect *.s9pk manifest | jq -r '.id')
echo "package_id=${PACKAGE_ID}" >> $GITHUB_ENV
printf "\n SHA256SUM: $(sha256sum ${PACKAGE_ID}.s9pk) \n"
shell: bash

Expand Down
53 changes: 32 additions & 21 deletions .github/workflows/releaseService.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,39 +12,49 @@ jobs:
contents: write
steps:
- name: Prepare StartOS SDK
uses: Start9Labs/sdk@v1
uses: start9labs/sdk@v2

- name: Checkout services repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: Build the service package
id: build
env:
S9DEVKEY: ${{ secrets.S9DEVKEY }}
run: |
git submodule update --init --recursive
start-sdk init
make

- name: Setting package ID and title from the manifest
id: package
run: |
echo "package_id=$(yq -oy ".id" manifest.*)" >> $GITHUB_ENV
echo "package_title=$(yq -oy ".title" manifest.*)" >> $GITHUB_ENV
start-cli init
if [[ -n "$S9DEVKEY" ]]; then
echo "Using developer key from secrets to sign the package."
printf '%s' "$S9DEVKEY" > ~/.startos/developer.key.pem
else
echo "Using newly generated developer key to sign the package."
fi
RUST_LOG=debug RUST_BACKTRACE=1 make
sleep 2
MANIFEST_JSON=$(start-cli s9pk inspect *.s9pk manifest)
PACKAGE_ID=$(echo "$MANIFEST_JSON" | jq -r '.id')
PACKAGE_TITLE=$(echo "$MANIFEST_JSON" | jq -r '.title')
echo "package_id=${PACKAGE_ID}" >> $GITHUB_ENV
echo "package_title=${PACKAGE_TITLE}" >> $GITHUB_ENV
printf "\n SHA256SUM: $(sha256sum ${PACKAGE_ID}.s9pk) \n"
shell: bash

- name: Generate sha256 checksum
run: |
PACKAGE_ID=${{ env.package_id }}
printf "\n SHA256SUM: $(sha256sum ${PACKAGE_ID}.s9pk) \n"
sha256sum ${PACKAGE_ID}.s9pk > ${PACKAGE_ID}.s9pk.sha256
sha256sum ${{ env.package_id }}.s9pk > ${{ env.package_id }}.s9pk.sha256
shell: bash

- name: Generate changelog
run: |
PACKAGE_ID=${{ env.package_id }}
echo "## What's Changed" > change-log.txt
yq -oy '.release-notes' manifest.* >> change-log.txt
echo "" >> change-log.txt
RELEASE_NOTES=$(start-cli s9pk inspect *.s9pk manifest | jq -r '.releaseNotes')
echo "${RELEASE_NOTES}" >> change-log.txt
echo "## SHA256 Hash" >> change-log.txt
echo '```' >> change-log.txt
sha256sum ${PACKAGE_ID}.s9pk >> change-log.txt
sha256sum ${{ env.package_id }}.s9pk >> change-log.txt
echo '```' >> change-log.txt
shell: bash

Expand All @@ -61,12 +71,13 @@ jobs:

- name: Publish to Registry
env:
S9USER: ${{ secrets.S9USER }}
S9PASS: ${{ secrets.S9PASS }}
S9DEVKEY: ${{ secrets.S9DEVKEY }}
S9REGISTRY: ${{ secrets.S9REGISTRY }}
run: |
if [[ -z "$S9USER" || -z "$S9PASS" || -z "$S9REGISTRY" ]]; then
echo "Publish skipped: missing registry credentials."
if [[ -z "$S9DEVKEY" || -z "$S9REGISTRY" ]]; then
echo "Publish skipped: One or both of S9DEVKEY and S9REGISTRY secrets are not set."
else
start-sdk publish https://$S9USER:$S9PASS@$S9REGISTRY ${{ env.package_id }}.s9pk
echo "Publishing package to registry..."
start-cli --registry https://$S9REGISTRY registry package add ${{ env.package_id }}.s9pk ${{ github.server_url }}/${{ github.repository }}/releases/download/${{ github.ref_name }}/${{ env.package_id }}.s9pk
fi
shell: bash
9 changes: 5 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
manager/target/
**/*.rs.bk
*.s9pk
startos/*.js
node_modules/
.DS_Store
.vscode/
scripts/embassy.js
docker-images/
docker-images
javascript
ncc-cache
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "bitcoin"]
path = bitcoin
url = https://github.com/bitcoin/bitcoin
url = git@github.com:bitcoin/bitcoin.git
74 changes: 29 additions & 45 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,18 +1,9 @@
# From https://github.com/ruimarinho/docker-bitcoin-core

# Build stage for BerkeleyDB
ARG PLATFORM

FROM lncm/berkeleydb:db-4.8.30.NC-${PLATFORM} AS berkeleydb

# Build stage for Bitcoin Core
FROM alpine:3.21 AS bitcoin-core

COPY --from=berkeleydb /opt /opt

RUN sed -i 's/http\:\/\/dl-cdn.alpinelinux.org/https\:\/\/alpine.global.ssl.fastly.net/g' /etc/apk/repositories
RUN apk --no-cache add \
autoconf \
cmake \
automake \
boost-dev \
build-base \
Expand All @@ -25,41 +16,45 @@ RUN apk --no-cache add \
libtool \
linux-headers \
sqlite-dev \
zeromq-dev
zeromq-dev \
bash \
curl

ADD ./bitcoin /bitcoin

ENV BITCOIN_PREFIX=/opt/bitcoin

WORKDIR /bitcoin

RUN ./autogen.sh
RUN ./configure LDFLAGS=-L`ls -d /opt/db*`/lib/ CPPFLAGS=-I`ls -d /opt/db*`/include/ \
RUN make -C depends NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_SQLITE=1 NO_UPNP=1 NO_ZMQ=1 NO_USDT=1

RUN cmake -B build -DCMAKE_LD_FLAGS=-L`ls -d /opt/db*`/lib/ -DCMAKE_CPP_FLAGS=-I`ls -d /opt/db*`/include/ \
# If building on Mac make sure to increase Docker VM memory, or uncomment this line. See https://github.com/bitcoin/bitcoin/issues/6658 for more info.
# CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768" \
CXXFLAGS="-O1" \
CXX=clang++ CC=clang \
--prefix=${BITCOIN_PREFIX} \
--disable-man \
--disable-tests \
--disable-bench \
--disable-ccache \
--with-gui=no \
--with-utils \
--with-libs \
--with-sqlite=yes \
--with-daemon
RUN make -j$(nproc)
RUN make install
-DENABLE_IPC=OFF \
-DCMAKE_CXX_FLAGS="-O2" \
-DCMAKE_CXX=clang++ CC=clang \
-DCMAKE_INSTALL_PREFIX=${BITCOIN_PREFIX} \
-DINSTALL_MAN=OFF \
-DBUILD_TESTS=OFF \
-DBUILD_BENCH=OFF \
-DWITH_CCACHE=OFF \
-DBUILD_GUI=OFF \
#--with-utils \
-DBUILD_CLI=ON \
-DBUILD_BITCOINCONSENSUS_LIB=ON \
-DWITH_SQLITE=ON \
-DBUILD_DAEMON=ON \
-DENABLE_HARDENING=ON \
-DREDUCE_EXPORTS=ON \
-DWITH_ZMQ=ON
RUN cmake --build build -j$(nproc)
RUN cmake --install build
RUN strip ${BITCOIN_PREFIX}/bin/*

# Build stage for compiled artifacts
FROM alpine:3.21

LABEL maintainer.0="João Fonseca (@joaopaulofonseca)" \
maintainer.1="Pedro Branco (@pedrobranco)" \
maintainer.2="Rui Marinho (@ruimarinho)" \
maintainer.3="Aiden McClelland (@dr-bonez)"

RUN sed -i 's/http\:\/\/dl-cdn.alpinelinux.org/https\:\/\/alpine.global.ssl.fastly.net/g' /etc/apk/repositories
RUN apk --no-cache add \
Expand All @@ -69,7 +64,8 @@ RUN apk --no-cache add \
libzmq \
sqlite-dev \
tini \
yq
yq \
jq \
RUN rm -rf /var/cache/apk/*

ARG ARCH
Expand All @@ -79,17 +75,5 @@ ENV BITCOIN_PREFIX=/opt/bitcoin
ENV PATH=${BITCOIN_PREFIX}/bin:$PATH

COPY --from=bitcoin-core /opt /opt
COPY ./manager/target/${ARCH}-unknown-linux-musl/release/bitcoind-manager \
./docker_entrypoint.sh \
./actions/reindex.sh \
./actions/reindex_chainstate.sh \
./check-rpc.sh \
./check-synced.sh \
/usr/local/bin/

RUN chmod a+x /usr/local/bin/bitcoind-manager \
/usr/local/bin/*.sh

EXPOSE 8332 8333

ENTRYPOINT ["/usr/local/bin/docker_entrypoint.sh"]
EXPOSE 8332 8333
1 change: 0 additions & 1 deletion LICENSE

This file was deleted.

21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The MIT License (MIT)

Copyright (c) 2011-2025 The Bootstrap Authors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Loading