stacks-core
stacks-core copied to clipboard
Remove puppet-chain directory and binary
The puppet-chain binary doesn't seem to be used anymore -- clarinet integrate and devnet do not use it for setting up a local regtest environment, and our integration tests do not use it either.
It could still be useful for developers trying to spin up their own bitcoin regtest environment. However, I feel pretty ambivalent about supporting that use case through the puppet-chain: we don't really cover that use case with our tests, so the current level of support is at best "waiting for an undetected regression", and we're probably better off just eliminating puppet-chain and supporting local regtest through direct bitcoin interaction (that's what our neon_integrations tests do).
This came up from a discussion started by @wileyj in the stacks-core-devs discord.
adding some more context: puppet-chain is currently used in the "net-test" tests that are disabled in the github action workflow currently: https://github.com/stacks-network/stacks-blockchain/blob/master/.github/workflows/ci.yml#L73-L75
puppet-chain is still built/installed in Dockerfiles, ex: https://github.com/stacks-network/stacks-blockchain/blob/master/Dockerfile#L16-L19
and the net-test test would likely need to be adjusted or removed to account for puppet-chain removal: https://github.com/stacks-network/stacks-blockchain/blob/master/net-test/bin/start.sh#L57-L83
As an alternative to removing it, could the source be moved to ./contrib and remove the compilation from build scripts/Dockerfiles as a default?
Looks like this happened.