sbtc-developer-release
sbtc-developer-release copied to clipboard
Split devenv into different node profiles.
Summary of Changes
There's been some debate about the scope of devenv
s services. I'm exploring how to enable multiple 'devenv' profiles to cover a wider range of applications (core dev, third-party dev, testing). The immediate need is a minimal node with a local Romeo instance. I added a minimal profile with (bitcoind, stacks + RPC, electrs) for local romeo development.
- Split the docker-compose file. A new file contains fewer services meant for sbtc developers that spin Romeo locally.
- Refactor
up
/down
commands to support upping and downing 'min'/'full' nodes. - Sets precedence for a dedicated 'node profile' for integration tests.
Testing
Risks
Didn't fully test all util scripts. I don't expect any big complications, though.
How were these changes tested?
manual runs.
./up.sh
./up.sh min --help
./up.sh min min
./up.sh min full
./up.sh full
./down.sh full
./up.sh min
./down.sh min
./up.sh full
./up.sh min
./down.sh full
./up.sh min
./down.sh full
./up.sh full
./up.sh full
./utils/mine_btc.sh 10
What future testing should occur?
Checklist:
- [X] My code follows the style guidelines of this project
- [X] I have performed a self-review of my code
- [X] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [X] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
Codecov Report
Merging #307 (6c07ff7) into main (c1b5abd) will increase coverage by
1.62%
. Report is 8 commits behind head on main. The diff coverage isn/a
.
:exclamation: Current head 6c07ff7 differs from pull request most recent head 89516e2. Consider uploading reports for the commit 89516e2 to get more accurate results
@@ Coverage Diff @@
## main #307 +/- ##
==========================================
+ Coverage 41.49% 43.12% +1.62%
==========================================
Files 40 45 +5
Lines 5111 5359 +248
Branches 0 47 +47
==========================================
+ Hits 2121 2311 +190
- Misses 2990 3047 +57
- Partials 0 1 +1
Flag | Coverage Δ | |
---|---|---|
unittests | 76.61% <ø> (?) |
Flags with carried forward coverage won't be shown. Click here to find out more.
see 5 files with indirect coverage changes
:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!
Partially addresses #282. We would still need to revisit utils
in another PR.
The goal should probably be that we can run several signers as defined here: https://github.com/stacks-network/stacks-blockchain/blob/next/stacks-signer/README.md#generate-files
The goal should probably be that we can run several signers as defined here: https://github.com/stacks-network/stacks-blockchain/blob/next/stacks-signer/README.md#generate-files
Thanks for the heads up. My immediate goal is to unblock the integration pipeline. Adding support for a 'signer ring' profile sounds good too. Once we have more details, I can help with that if needed.
I can see so far a few different use cases.
- full-node for third party users exploring sBTC.
- min for dev with a local romeo server.
- integration running services required for testing only.
- signer-ring for signing rounds.