[ADD] Docker and Mocknet Cleanup
This includes cleanup and restructuring around the Docker build and local mocknet - this should be fine to review, but I will leave in Draft status until January.
Changes:
- Removed dead/broken build and mocknet configuration
- Restructured mocknet to use vanilla
docker-composeand leverageprofiles-cd build/docker && docker compose --profile mocknet up - Docker Compose services now use volumes instead of bind mounts (UID/GID mismatch was a pain point)
- Fixed a couple functions in
core.shwhereIFSwas overridden as a side effect - Parameterized
CHAIN_IDinthornode init - Minor restructure of
build/scripts - Updated
cosmos.SignerCredsto optionally read from environment variables so the entrypoints no longer need to pipeprintftothornode - Images now run a full node by default if no command is provided
If there were any use cases missed in the restructure please advise - the goal was net simplification not to remove anything that's actively used, but I wasn't 100% sure on some of these. Additional planned work related to this will be proposed in subsequent MRs sequentially:
- Move as much logic as possible from the entrypoint shell scripts into initialization in
thornode(this will also allow docker image improvements - the size can be ~100MB instead of ~500MB) - Configure a
docker-composeservice for a web UI like THORSwap that works properly with all chains on the local mocknet - Extend mocknet with a
--clusterprofile that can be used to add multiplethornode/bifrostpairs for local churns - Use the cluster mocknet to add churn-related testing to the smoke tests
Edited by Heimdall