ERC721 Signature Mint
The ERC721SignatureMint
smart contract uses the ERC721Base base contract along with the SignatureMintERC721
contract extension.
The 'signature minting' mechanism in the SignatureMintERC721
extension uses EIP 712, and is a way for a contract admin to authorize an external party's request to mint tokens on the admin's contract.
At a high level, this means you can authorize some external party to mint tokens on your contract, and specify what exactly will be minted by that external party.
Import
import "@thirdweb-dev/contracts/base/ERC721SignatureMint.sol";
Available functionality
Functionality | Description |
---|---|
ERC721Base | See the portal page for ERC721Base, here. |
Primary Sale | Accept a price in the currency of your choice from wallets minting your collection’s NFTs. |
Signature Minting | Authorize some external party to mint tokens on your contract, and specify what exactly will be minted by that external party. |
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/ERC721SignatureMint.sol";
contract MyNFT is ERC721SignatureMint {
constructor(
string memory _name,
string memory _symbol,
address _royaltyRecipient,
uint128 _royaltyBps,
address _primarySaleRecipient
)
ERC721SignatureMint(
_name,
_symbol,
_royaltyRecipient,
_royaltyBps,
_primarySaleRecipient
)
{}
}
Unlocked Features
Once deployed, you'll be able to access the following contract extensions' features on the SDK and dashboard: