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
.env
to specify thePRIVATE_KEY
value.# 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_url
value 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 |
--rpc 1 | The RPC URL to use | string | RPC url from foundry.toml |
--rpcBatch | Enable batch processing of RPC requests | boolean | false |
--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 System
s, 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