November 26, 2021
thirdweb provides smart contracts, SDKs and UI widgets that can be easily integrated into any app or game. These components are designed to seamlessly work together allowing you to create powerful web3 apps:
- NFT Collections - Mint, transfer and manage NFTs (ERC721)
- Tokens - Create and airdrop custom tokens or in-game currencies (ERC20)
- Marketplaces - Buy, sell, and list NFTs and Packs on your own white label marketplace
- Drops - Control lazy mints and manage gas fees
- Access NFTs - Use NFTs to give special access to fans and community members
- Packs - Create a trading card experience where a pack owner can open the pack and receive a random NFT reward
- Bundles - Mix and match tokens and NFTs into a single package (ERC1155)
The thirdweb Dashboard is a web based administrative console that users can use to create, deploy and manage each of the smart contracts that are going to be used by their app. The Dashboard itself uses the thirdweb SDKs therefore anything being done in the Dashboard can be done directly in the SDK.
With the Dashboard, Projects are created and users can select from the available list of Module types to add web3 functionality.
Permissions and Roles
One of the powerful features of thirdweb is the ability to have full access control over the permissions of your smart contracts. Each smart contract has a set of associated roles that can be assigned to different wallets.
The thirdweb programming model for integrating web3 into your app is to be fully composable. Each functional component has an associated smart contract deployed to the blockchain.
In addition to these functional components, there is an application level smart contract that organize and permission each of the components.
A creator wants to mint a collection of NFTs and list them on their website which can be purchased using the creator's own custom $CREATOR token.
To accomplish this in thirdweb, the creator would do the following using the Dashboard or SDK:
- Create a new 'Project'
- Under that Project add three 'Modules'
- Token Module - For creating the $CREATOR token
- NFT Module - For minting the NFTs
- Marketplace Module - For listing the NFTs for sale
Once these steps are completed, the following four smart contracts will have been deployed to the selected blockchain.
Integrating into your App
Once the Application and associated Modules have been created, your app can interact directly with these smart contracts using the thirdweb SDK's. Instantiating a connection via the SDK simply requires access to the appropriate wallet and the URL of an appropriate RPC provider for the given blockchain the smart contracts have been deployed to.