Edition Drop

Release ERC1155 tokens at a specified price, enabling controlled token distribution.

The Edition Drop is most effective when aiming to introduce a multitude of unique NFTs derived from a singular asset. It operates under the ERC1155 Standard, colloquially referred to as "Semi-Fungible Tokens."

Through the Edition Drop, you gain the capability to establish the prerequisites governing the minting of NFTs by your users. This encompasses elements like allow listing, designated release dates, and allocation thresholds.

Full Support for OpenSea Creator Revenues

The mechanics of creator revenues on OpenSea operate in the subsequent manner. By default, this contract seamlessly integrates with OpenSea's creator revenue structure. The ability to toggle this integration remains within the purview of the contract administrator, post-deployment, accessed through the execution of the setOperatorRestriction function via the contract explorer.

Utilization Scenarios & Exemplars

Potential applications of the Edition Drop include:

  • Artistic Series Releases: Employ the Edition Drop to unveil a series of NFTs that are interconnected by a thematic element. Each NFT within the series could represent a distinct chapter or perspective of the overarching theme, fostering intrigue and engagement among collectors.

  • Limited-Edition Collectibles: Create a sense of exclusivity by issuing a limited quantity of NFTs with unique traits or attributes. These collectibles could be tied to specific events, anniversaries, or milestones, enhancing their desirability and value.

  • Community Rewards: Reward your community members with exclusive NFTs as tokens of appreciation for their engagement, loyalty, or contributions. This could foster a stronger sense of belonging and encourage ongoing participation.

  • Dynamic Unlockable Content: Implement a multi-tiered NFT release strategy, where users can unlock higher-tier NFTs by meeting certain conditions. This could incentivize users to explore different aspects of your platform or complete specific tasks.

  • Collaborative Creations: Collaborate with other artists or creators to generate joint NFT releases. Each participant could contribute a distinct component to the final NFT, resulting in a unique fusion of styles and concepts.

  • Time-Limited Experiences: Design time-limited interactive experiences where users must complete challenges or participate in events to earn NFT rewards. This approach can drive engagement and create a sense of urgency.

  • Storytelling Through NFTs: Craft a narrative that unfolds across a series of NFTs. Users can collect these NFTs in chronological order to piece together the narrative, creating an immersive storytelling experience.

  • Unlockable Content in Virtual Worlds: Within virtual worlds or metaverse environments, use this contract to grant users access to exclusive in-game items or locations through NFT ownership.

  • Educational Tokenization: In educational settings, tokenize certificates, badges, or achievements as NFTs, providing a secure and verifiable way to showcase accomplishments.

The flexibility of the Edition drop enables these use cases and more, empowering creators to innovate and engage their audience in novel ways.

Deploying this contract

  • Name: The name for this Edition Drop according to your idea.

  • Symbol: This will be the ticker for this drop. Keep it short.

  • Description: You can be creative here because this is the description that this contract will have for the purposes that you have arranged.

  • Image: Upload your image for this contract. Your image will be stored at IPFS ensuring persistence over time.

  • Primary Sale Recipient: This address will receive all the tokens for each sale on the contract that we're about to deploy. The one by default is the connected wallet one. It can be changed for any other one.

  • Royalty recipient: set default royalty recipient address for this drop.

    • Royalty percentage: Here the percentage of each sale that will be sent to the address that receives the royalties will be defined.

  • Recipient Address: For contracts involving primary sales, acquire supplementary fees for all primary sales occurring on this contract. (This is advantageous if you are deploying this contract on behalf of a third party and wish to levy fees for your services). If this contract serves as a marketplace, obtain a percentage from all secondary sales taking place within your contract.

    • Platform fee percentage: for the supplementary fees above mentioned.

Managing this contract

Once you deploy an instance of this contract you will be able to access into the backend by clicking in the "DexGenerator" top menu and "Manage Contracts".

Look now for the DropERC1155 contract that you've just deployed in the contract list. Once you scoped it, click on "Manage"

When you press the "Mint" button you will find the following form to fill out ๐Ÿ‘‡

  • The name for the NFT.

  • The description for this NFT.

  • Add attribute button: It will allow users to add rarity to this specific NFT.

    • Type attributes: Generic, number, boost number and boost percentage.

  • Upload the image. The user will be able to upload an image (1 MB max) or generate one using natural language.

  • "ADD NFT" button to add more assets to this drop.

Setting up claim conditions

Once we have our assets minted we will proceed to create the conditions that we want to implement for the drop of each of them.

For the example below we have minted an NFT within this contract. Let's set the conditions so that users/visitors can claim this asset:

You can see the number of the Phase at the beginning. All the new claim conditions you add will have a different, straight up number. For example, after setting up all the conditions in the image above, we will create a second claim condition that will take the Phase 2 name, as follows:

For the claim conditions we need to fill the following fields:

  • Name of the current phase / season

  • Start date: Pick the future date you are wanting to make this drop live.

  • Wait in seconds: This timeout will trigger when the start date arrives. In the example above we set the hour to 2:59 p.m. because we chose a 60-secs timeout, so the precise minting hour will be at 3 p.m.

  • Total items to claim: Set the maximum quantity of assets you want to be minted from this specific NFT.

  • Total items to claim per wallet: How many items do you want to be claimed by each wallet.

  • Price: Set the price for each NFT in this release (does not include network fees or commissions that you must previously configure in the commission sections of the marketplace). You can set zero (0) price but you need to choose any token in the list. Your minters won't be charging for anything more than network fees.

  • Search token: Choose from this list the token you want to receive for your NFTs. You can configure the tokens you want previously from the token configuration of your product.

Once you have finished filling in data for the other condition you can save it or add another condition directly by pressing the โ€œAdd claim conditionโ€ button. In this case we save it and proceed to the next tab.

Editing Metadata

In this section you can edit the name and description of the collection to make it more attractive to your community. Markdown is enabled so you can make properly formatted descriptions.

Please note that each change you make to the contract will invoke a call to the contract that will incur network fees.

Configuring administrative settings

All the configurable options here represent critical aspects of the smart contract. Although they have already been pre-populated at the time of contract deployment, these options can be modified later and change the purpose of the contract.

  • Admin: This wallet address will be the superuser who will have total power within this contract, being able to modify any critical aspect.

  • Minter / Creator: This wallet address will have creation power for this contract.

  • Transfer: This address will be able to transfer any asset from the contract. This nothing have to do with user transfers.

  • Metadata: Add more wallet addresses only for on chain metadata identification.

All interactions in this section also incur network fees. Remember to have enough gas currency in the network that you deployed the contract for later changes.

Previewing our Edition Drop

If you want to take a look at how the DROP looks publicly presses in the "View NFT Drop" button. It will take you to the claim site in DexAppBuilder ๐Ÿ‘‡

Below you can see the NFT that we create with this Drop directly in DexAppBuilder. In this case we use another web browser and another wallet to make the drop from the view of a visitor ๐Ÿ‘‡

Our drop is working correctly! But... What if we want to have our drop INSIDE our decentralized application created with DexAppBuilder? ๐Ÿค” Follow the steps below to embed this contract UI inside your app and attract your customers to it

Setting up minting site

For this purpose we will assume that you have already created a decentralized application with DexAppBuilder (if you have not done so, visit this section of the documentation). It is necessary to be able to enjoy this functionality.

  1. We must navigate to the general settings of our application. We do this through this link.

  2. Once there we look for our decentralized application in the list and press the "hamburger" button, and click on ยซEditยป, as we show in the picture below

  1. Now we need to copy the edit the drop general URL (in this case is https://dexappbuilder.dexkit.com/drop/edition/base/0x04dd689c62123fc100fb42e1c74c04462a36a3a4/0) for your DApp link + specific drop, for example (https://cybercows.dexkit.app/drop/edition/base/0x04dd689c62123fc100fb42e1c74c04462a36a3a4/0) where we substituted the main domain (DexAppBuilder one) for our DApp domain, and the result can be seen below ๐Ÿ‘‡

Add this Drop in any page

It is also possible to add your drop in any section / page of your DApp. This feature can help you to create gated-content drops only for holders of certain token (ERC20, ERC721 or ERC1155).

In order to make this possible you need to navigate to the administrative section of your DApp, go to Layout section (at the left menu) and choose / create the page you want to embed this drop. We created a "Drop" page as we show below:

Add Drop component with default section

Once we opened the customization section for this component we will see the following screen with all the embeddable-compatible contracts we've deployed in the past. For our example we will chose the CyberCows Calf contract

Now we can see all the available NFTs to use for this embeddable component. Remember we just minted one, so it will show the only in existence in the image below

Add Drop component in custom sections

It is possible to do the same thing we did before with the default component but within a custom section, so you can add the components you want within the same page or section, use backgrounds, colors, images, videos or whatever you like to accompany that Drop.

Look now for the DexGenerator component and drag and drop it inside the page at the right. You can do this after creating a proper background, stack and containers as we explain in the documentation section for personalization.

Congrats for making your way to here! ๐ŸŽŠ๐Ÿฅณ Now your Edition Drop now is finished and ready for production in your DApp! Enjoy!

Last updated