This is the codebase to go along with tbe blog post Building a Full Stack NFT Marketplace on Ethereum with Polygon
To deploy this project to Gitpod, follow these steps:
- Click this link to deploy
- Import the RPC address given to you by GitPod into your MetaMask wallet
This endpoint will look something like this:
https://8545-copper-swordtail-j1mvhxv3.ws-eu18.gitpod.io/
The chain ID should be 1337. If you have a localhost rpc set up, you may need to overwrite it.
To run this project locally, follow these steps.
- Clone the project locally, change into the directory, and install the dependencies:
git clone https://github.com/dabit3/polygon-ethereum-nextjs-marketplace.git
cd polygon-ethereum-nextjs-marketplace
# install using NPM or Yarn
npm install
# or
yarn- Start the local Hardhat node
npx hardhat node- With the network running, deploy the contracts to the local network in a separate terminal window
npx hardhat run scripts/deploy.js --network localhost- Start the app
npm run dev
To deploy to Polygon test or main networks, update the configurations located in hardhat.config.js to use a private key and, optionally, deploy to a private RPC like Infura.
require("@nomiclabs/hardhat-waffle");
const fs = require('fs');
const privateKey = fs.readFileSync(".secret").toString().trim() || "01234567890123456789";
// infuraId is optional if you are using Infura RPC
const infuraId = fs.readFileSync(".infuraid").toString().trim() || "";
module.exports = {
  defaultNetwork: "hardhat",
  networks: {
    hardhat: {
      chainId: 1337
    },
    mumbai: {
      // Infura
      // url: `https://polygon-mumbai.infura.io/v3/${infuraId}`
      url: "https://rpc-mumbai.matic.today",
      accounts: [privateKey]
    },
    matic: {
      // Infura
      // url: `https://polygon-mainnet.infura.io/v3/${infuraId}`,
      url: "https://rpc-mainnet.maticvigil.com",
      accounts: [privateKey]
    }
  },
  solidity: {
    version: "0.8.4",
    settings: {
      optimizer: {
        enabled: true,
        runs: 200
      }
    }
  }
};If using Infura, update .infuraid with your Infura project ID.

