Command-line interface for publishing, deploying, and installing smart contracts through the Stellar Registry — an on-chain contract that manages Wasm publication and named contract deployments on the Stellar blockchain.
The CLI installs as a plugin under the stellar CLI, exposed as stellar registry.
- CLI (this repo): stellar-registry/cli
- On-chain contracts: stellar-registry/contracts
- Frontend: stellar-registry/ui
- Indexer & API: stellar-registry/indexer
- Scaffold toolkit: stellar-scaffold/cli
cargo install --locked stellar-registry-cliWe recommend cargo-binstall for prebuilt binaries:
cargo binstall --locked stellar-registry-cli# Publish a compiled contract to the registry
stellar registry publish --wasm target/stellar/local/my_contract.wasm --wasm-name my-contract
# Deploy a published wasm as a named instance (constructor args after `--`)
stellar registry deploy \
--contract-name my-contract-instance \
--wasm-name my-contract \
-- \
--param1 value1
# Install the deployed contract locally as a stellar-cli alias
stellar registry install my-contract-instanceUse --help on any command for full usage. See the crate README at
crates/stellar-registry-cli for
the detailed command reference, configuration, and the mainnet workflow.
| Crate | Purpose |
|---|---|
stellar-registry-cli |
The stellar registry CLI plugin |
stellar-registry-build |
Library for interacting with the registry at build time |
stellar-registry |
Shared registry types and the import_contract_client! macro |
The registry is an on-chain smart contract that lets you:
- Publish and verify contract Wasm binaries with semantic versioning
- Deploy published contracts as named instances
- Manage multiple versions of the same contract
- Reuse deployed contracts across dApps
It separates Wasm publication (reusable code), contract deployment (instances), and local installation (CLI aliases). The contracts themselves live in stellar-registry/contracts.
Licensed under the Apache-2.0 License — see LICENSE for details.