mud deploy
This command deploys a MUD app to a blockchain.
Using the command
Before you run mud deploy you need to specify the private key of the deploying account.
There are several ways to do this:
- 
Export an environment variable.
export PRIVATE_KEY=0x<key goes here> - 
Edit
.envto specify thePRIVATE_KEYvalue.# This .env file is for demonstration purposes only. # # This should usually be excluded via .gitignore and the env vars attached to # your deployment enviroment, but we're including this here for ease of local # development. Please do not commit changes to this file! # # Anvil default private key: PRIVATE_KEY=0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d 
You also need to specify a URL to the blockchain. Again, there are several ways to do this:
- Use the 
--rpc <url>command line parameter. - Specify the URL as the 
eth_rpc_urlvalue in a profile infoundry.toml(opens in a new tab). If the profile isn't the default, use--profile <profile name>. 
These are the command line options you can specify on mud deploy:
| Option | Meaning | Type | Default value | 
|---|---|---|---|
--version | Show version number | boolean | false | 
--configPath | Path to the config file | string | mud.config.ts | 
--printConfig | Print the resolved config | boolean | false | 
| `--saveDeployment | Save the deployment info to a file | boolean | true | 
--profile | The foundry profile to use | string | local | 
--rpc1 | The RPC URL to use | string | RPC url from foundry.toml | 
--worldAddress | Deploy to an existing World at the given address | string | Empty, deploy new World | 
--srcDir | Source directory | string | Foundry src directory | 
--skipBuild | Skip rebuilding the contracts before deploying | boolean | false | 
--alwaysRunPostDeploy | Run PostDeploy.s.sol after each deploy | boolean | false (run the script only when deploying a new World) | 
--help | Show help | boolean | false | 
(1) The hostname localhost may not work. If that is the case, use 127.0.0.1 instead.
Examples
New World
To create a new World you can use this command line:
pnpm mud deploy --rpc <url>This command also writes the World's address to worlds.json.
Upgrading a World
To upgrade a World (add or modify Systems, tables, etc.) you can use this command line:
pnpm mud deploy --rpc <url> --worldAddress <address>Debugging
To generate debug messages, use this command:
export DEBUG=mud:cli:deploy