|
1 mesiac pred | |
---|---|---|
.. | ||
src | 1 mesiac pred | |
Cargo.toml | 1 mesiac pred | |
README.md | 1 mesiac pred | |
build.rs | 1 mesiac pred | |
example.config.toml | 1 mesiac pred |
ALPHA This library is in early development, the API will change and should be used with caution.
Cashu mint daemon implementation for the Cashu Development Kit (CDK). This binary provides a complete Cashu mint server implementation with support for multiple database backends and Lightning Network integrations.
From crates.io:
cargo install cdk-mintd
From source:
cargo install --path .
# Start with SQLite (no additional setup required)
cdk-mintd
# Set environment variables
export CDK_MINTD_DATABASE=postgres
export CDK_MINTD_DATABASE_URL="postgresql://postgres:password@localhost:5432/cdk_mint"
# Start the mint
cdk-mintd
# SQLite
docker-compose up
# PostgreSQL
docker-compose -f docker-compose.postgres.yaml up
The mint can be configured through environment variables or a configuration file. See example.config.toml
for all available options.
[database]
engine = "sqlite"
[database]
engine = "postgres"
Set CDK_MINTD_DATABASE_URL
environment variable for connection string.
[database]
engine = "redb"
[ln]
ln_backend = "fakewallet" # Options: cln, lnd, lnbits, fakewallet
You can configure where mintd outputs its logs using the [info.logging]
section in your config file or environment variables:
Config file:
[info.logging]
# Where to output logs: "stdout", "file", or "both" (default: "both")
output = "both"
# Log level for console output (default: "info")
console_level = "info"
# Log level for file output (default: "debug")
file_level = "debug"
Environment variables:
# Where to output logs: "stdout", "file", or "both" (default: "both")
export CDK_MINTD_LOGGING_OUTPUT="both"
# Log level for console output (default: "info")
export CDK_MINTD_LOGGING_CONSOLE_LEVEL="debug"
# Log level for file output (default: "debug")
export CDK_MINTD_LOGGING_FILE_LEVEL="debug"
Available logging outputs:
"stdout"
- Output logs only to console/terminal (stderr)"file"
- Output logs only to rotating daily log files in <work_dir>/logs/
"both"
- Output logs to both console and files (default behavior)Available log levels: error
, warn
, info
, debug
, trace
Examples:
Console only with debug level:
export CDK_MINTD_LOGGING_OUTPUT="stdout"
export CDK_MINTD_LOGGING_CONSOLE_LEVEL="debug"
File only with debug level:
[info.logging]
output = "file"
file_level = "debug"
Both console (warn) and file (debug):
export CDK_MINTD_LOGGING_OUTPUT="both"
export CDK_MINTD_LOGGING_CONSOLE_LEVEL="warn"
export CDK_MINTD_LOGGING_FILE_LEVEL="debug"
# Start the mint with default configuration
cdk-mintd
# Start with custom config file
cdk-mintd --config /path/to/config.toml
# Start with specific work directory
cdk-mintd --work-dir /path/to/work/dir
# Disable logging entirely
cdk-mintd --enable-logging false
# Show help
cdk-mintd --help
Key environment variables:
CDK_MINTD_DATABASE
: Database engine (sqlite/postgres/redb)CDK_MINTD_DATABASE_URL
: PostgreSQL connection stringCDK_MINTD_LN_BACKEND
: Lightning backend typeCDK_MINTD_LISTEN_HOST
: Host to bind toCDK_MINTD_LISTEN_PORT
: Port to bind toThis project is licensed under the MIT License.