Files
zeekay 2b3c255898 wallet: custody is M-Chain by default
The backend defaulted MPC_ENDPOINT to mpc.lux.network — a standalone
REST cluster. mpcvm/transport.go in lux/chains calls that "the old
off-chain REST cluster (luxfi/mpc)" in as many words: M-Chain is what
replaced it, running the DKG/sign/reshare ceremony natively across the
chain's own validators, leaderless, with the committee being the
validator set rather than a cluster of its own.

So the default is now M-Chain, at api.lux.network/v1/bc/M.

MPC_ENDPOINT still overrides. A tenant running centralized or
bring-your-own MPC points it at mpc.lux.cloud — that is the exception,
and it is now the one that has to be asked for rather than the one you
get by not choosing.

Note for whoever deploys this: wallet-api.lux.network does not resolve.
Sign-in works today and nothing behind it does, because creating a
wallet and signing both go through this service.
2026-08-29 08:52:59 -07:00

20 lines
757 B
Docker

# wallet-backend — the canonical App(Wallet) custody server. Static Go binary,
# distroless runtime. No plaintext keys: custody is MPC (M-Chain).
# Built by platform native CI (NO GitHub Actions).
FROM golang:1.26-alpine AS build
WORKDIR /src
# The module lives at apps/backend in the wallet monorepo; build it standalone
# (GOWORK=off) so the image doesn't need the monorepo go.work.
COPY apps/backend/go.mod apps/backend/go.sum ./
RUN go mod download
COPY apps/backend/ ./
ENV GOWORK=off CGO_ENABLED=0
RUN go build -trimpath -ldflags="-s -w" -o /out/wallet-backend ./cmd/wallet-backend
FROM gcr.io/distroless/static-debian12:nonroot
COPY --from=build /out/wallet-backend /wallet-backend
EXPOSE 8080
USER nonroot:nonroot
ENTRYPOINT ["/wallet-backend"]