#
Engine Project Deployment and Launch Guide
This guide provides basic instructions for deploying and launching a new project on the V2 and V3 Engine smart contracts. You will learn how to create a project shell, assign a minter to each project, and setup the necessary configurations before minting and launching your project. This documentation aims to simplify the process and ensure a smooth project launch on the Art Blocks Engine platform.
There are slight variations between V2 and V3 contracts, which will be noted in the relevant sections.
#
Project Shell Deployment
Collect the required information for the project:
- Project title (e.g., "Fun Lines")
- Artist's wallet address (e.g., 0x78592a6fBE68fEBf226040a5D25ad7e69F2FeAb6)
- (V2 only) Price-per-mint specified in WEI (e.g., 350000000000000000, or 0.35 ETH)
Navigate to your Engine Core Contract on Etherscan and connect your wallet. You can find this link in your
DEPLOYMENTS.md
log. https://goerli.etherscan.io/address/0xd2363Acbf8CdF01A5FdfcB8f0295e0a5dF94518D#code)Click the "Write contract" tab and use the
addProject
method to create a new project shell, specifying the information collected in step 1.Connect to the Art Blocks website with the artist wallet used in Step 3. Your artist should be able to begin entering project details.
Testnet URL:
https://artist-staging.artblocks.io/engine/[flex OR fullyonchain]/projects/[coreContractAddress]/[projectID]
example: https://artist-staging.artblocks.io/engine/flex/projects/0x28b82AA5bb6d00363ae0FBC5ecaD689Ae49BC82B/0Mainnet URL:
https://www.artblocks.io/engine/[flex OR fullyonchain]/projects/[coreContractAddress]/[projectID]
example: https://www.artblocks.io/engine/fullyonchain/projects/0xa319C382a702682129fcbF55d514E61a16f97f9c/1If you encounter issues finding or seeing your project on the Art Blocks site, disconnect and reconnect your wallet, ensuring you are connected with the previously specified artist wallet.
#
Assigning a Minter (V3 only, New Shared Minter Suite)
Minters are assigned on a per-project basis on V3 contracts, and minters must be assigned by the artist's wallet.
note: for legacy minter suite directions, see the next section
Art Blocks is working on a new creator dashboard that will more easily facilitate the minter assignment process. This will only be possible using the new shared minter suite, because those minters are indexed by the subgraph. Until the new creator dashboard is released, please follow these instructions to assign a minter to your project.
Assign the minter to your project by using the
MinterFilterV2
contract found in your deployment file. The artist's wallet should use function #9setMinterForProject
, entering the_projectID
,_coreContract
address, and_minter
address. You can get the globally approved minter addresses via thegetAllGloballyApprovedMinters()
view function on theMinterFilterV2
contract.Once the minter is linked to your project, set the project details on the minter contract.
For example, if you are using a shared Dutch Auction minter, navigate to the contract on Etherscan. Then, use the function
setAuctionDetails
to enter details like_projectId
,_coreContract
,_auctionTimestampStart
,_priceDecayHalfLifeSeconds
,_startPrice
, and_basePrice
. This must be done using the artist's wallet.
#
Assigning a Minter (V3 only, Legacy Non-Shared Minter Suite)
We recommend using the new shared minter suite, which is easier to use and more flexible. If you are using the legacy non-shared minter suite, follow these instructions. For more information about migrating to the new shared minter suite, please see the Minter Suite Migration Runbook.
Minters are assigned on a per-project basis on V3 contracts, and minters must be assigned by the artist's wallet. For the artist wallet to assign a minter, follow these steps:
Assign the minter to your project by using the
MinterFilterV1
contract found in your deployment file. The artist's wallet should use function #6setMinterForProject
, entering the_projectID
and_minterAddress
. You can find the minter address in your deployment log, which is pinned in your partner channel.Once the minter is linked to your project, set the project details on the minter contract. The deployed minter addresses can be found in your deployment file.
For example, if Art Blocks deployed a Dutch Auction minter for your core contract, navigate to the
MinterDAExpV4
contract on Etherscan (in yourDEPLOYMENT.md
log). Then, use the functionsetAuctionDetails
to enter details like_projectId
,_auctionTimestampStart
,_priceDecayHalfLifeSeconds
,_startPrice
, and_basePrice
. Make sure this is done using the artist's wallet.
#
Pre-mint-#0 Flight Check
Before minting your first token (#0) on your new project shell, verify the following:
- The baseTokenURI has been set, following the format:
- Mainnet: http://token.artblocks.io/{CORE_CONTRACT_ADDRESS}/
- Testnet: https://token.staging.artblocks.io/{CONTRACT_ADDRESS}/
- The max invocations for the project have been set. (note: project size cannot be increased once set on V3 contracts)
- Mint through your own front end. On testnet, you'll want to test each minter type and currency you plan to use on mainnet.
#
Pre-launch (pre-open-minting) Flight Check
For a project to be available for public purchase, the project must be activated by the admin, and unpaused by the artist.
tldr: inactive + paused (default state) = private project shell and unable to purchase active + paused = public project shell and only the artist wallet can purchase active + unpaused = open to purchase
Before launching your project for open minting, verify the following:
- The project has been activated by the contract admin.
- The project is not yet unpaused.
Once unpaused the project will be open, depending on the minter being used (DA will not open until specified startTime
)