Setup Your World Extension
Because all Primodium contracts are built and compliant with the open MUD standard (opens in a new tab) for large-scale Ethereum applications, all smart contracts that interface directly with the Primodium world contract should also implement the open MUD standard for a better developer experience.
Getting Started
To start developing with Primodium, you will need to create a MUD project.
- Ensure you have
node
(opens in a new tab),pnpm
(opens in a new tab) andfoundry
(opens in a new tab) installed. - Complete the MUD world extension tutorial (opens in a new tab).
- Use the following command at the root of your project to initialize your extension's MUD version to the same as Primodium's MUD version:
pnpm mud set-version --mudVersion 2.0.9 && pnpm i && pnpm build
- Set the
WORLD_ADDRESS
in your.env
file and to the live Primodium world contract address, available on the latest release page. - Set the
worlds.json
file to the following10017
chainID and substitute in the world address:
{
"10017": {
"address": "PRIMODIUM_WORLD_ADDRESS_HERE"
}
}
- When you eventually want to test and/or deploy your extension, the namespace
name for your extension must be unique and not already used within the
Primodium world contract. To see if your namespace name is available, use the
tool in this
MUD Discord forum post (opens in a new tab).
When you plan on testing, follow the testing guide so that
you don't unnecessarily consume a namespace name in the live Primodium world.
- If you need to change your namespace name, make sure to do so both in your
mud.config.ts
file and any function calls that use that namespace name, especially in your scripts and tests.
- If you need to change your namespace name, make sure to do so both in your