Build
Skip to content

How to Deploy an Item Collection Contract in Sequence Builder

This guide walks through how to setup and deploy a Web3 Game Item contract in Builder.

ERC721 vs. ERC1155

Both contracts mint NFTs, but ERC721, being the earlier standard, has gained widespread adoption, particularly in digital collectibles. Known for its simplicity and ease to audit for security, ERC721 tokens are distinct, contributing to their recognition in various NFT marketplaces. Typically you would use an ERC721 contract if: you're dealing with the single same asset, multiplied, or a multiplicity of 1 item with many in a collection

Example ERC721: Azuki

In contrast, ERC1155 offers versatility with efficient batch operations for both fungible and non-fungible tokens in a single contract, where typically you would be dealing with a multiplicity of a many items to many quanties relationship. However, this flexibility introduces complexity, necessitating careful security attention.

Example ERC1155: Skyweaver

Step 1: Navigate to contracts

Start by selecting your project in the top left and corner for what you want to create the collectible for, and head to the contracts section and select + Deploy new contract

select project and new contract

Step 2: Choose your collectible type

Then make your choice of Web3 Game Item Collection (ERC1155) or NFT Collection (ERC721), for this example we'll walk you through a Web3 Game Item Collection (ERC1155)

select game item

Step 3: Specify contract details

Complete the contract details by specifying a Contract Name and Owner for your contract, with the option to input Royalties. Make sure the Owner address is the Sequence Wallet in the top-right hand corner and that you have funds in this wallet on mainnet, otherwise on testnet - we sponsor these transactions for you.

deploy game item

Step 4: Deploy your contract

Deploy your contract from the popup window at http://sequence.app/sign-transaction, and sign the message by selecting confirm

Deploy your contract by signing the message in the popup window from the Sequence Wallet

Optional: Add a Minter Role to the contract

Sequence contracts have Access Control options by default. In some cases, you may want to grant a specific address permissions in order to call various functions such as mint().

First start by selecting your contract you just deployed in the contracts section

select contract

Next, head to the Write Contract section

write contract

In the grantRole section of the write contract tab navigation

grant role

Complete with the following details:

bytes32 role: 0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6 address account: <Wallet Address>

Where the wallet address is the address that you would like to give permissions to mint to, specifically any Sequence wallet.

copy address

Complete by selecting write and signing the transaction in the popup window, like before

With a confirmation message showing Response Success

Step 6: Mint tokens to your wallet address

Navigate to the mint card in the Write Contract section and input the to being the wallet address you would like to receive the token to, the tokenId (typically starting at 0), and amount of tokens, and finally the data section you can just input 0x00, which typically represent Additional data with no specified format.

mint tokens

Step 7: Confirm your minted collectible

And you're done!

You can view the transactions submitted to the blockchain for your wallet address in the Transactions tab navigation

view currency transactions