From 1fac81d82787fe7c5dc10e12b1078685bed27dfc Mon Sep 17 00:00:00 2001 From: Chris Marslender Date: Wed, 21 Feb 2024 12:15:25 -0600 Subject: [PATCH 1/3] Add initial basic simulator support --- docker-entrypoint.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 939e5a4..0b2376c 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -11,6 +11,16 @@ cd /chia-blockchain || exit 1 # shellcheck disable=SC1091 . ./activate +# Set a few overrides if the service variable contains simulator +if [ -z "${service##*simulator*}" ]; then + echo "Setting up environment for simulator..." + export CHIA_ROOT=/root/.chia/simulator/main + export self_hostname="0.0.0.0" + + chia dev sim create --docker-mode + chia stop -d all +fi + # shellcheck disable=SC2086 chia ${chia_args} init --fix-ssl-permissions From 002b186e02ea10ce4da5ace731bd78e8b9ecdc0b Mon Sep 17 00:00:00 2001 From: Chris Marslender Date: Wed, 21 Feb 2024 12:55:42 -0600 Subject: [PATCH 2/3] Add support for persistent mnemonic for simulator, and make the key available when using sim --- .gitignore | 1 + Dockerfile | 2 +- docker-entrypoint.sh | 14 +++++++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1c2d52b..780d9e6 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .idea/* +sim-root diff --git a/Dockerfile b/Dockerfile index d6d15a1..7afe4a0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -55,7 +55,7 @@ ENV farmer="false" # netcat: Healthchecking the daemon # yq: changing config settings RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y sudo tzdata curl netcat-traditional && \ + DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y sudo tzdata curl netcat-traditional jq && \ rm -rf /var/lib/apt/lists/* && \ ln -snf "/usr/share/zoneinfo/$TZ" /etc/localtime && echo "$TZ" > /etc/timezone && \ dpkg-reconfigure -f noninteractive tzdata diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 0b2376c..5b273d4 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -17,8 +17,20 @@ if [ -z "${service##*simulator*}" ]; then export CHIA_ROOT=/root/.chia/simulator/main export self_hostname="0.0.0.0" - chia dev sim create --docker-mode + if [ -f /root/.chia/simulator/mnemonic ]; then + echo "Using provided mnemonic from /root/.chia/simulator/mnemonic" + # Use awk to trim leading and trailing whitespace while preserving internal spaces + mnemonic=$(awk '{$1=$1};1' /root/.chia/simulator/mnemonic) + fi + + if [ -n "$mnemonic" ]; then # Check if mnemonic is non-empty after trimming + chia dev sim create --docker-mode --mnemonic "${mnemonic}" + else + chia dev sim create --docker-mode + fi + chia stop -d all + chia keys show --show-mnemonic-seed --json | jq -r '.keys[0].mnemonic' > /root/.chia/simulator/mnemonic fi # shellcheck disable=SC2086 From e9f9d54462b2cd65f7cdd25ddb99a0b3b942665d Mon Sep 17 00:00:00 2001 From: Chris Marslender Date: Wed, 21 Feb 2024 12:58:59 -0600 Subject: [PATCH 3/3] ADd basic readme for now --- readme.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/readme.md b/readme.md index ac60e9c..ad6c114 100644 --- a/readme.md +++ b/readme.md @@ -326,3 +326,9 @@ readinessProbe: ``` See [Configure Probes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes) for more information about configuring readiness and liveness probes for Kubernetes clusters. The `initialDelaySeconds` parameter may need to be adjusted higher or lower depending on the speed to start up on the host the container is running on. + +## Simulator + +`docker run -e service=simulator -v /local/path/to/simulator:/root/.chia/simulator ghcr.io/chia-network/chia:latest` + +Mounts the simulator root to the provided local path to make the test plots and the mnemonic persistent. Mnemonic will be available at /local/path/to/simulator/mnemonic