chore: add ic env + build-image.sh to motoko/basic_bitcoin#1429
Open
marc0olo wants to merge 2 commits into
Open
chore: add ic env + build-image.sh to motoko/basic_bitcoin#1429marc0olo wants to merge 2 commits into
marc0olo wants to merge 2 commits into
Conversation
- Replace staging/production environments with a single `ic` environment (Bitcoin testnet4, test_key_1) — the default for IC network deployments - Add build-image.sh as a standalone alternative to `make build-image` - Update README to reflect new environment structure and document how to switch to Bitcoin mainnet + key_1 for production deployments - Update app.mo comments to reference `ic` env instead of `staging`/`production` Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
build-image is now covered by build-image.sh; the topup command is documented inline in the README. Makefile is kept only for make test. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
mbjorkqvist
approved these changes
Jul 8, 2026
mbjorkqvist
left a comment
Contributor
There was a problem hiding this comment.
Thanks @marc0olo! Just a couple of nits.
Comment on lines
-7
to
-10
| build-image: | ||
| # Because we're building off of :latest, use --pull to fetch the latest image. | ||
| # Remove `--pull` if the Dockerfile is updated to pin the base image version. | ||
| docker build --pull -t $(IMAGE_NAME) . |
Contributor
There was a problem hiding this comment.
nit: The PR description calls build-image.sh an "alternative" to make build-image, but the target is actually removed here, so it's a replacement, not an alternative.
| set -e | ||
| # Uses --pull to always fetch the latest base image. | ||
| # Remove --pull if the Dockerfile is updated to pin the base image version. | ||
| docker build --pull -t icp-cli-network-launcher-bitcoin . |
Contributor
There was a problem hiding this comment.
nit: The image name icp-cli-network-launcher-bitcoin is now hard-coded in two places (here, and as IMAGE_NAME in the Makefile), so there are two sources of truth to fix if the name ever changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
staging/productionenvironments with a singleicenvironment (Bitcoin testnet4,test_key_1) — the standard default for IC network deploymentsbuild-image.shas a standalone alternative tomake build-imagekey_1for production deploymentsapp.mocomments to referenceicenv instead ofstaging/productionWhy a single
icenvironmenticp.ninja (and other tools) expect an environment named
icwhen deploying to the IC network. Usingtest_key_1+ testnet4 as the default is the safe choice — developers can optionally switch to mainnet by changing theinit_argsinicp.yaml, at which point the canister automatically selectskey_1.Test plan
./build-image.shbuilds the Docker image successfullyicp network start -d && icp deploy --cycles 30t && make testpasses locallyicp deploy -e ic --cycles 30tdeploys to IC mainnet against Bitcoin testnet4🤖 Generated with Claude Code