1

Build a Contract Configuration JSON File

Example: src/Rizzler.json

{
  "scopeName": "rizzler",
  "name": "Rizzler",
  "symbol": "RZLR",
  "schemaURI": "https://rizzco/rizzler-schema.json",
  "imageURI": "https://rizzco/assets/{tokenID}.png",
  "fields": [
    {
        "id": 1,
        "key": "name",
        "type": "char16",
        "description": "Short Name"
    },
    {
        "id": 2,
        "key": "count",
        "type": "uint64",
        "description": "Rizz Count"
    },
    {
        "id": 3,
        "key": "rizz",
        "type": "uint64",
        "description": "Rizz Level"
    }
  ]
}
2

Run the PDK code generator

pdk generate Rizzler.json

Make sure the contract Rizzler.sol is in the src dir of your project.

3

Customize

Use your favorite editor or IDE to customize your generated Solidity contracts, adding any logic your app requires.

4

Deploy server-side resources

Deploy the generated schema files where the SchemaURI points to and set up any graphical assets.

5

Build

forge build

If the build command fails, check the quickstart guide for missing dependencies or a project layout issue.

6

Deploy

forge create src/Rizzler.sol:Rizzler --constructor-args "0x<PatchworkProtocolAddress" "0x<InitialOwner>" --rpc-url <sepolia RPC URL> --chain 11155111
v2 of Patchwork Protocol is deployed at 0x00000000001616E65bb9FdA42dFBb7155406549b on all chains