Sign inSign up

kingpinapps/scm

By kingpinapps

•Updated 6 days ago

Interactive TUI & CLI for Cardano: keys, transactions, stake pools, governance

Image
Developer tools
1

1.9K

kingpinapps/scm repository overview

⁠scm — Swift Cardano Multitool

An interactive terminal UI and CLI for the Cardano blockchain: keys, addresses, transactions, stake pools, Conway-era governance, native assets and air-gapped workflows, in one static binary.

⁠Tags

TagMeaning
latestThe most recent release
<version> (e.g. 0.15.2)A specific release — pin this in scripts and CI

Every tag is multi-arch: linux/amd64 and linux/arm64.

⁠Quick start

scm is an interactive TUI, so -it is required for the menus:

docker run -it --rm kingpinapps/scm

Subcommands also run headless, which is what you want in scripts and CI:

docker run --rm kingpinapps/scm --version
docker run --rm kingpinapps/scm --help

⁠Using your configuration and keys

Configuration and keys stay on the host. Mount the directory holding them read-only and point CARDANO_MULTITOOL_CONFIG at the config file inside the container — the variable is required, since scm has no default search path.

docker run -it --rm \
  -v "$HOME/.scm:/home/scm/.scm:ro" \
  -e CARDANO_MULTITOOL_CONFIG=/home/scm/.scm/config-mainnet.json \
  kingpinapps/scm

Paths inside a config file are resolved in the container. Anything they point at — a cardano-node socket, a key directory — must be mounted at the same path. Remote backends (Blockfrost, Koios, Ogmios) need nothing extra.

To work with files from the host, mount them too:

docker run --rm \
  -v "$HOME/.scm:/home/scm/.scm:ro" \
  -v "$PWD:/work:ro" \
  -e CARDANO_MULTITOOL_CONFIG=/home/scm/.scm/config-mainnet.json \
  kingpinapps/scm transaction validate --tx-file /work/tx.json --json

⁠Environment variables

VariableDescription
CARDANO_MULTITOOL_CONFIGPath to the config file (JSON, TOML or YAML)
BLOCKFROST_PROJECT_IDBlockfrost API project ID
CARDANO_MULTITOOL_SKIP_PROMPT1 skips interactive confirmations
CARDANO_MULTITOOL_DECRYPT_PASSWORDPre-supplies a decryption password
CARDANO_NODE_SOCKET_PATHLocal node socket path

See the full list⁠.

⁠What's in the image

  • Ubuntu 22.04 base with libcurl4 and ca-certificates
  • /usr/local/bin/scm as the entrypoint (statically linked Swift runtime)
  • Runs as the unprivileged scm user, with /home/scm as its home and working directory
  • No configuration, keys or API credentials are baked in

⁠License

MIT — see LICENSE⁠.

Tag summary

Content type

Image

Digest

sha256:6c120c625…

Size

94.2 MB

Last updated

6 days ago

docker pull kingpinapps/scm