Skip to content

Commit

Permalink
docs(guides/best-practices/deployment-settings): first version 🚗 (#2767)
Browse files Browse the repository at this point in the history
Co-authored-by: alvarius <[email protected]>
Co-authored-by: Kevin Ingersoll <[email protected]>
  • Loading branch information
3 people authored Jul 23, 2024
1 parent 3440a86 commit 6a69b69
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/pages/guides/best-practices/_meta.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
export default {
"system-best-practices": "System Best Practices",
"deployment-settings": "Recommended Deployment Settings",
"kms": "Deploy production worlds using AWS KMS"
};

20 changes: 20 additions & 0 deletions docs/pages/guides/best-practices/deployment-settings.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { Callout } from "nextra/components";

# Recommended Deployment Settings

These are our recommended settings for deploying MUD applications on a production network, such as [Redstone](https://redstone.xyz/).

## Before the deployment

- Make sure you are using [the latest MUD version](https://mud.dev/changelog).
- To make the `World`'s core contract [upgradeable](https://mud.dev/world/upgrades#making-an-upgradeable-world), set `deploy.upgradeableWorldImplementation` to `true` in [the `mud.config.ts` file](/config).
- When writing the client use chain configs from [`@latticexyz/common/chains`](https://github.com/latticexyz/mud/tree/main/packages/common/src/chains): [Garnet (the testnet)](https://github.com/latticexyz/mud/blob/main/packages/common/src/chains/garnet.ts) and [Redstone (the production network)](https://github.com/latticexyz/mud/blob/main/packages/common/src/chains/redstone.ts).

## During the deployment

If possible, [deploy using AWS KMS](./kms).
If not, [transfer ownership](https://github.com/latticexyz/mud/blob/main/packages/world/src/modules/init/implementations/AccessManagementSystem.sol#L50-L74) of the root namespace to AWS KMS or a multi-sig wallet as early as possible.

## After the deployment

- [Verify the contracts](/cli/verify) as soon as possible after deployment.

0 comments on commit 6a69b69

Please sign in to comment.