Skip to main content

ERC1155DelayedReveal

The ERC1155DelayedReveal smart contract uses the ERC1155LazyMint base contract along with the DelayedRevealcontract extension.

'Delayed reveal' is a mechanism by which you can distribute NFTs to your audience and reveal the metadata of the distributed NFTs, after the fact.

You can read more about how the DelayedReveal extension works, here.

Import

import "@thirdweb-dev/contracts/base/ERC1155DelayedReveal.sol";

Available functionality

FunctionalityDescription
ERC1155BaseSee the portal page for ERC1155Base.
LazyMintPrepare the metadata for NFTs that will be minted by an external party, without paying the gas cost for actually minting the NFTs.
DelayedRevealDistribute NFTs to your audience and reveal the metadata of the distributed NFTs, after the fact.

Implementing the Contract

Import the contract extension and make your contract inherit it.

// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;

import "@thirdweb-dev/contracts/base/ERC1155DelayedReveal.sol";

contract MyNFT is ERC1155DelayedReveal {
constructor(
string memory _name,
string memory _symbol,
address _royaltyRecipient,
uint128 _royaltyBps
) ERC1155DelayedReveal(_name, _symbol, _royaltyRecipient, _royaltyBps) {}
}

Unlocked Features

Once deployed, you'll be able to access the following contract extensions' features on the SDK and dashboard: