migrate is used to perform the migration (deployment) process, declaring and deploying contracts as necessary to deploy or update the World.
Changes made to the local World after the initial deployment, can easily be pushed to the remote counterpart by running
sozo migrate --world <WORLD_ADDRESS> with
WORLD_ADDRESS being the address of the remote World. In the background,
migrate will compute the diffs of the local and remote World, then, start constructing a migration strategy to determine, if any, which part of the local World needs to be pushed upstream.
sozo migrate [OPTIONS]
Name of the World. At the moment, the only usage for this option is to be used as a salt when deploying the World contract to avoid address conflicts. This option is required when performing the initial migration of the World.
The address of the World contract.
The Starknet RPC endpoint. [default: http://localhost:5050]
The Starknet account address.
Signer Options - Raw
The raw private key associated with the account contract.
Signer Options - Keystore
Use the keystore in the given folder or file.
The keystore password. Used with --keystore.
- Deploying your World for the first time to a local Katana node
sozo migrate --name ohayo --rpc-url http://localhost:5050
- Updating a remote World after making some changes
sozo migrate --world 0x123456
- Deploying your World using profile options
sozo --profile dev migrate