Prerequisite

Deploy Contracts

The Space Contract

  1. Follow instructions of README to make .env.polygon-mainnet; Below are the essential configs for successful deployment.
ETHERSCAN_API_KEY=<API_KEY>
DEPLOYER_PRIVATE_KEY=<PRIVATE_KEY>
DEPLOYER_ADDRESS=<ADDRESS>
ETH_RPC_URL=<ALCHEMY_RPC_URL>
CHAIN_ID=137
THESPACE_CURRENCY_ADDRESS=0x264808855b0a6a5a318d238c6ee9f299179f27fc
THESPACE_REGISTRY_ADDRESS=0x0000000000000000000000000000000000000000
THESPACE_TOKEN_IMAGE_URI=ipfs://QmVEQJ2WgZUkWKzfkHmEv7v8DFTRhxwZGDHhwoi23Hvnpb
THESPACE_ACL_MANAGER_ADDRESS=0xedc934329433F7D151BB38c56E91FE5a8D4a2c60
THESPACE_MARKET_ADMIN_ADDRESS=0x1D52e2b5B74420d3633d8690A60bb3EA0345B586
THESPACE_TREASURY_ADMIN_ADDRESS=0x11c37333c6204Ae05E5450D8A304d22eE4bA8de8
  1. Alter parameters like NFT symbol and name, tax rate and total supply in TheSpace.sol;
  2. Follow instructions of README to deploy the contract;
 make deploy-the-space NETWORK=polygon-mainnet
  1. Now you get the contract (TheSpace.sol) address;
  2. To get the registry contract (TheSpaceRegistry.sol) address by reading the registry storage from Polygonscan;

Snapper Contract

  1. Prepare new wallet (Snapper Contract should have a separate wallet to operate);
cast wallet new
  1. Copy .env.polygon-mainnet to .env.polygon-mainnet.snapper and update the latter with new wallet info;
  2. Fund the wallet address with enough Matic (like 10 eth) and deploy
make deploy-snapper NETWORK=polygon-mainnet.snapper