FROM golang:1.23-alpine AS builder

RUN apk add --no-cache make gcc musl-dev linux-headers git

ADD . /go-ethereum

RUN cd /go-ethereum \
    && make XDC \
    && chmod +x /go-ethereum/build/bin/XDC

FROM alpine:latest

WORKDIR /xdc

COPY --from=builder /go-ethereum/build/bin/XDC /usr/local/bin/XDC

ENV IDENTITY ''
ENV PASSWORD ''
ENV PRIVATE_KEY ''
ENV BOOTNODES ''
ENV EXTIP ''
ENV VERBOSITY 3
ENV SYNC_MODE 'full'
ENV NETWORK_ID '50'
ENV WS_SECRET ''
ENV NETSTATS_HOST 'netstats-server'
ENV NETSTATS_PORT '3000'
ENV ANNOUNCE_TXS ''

RUN apk add --no-cache ca-certificates

COPY docker/XDPoSChain ./
COPY genesis/ ./

EXPOSE 8545 8546 30303 30303/udp

ENTRYPOINT ["./entrypoint.sh"]
