Added
letsgo-wsl.bat— one-click Windows launcher that auto-installs
WSL2 + Ubuntu-22.04 if missing (first run requires admin + reboot),
then clones the repo inside WSL and runs./letsgo testnet|mainnet.
On a machine that already has WSL2, total bring-up is ~30 seconds —
same as the native Linux path.- README "Running on Windows" section — documents the WSL2 and
MSYS2 paths side-by-side with a clear recommendation (WSL2 for
almost everyone, MSYS2 only if WSL is unavailable).
Fixed (CI)
-
integration-testjob finally green. Three compounding bugs
found and fixed via the v0.2.5 → v0.2.7 release smoke arc:- The job rebuilt the full Dockerfile from scratch on every run
(~5+ min) becausedocker-build'smxdlib:latestimage lived on
a different runner. Nowdocker-buildsaves the image as a
workflow artifact andintegration-testdownloads +docker loads
it (~30 s instead of ~5 min). - The container CMD didn't pass
--http-api 8080, so
http.require_auth=1+ emptyapi_tokencaused the HTTP API to
refuse to start. The compose now overrides the CMD to enable HTTP
API explicitly (same as whatletsgodoes on testnet). - Host curl to
localhost:8080/statusfailed with CURLE_RECV_ERROR
(exit 56) due to an IPv6/IPv4 bridge quirk on GitHub Actions
runners. The verify step now usesdocker execto query
/statusfrom inside each container — same path as the
healthcheck, no bridge involved.
- The job rebuilt the full Dockerfile from scratch on every run
-
New
docker-compose.ci.yml(mxdlib-private, not shipped via the
public manifest). Minimal 2-node compose usingimage: mxdlib:latest
with nobuild:directive, no monitoring stack, tight healthchecks
asserting/statusreturns JSON with a"height"field. Operator-
facingdocker-compose.test.ymlremains in the public repo for
local "spin up the full stack with monitoring" use cases.
Notes
- No functional changes to libmxd, chain consensus, or wire format.
Same binary as v0.2.7. - The Windows launcher works against this release tag and any
future tag —letsgo-wsl.batitself doesn't hard-code a version;
it delegates to the Linuxletsgoscript which resolves the
latest release dynamically.