Prerequisite
- AWS account: for Web App hosting, you can also use other services like Cloudflare or Vercel;
- Alchemy account: for contracts deployment and Web App requests;
- Ethereum Wallet with $MATIC: for contracts deployment;
Deploy Contracts
The Space Contract
- 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
- Alter parameters like NFT symbol and name, tax rate and total supply in TheSpace.sol;
- Follow instructions of README to deploy the contract;
make deploy-the-space NETWORK=polygon-mainnet
- Now you get the contract (TheSpace.sol) address;
- To get the registry contract (TheSpaceRegistry.sol) address by reading the
registry
storage from Polygonscan;
Snapper Contract
- Prepare new wallet (Snapper Contract should have a separate wallet to operate);
cast wallet new
- Copy
.env.polygon-mainnet
to .env.polygon-mainnet.snapper
and update the latter with new wallet info;
- Fund the wallet address with enough Matic (like 10 eth) and deploy
make deploy-snapper NETWORK=polygon-mainnet.snapper