@cashu/cashu-ts
Version:
cashu library for communicating with a cashu mint
116 lines (94 loc) • 3.31 kB
Plain Text
# Dev-only guard, require explicit opt-in
ifndef DEV
$(error Set DEV=1 to run these, eg: "DEV=1 make nutshell-up" or "export DEV=1")
endif
DOCKER ?= docker
PORT ?= 3338
BIND_ADDR ?= 127.0.0.1
INPUT_FEE_PPK ?= 100
FAKE_DELAY ?= 1
RATE_LIMIT_PM ?= 200
# ------------------------
# Pin versions
# ------------------------
CDK_IMAGE_RC ?= cashubtc/mintd:0.14.3
CDK_IMAGE ?= cashubtc/mintd:v0.16.0
CDK_NAME ?= cashu-dev-cdk
NUT_IMAGE_RC ?= cashubtc/nutshell:0.18.2
NUT_IMAGE ?= cashubtc/nutshell:0.20.0
NUT_NAME ?= cashu-dev-nutshell
# ------------------------
# Docker envs per dependency
# ------------------------
CDK_ENVS = \
-e CDK_MINTD_DATABASE=sqlite \
-e CDK_MINTD_LN_BACKEND=fakewallet \
-e CDK_MINTD_INPUT_FEE_PPK=$(INPUT_FEE_PPK) \
-e CDK_MINTD_LISTEN_HOST=0.0.0.0 \
-e CDK_MINTD_LISTEN_PORT=3338 \
-e CDK_MINTD_FAKE_WALLET_MIN_DELAY=$(FAKE_DELAY) \
-e CDK_MINTD_FAKE_WALLET_MAX_DELAY=$(FAKE_DELAY) \
-e CDK_MINTD_MNEMONIC='abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about'
NUT_ENVS = \
-e MINT_LIGHTNING_BACKEND=FakeWallet \
-e MINT_INPUT_FEE_PPK=$(INPUT_FEE_PPK) \
-e MINT_LISTEN_HOST=0.0.0.0 \
-e MINT_LISTEN_PORT=3338 \
-e MINT_PRIVATE_KEY=TEST_PRIVATE_KEY \
-e FAKEWALLET_DELAY_PAYMENT=TRUE \
-e FAKEWALLET_DELAY_OUTGOING_PAYMENT=$(FAKE_DELAY) \
-e FAKEWALLET_DELAY_INCOMING_PAYMENT=$(FAKE_DELAY) \
-e MINT_TRANSACTION_RATE_LIMIT_PER_MINUTE=$(RATE_LIMIT_PM)
# ------------------------
# Platform flag
# ------------------------
UNAME_M := $(shell uname -m)
ifeq ($(filter arm64 aarch64,$(UNAME_M)),$(UNAME_M))
PLATFORM ?= linux/amd64
endif
PLATFORM_FLAG := $(if $(PLATFORM),--platform=$(PLATFORM),)
# ------------------------
# CDK Targets
# ------------------------
cdk-up:
-$(DOCKER) rm -f -v $(CDK_NAME) >/dev/null 2>&1 || true
$(DOCKER) run --pull=always -d --name $(CDK_NAME) $(PLATFORM_FLAG) \
-p $(BIND_ADDR):$(PORT):3338 \
$(CDK_ENVS) \
$(CDK_IMAGE)
cdk-down:
-$(DOCKER) rm -f -v $(CDK_NAME)
cdk-stable-up:
$(MAKE) cdk-up CDK_NAME=cashu-dev-cdk CDK_IMAGE=$(CDK_IMAGE)
cdk-rc-up:
$(MAKE) cdk-up CDK_NAME=cashu-dev-cdk-rc CDK_IMAGE=$(CDK_IMAGE_RC)
cdk-stable-down:
$(MAKE) cdk-down CDK_NAME=cashu-dev-cdk
cdk-rc-down:
$(MAKE) cdk-down CDK_NAME=cashu-dev-cdk-rc
print-mint-images:
@echo "CDK_IMAGE=$(CDK_IMAGE)"
@echo "CDK_IMAGE_RC=$(CDK_IMAGE_RC)"
@echo "NUT_IMAGE=$(NUT_IMAGE)"
@echo "NUT_IMAGE_RC=$(NUT_IMAGE_RC)"
# ------------------------
# Nutshell Targets
# ------------------------
nutshell-up:
-$(DOCKER) rm -f -v $(NUT_NAME) >/dev/null 2>&1 || true
$(DOCKER) run --pull=always -d --name $(NUT_NAME) $(PLATFORM_FLAG) \
-p $(BIND_ADDR):$(PORT):3338 \
$(NUT_ENVS) \
$(NUT_IMAGE) poetry run mint
nutshell-down:
-$(DOCKER) rm -f -v $(NUT_NAME)
nutshell-stable-up:
$(MAKE) nutshell-up NUT_NAME=cashu-dev-nutshell NUT_IMAGE=$(NUT_IMAGE)
nutshell-rc-up:
$(MAKE) nutshell-up NUT_NAME=cashu-dev-nutshell-rc NUT_IMAGE=$(NUT_IMAGE_RC)
nutshell-stable-down:
$(MAKE) nutshell-down NUT_NAME=cashu-dev-nutshell
nutshell-rc-down:
$(MAKE) nutshell-down NUT_NAME=cashu-dev-nutshell-rc