Walkthrough
This recording shows the complete mpfs-cli lifecycle against a local
MPFS devnet. It uses a throwaway funded devnet signer, points the CLI at
http://localhost:3000, and keeps the output focused on verified
results instead of proof payloads.
What the session shows:
- Environment and connection — prints safe values for
MPFS_SERVER,MPFS_BLUEPRINT, and the signer key path, then runstoken listagainst the fresh devnet. - Token boot — runs
register-tokenwith short devnet timing, waits for submission/indexing, then confirms the token withtoken listandtoken get. - Insert and materialize — submits
fact insert, shows the pending request withrequests list, runs owner-sidetoken process, then proves the value withfact getandfact list. - Update — submits
fact update, processes it, and showsfact getreturning the new value. - Delete — submits
fact delete, processes it, and showsfact getreturning a verified absence proof. - Reject — submits a pending request, waits past the short devnet
deadlines, runs
fact reject, and confirmsrequests listis empty. - Retract — submits another request, reads its request id from
requests list, waits until the process window has elapsed, runsfact retract, and confirms no requests remain. - End — runs
token endafter clearing pending requests and shows the finaltoken listis empty.
The same devnet signer is used for requester and owner actions in the recording. On a shared deployment those roles can be operated by different funded keys when the token policy and request ownership allow it.
Reproduce it
Start a local devnet server:
In another shell, use the dev shell so MPFS_BLUEPRINT and the CLI
tooling are available:
nix develop
export MPFS_SERVER=http://localhost:3000
export MPFS_SIGNER_WALLET=/path/to/funded-devnet.ed25519_sk
mpfs-cli --json token list | jq '{verified,result}'
The signer file must contain a Bech32 ed25519_sk... key whose
enterprise address is funded on the devnet. The E2E helpers use a
throwaway devnet genesis key; avoid printing key contents in terminal
recordings.
For a non-recorded smoke test of the main write path:
MPFS_SERVER=http://localhost:3000 \
MPFS_SIGNER_WALLET=/path/to/funded-devnet.ed25519_sk \
cardano-mpfs-cli/e2e/walkthrough.sh
The smoke script asserts register, insert/process/get, update/process/get, delete/process/absence, reject, and end. The cast adds the commented terminal narrative and the retract path.