#shadow #drive #standard #nft #account #solana #genesys-go

bin+lib shadow-drive-cli

The Rust CLI for GenesysGo's Shadow Drive, NFT Standard Program, and Minter Program

8 unstable releases (3 breaking)

0.8.1 Jun 23, 2023
0.8.0 Jun 23, 2023
0.7.2 Aug 19, 2023
0.7.1 May 22, 2023
0.0.0 Dec 20, 2022

#3 in #genesys-go

MIT/Apache and GPL-3.0-only

265KB
5K SLoC

Shadow Drive CLI (Rust Version)

This is a CLI for Shadow Drive written using the Shadow Drive Rust crate. It is largely a clap wrapper around that crate.

Although there is already a CLI for Shadow Drive written in Typescript, I wanted something with identical interface to the official Solana CLI -k/--keypair and -u/--url arguments. You can pass all the same signer types ("prompt", "stdin", etc), but be aware that Ledger still does not support general message signing, and you therefore cannot perform most Shadow Network operations using a hardware wallet yet.

This is an opinionated CLI, choosing V2 storage accounts where applicable.

The CLI also works with authenticated GenesysGo Premium RPC Endpoints. See the --auth flag for more details.

Build

Build the binary like a standard Rust crate.

cargo build

Execution

The CLI looks for a Solana CLI config file. Configure your signing key there using the usual solana config set -k <SIGNER>, or pass one in using the -k/--keypair argument. If no -k/--keypair argument is used and no config file is found, this CLI defaults to the same keypair path as the Solana CLI's default, located at .config/solana/id.json.

For further usage details, there is extensive help text built into the binary.

$ target/debug/shadow-drive-cli --help

TODO

  • Better Error Handling
  • Testing

Dependencies

~82MB
~1.5M SLoC