Skip to main content

Contract Lifecycle

To manage the lifecycle of a Stellar smart contract using the CLI, follow these steps:

  1. Set your preferred network. For this guide, we will use testnet. A list of available networks can be found here
stellar network use testnet
  1. Create an identity for Alice:
stellar keys generate alice -q
  1. Fund the identity:
stellar keys fund alice
  1. Deploy a contract:
stellar keys use alice
stellar contract deploy --wasm /path/to/contract.wasm --alias mycontract

This will display the resulting contract ID, e.g.:

CBB65ZLBQBZL5IYHDHEEPCVUUMFOQUZSQKAJFV36R7TZETCLWGFTRLOQ

To learn more about how to build contract .wasm files, take a look at our getting started tutorial.

  1. Invoke a contract function:
stellar contract invoke --id mycontract -- <FUNCTION>
  1. View the contract's state:
stellar contract read --id mycontract --durability <DURABILITY> --key <KEY>

Note: <DURABILITY> is either persistent or temporary. KEY provides the key of the storage entry being read.

  1. Manage expired states:
stellar contract extend --id mycontract --ledgers-to-extend 1000 --durability <DURABILITY> --key <KEY>

This extends the state of the instance provided by the given key to at least 1000 ledgers from the current ledger.

Guides in this category: