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
- Ensure there are sufficient funds to cover the transaction fees.
- Visit the Alfajores Faucet to claim test tokens using a wallet address. Remember to claim only what is needed.
Create a Contract on Thirdweb
- Visit Thirdweb and log in or create a new account.
- Navigate to
Contracts
and clickDeploy Contract
. - Since multiple smart contracts have already been audited, there's no need to write them from scratch.
- Select
NFT Drop
and clickDeploy
. - Configure the token by setting its Name (mandatory), Symbol, and optionally adding an Image and Description.
- In the Deploy Options section, choose
Celo Alfajores
as the Chain (if not selected by default). - Click
Deploy Now
to finalize the process. - After deployment, well’ll be redirected to the dashboard to upload your NFTs.
- Provide a name, upload an image, add a description, and define traits for the NFT.
- Lazy Mint the NFT.
- Repeat steps 9 and 10 a few times—we need at least 3 NFTs.
- Copy your
contract address
from the NFT dashboard. - Copy the
contract address
from the NFT dashboard.
Make the NFT Mintable
- On the dashboard, go to Claim Conditions
- Click on Add Phase.
- Specify the Default Price (0.1) and the Limit per wallet (3).
- Click on Save Phases.
Get a Thirdweb Client ID
- Open the Thirdweb Dashboard and click
Add New
in the Projects section. - Select
Project
from the dropdown menu. - Enter a project name and add
localhost:5173
underAllowed Domains
. ClickCreate
. - A
Client ID
andSecret ID
will be generated. Copy both to a secure location—we’ll only need theClient ID
.
Clone the Thirdweb Celo NFT Repository
-
Clone the repository:
git https://github.com/atejada/celo-one-click-deploy
cd celo-one-click-deploy -
Install dependencies:
npm install
-
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 -
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
- Create your application using an audited contract on Thirdweb.
- Check the Github repo Proof-of-Ship.
- Sign up to join Build with Celo - Proof of Ship.
- You can win up to
5k cUSD
. - Build with
Celo
.