Albus CLI
Command-line interface (CLI) v.0.0.1 for interacting with Albus program endpoints.
Usage
pnpm cli [option(s)] [command]-V, --version: outputs the current version number
-c, --cluster <CLUSTER>: sets a Solana cluster (mainnet-beta, testnet or devnet; default: devnet)
-k, --keypair <PATH_TO_KEYPAIR>: sets a file path or URL to a keypair (default: ~/.config/solana/id.json)
-1, --log-level <LOGGING_LEVEL>: sets sets a logging level (info, error, or warn; default: info)
-h, --help: displays information about the command
Default Values
Default values can be set or changed in an .env file via the following environmental variables:
CLI_SOLANA_CLUSTER=[value]CLI_SOLANA_KEYPAIR=[value]CLI_LOG_LEVEL=[value]
Usage Example
Running
admin sp add:
pnpm cli admin sp add --code <UNIQUE_CODE> --name <NAME>Running
admin sp addwith-hto view arguments:
pnpm cli admin sp add -hCommands
Identity
Create an identity and store it as NFT. It identifies the NFT holder as the Albus holder and stores its state:
pnpm cli identity createVerifiable Credentials (VC)
Show all VCs:
pnpm cli vc allIssue a VC and store it as NFT. The VC is encrypted with the NFT holder's pubkey:
pnpm cli vc issue --encryptProof Generation
Generate a ZK proof based on a corresponding circuit, and store it as NFT:
pnpm cli prove create --circuit <ADDRESS>Generate a ZK proof for a specific proof request, and store it as NFT:
pnpm cli request prove <ADDRESS>Verification
Verify a ZK proof:
pnpm cli verify proof --circuit <ADDRESS> --proof <ADDRESS>Verify a proof request, and change the status to "verified" or "rejected" depending on the output:
pnpm cli request verify <ADDRESS>Circuit Management
Register a new circuit:
pnpm cli admin circuit create <CIRCUIT_CODE>Web3 Protocol Management
Register a Web3 protocol:
pnpm cli admin sp add --code <UNIQUE_CODE> --name <NAME>Remove a Web3 protocol:
pnpm cli admin sp remove <UNIQUE_CODE>Show Web3 protocol info:
pnpm cli admin sp show <UNIQUE_CODE>Show all Web3 protocols with optional filters:
pnpm cli admin sp all --authority <ADDRESS>Proof Request Management
Create a proof request:
pnpm cli request create --sp <CODE> --circuit <ADDRESS>Delete a proof request:
pnpm cli request remove <ADDRESS>Show a proof request based on its program derived address (PDA):
pnpm cli request show <ADDRESS>Find and show a proof request based on a Web3 protocol's PDA, circuit NFT's mint address, and/or proof request owner's address:
pnpm cli request find --sp <CODE> --owner <ADDRESS> --circuit <ADDRESS> Show all proof requests with optional filters by service provider's PDA, circuit NFT's mint address, and/or ZKP NFT's mint address:
pnpm cli request all --sp <CODE> --circuit <ADDRESS> --proof <ADDRESS>Last updated