Deploys a folder to Walrus Sites seamlessly.
Uses CLI tools provided by Suibase.
Why it's better than the native Walrus site-builder
script:
- No additional configuration needed (thanks to Suibase).
- Stores the published site object ID in an environment file.
- Allows to swap SUI for WAL to fund the deployment if necessary.
- Allows to override already deployed files if necessary.
Make sure you started testnet or mainnet locally:
testnet start
# or
mainnet start
To get current deployer address:
tsui client active-address
# or
msui client active-address
To get current deployer address balance:
tsui client balance
# or
msui client balance
Refer to the Suibase docs for more commands.
Finally, to deploy the site:
pnpx walrus-sites-deploy
pnpx walrus-sites-deploy ./dist
pnpx walrus-sites-deploy ./dist -n testnet
pnpx walrus-sites-deploy ./dist -n testnet -o ./.env.local
pnpx walrus-sites-deploy ./dist -n testnet -o ./.env.local -e 1
pnpx walrus-sites-deploy ./dist -n testnet -o ./.env.local -e 1 -b
pnpx walrus-sites-deploy ./dist -n testnet -o ./.env.local -e 1 -b -f
Parameter | Shorthand | Description | Default Value |
---|---|---|---|
source | - | The folder to deploy to Walrus Sites | './dist' |
--network | -n | Network to use (testnet or mainnet) | testnet |
--site-object-id-file | -o | Path to the config file where the site object ID is stored. If this env file already has site object ID, the site is going to be updated on Walrus Sites. If not, once the site is published the first time, the site object ID gets written to the env file. The other environment variables in the file are preserved. | ./.env.local |
--epochs | -e | Number of epochs to store the files for. "max" means 53 epochs (2 years) | 1 |
--buy-wal-before-run | -b | Buy WAL tokens before running the script. Currently 0.5 WAL. | false |
--force-update | -f | Force update | false |