Skip to main content

One-Click Deploy

Create and deploy Web3 apps effortlessly with Thirdweb and Celo.


Objectives

By the end of this tutorial, you will:

  • Be able to transfer Celo to another address
  • Have a mintable NFT Drop.
  • Build an NFT gallery

Prerequisites

  • Node (v20 or higher)
  • A wallet with some test tokens (more on this later)

Fund Your Wallet

  1. Ensure there are sufficient funds to cover the transaction fees.
  2. Visit the Alfajores Faucet to claim test tokens using a wallet address. Remember to claim only what is needed.

Create a Contract on Thirdweb

  1. Visit Thirdweb and log in or create a new account.
  2. Navigate to Contracts and click Deploy Contract.
  3. Since multiple smart contracts have already been audited, there's no need to write them from scratch.
  4. Select NFT Drop and click Deploy.
  5. Configure the token by setting its Name (mandatory), Symbol, and optionally adding an Image and Description.
  6. In the Deploy Options section, choose Celo Alfajores as the Chain (if not selected by default).
  7. Click Deploy Now to finalize the process.
  8. After deployment, well’ll be redirected to the dashboard to upload your NFTs.
  9. Provide a name, upload an image, add a description, and define traits for the NFT.
  10. Lazy Mint the NFT.
  11. Repeat steps 9 and 10 a few times—we need at least 3 NFTs.
  12. Copy your contract address from the NFT dashboard.
  13. Copy the contract address from the NFT dashboard.

Make the NFT Mintable

  1. On the dashboard, go to Claim Conditions
  2. Click on Add Phase.
  3. Specify the Default Price (0.1) and the Limit per wallet (3).
  4. Click on Save Phases.

Get a Thirdweb Client ID

  1. Open the Thirdweb Dashboard and click Add New in the Projects section.
  2. Select Project from the dropdown menu.
  3. Enter a project name and add localhost:5173 under Allowed Domains. Click Create.
  4. A Client ID and Secret ID will be generated. Copy both to a secure location—we’ll only need the Client ID.

Clone the Thirdweb Celo NFT Repository

  1. Clone the repository:

    git https://github.com/atejada/celo-one-click-deploy
    cd celo-one-click-deploy
  2. Install dependencies:

    npm install
  3. Create a .env file with the following content:

    VITE_CLIENTID = THIRD_WEB_CLIENT_ID
    VITE_ADDRESS = MINTABLE_NFT_CONTRACT
    VITE_GALLERY_ADDRESS = NFT_GALLERY_CONTRACT
    VITE_ADDRESS_TO = ACCOUNT_TO_SEND_CELO_TO
  4. Run the project:

    npm run dev

Once the project is running, there will be three links, the first named Send Celo, the second NFT Gallery and the third named Mint NFT.

The first one will be displayed by default. Click on the Connect button to connect the wallet. Enter an address and an amount of Celo to transfer. The second link will display an NTF with a combo box at the top, to choose between 3 different NFTs. The third and last link will display an NFT along with its description and by pressing the mint button, 0.1 Celo will be paid.

Join Build with Celo - Proof of Ship

  1. Create your application using an audited contract on Thirdweb.
  2. Check the Github repo Proof-of-Ship.
  3. Sign up to join Build with Celo - Proof of Ship.
  4. You can win up to 5k cUSD.
  5. Build with Celo.