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 devenvs 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/downcommands 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.