Creating a DAO
Highlights the 3 Steps for Creating a DAO
Useful resources for creating a DAO: Interface | Testnet Interface | Deploy Guide
Deployment
First, the founder calls the Manager contract with all the selected settings to deploy the DAO contracts. This deploys new contracts for each component of the DAO and has the owner set to the founder’s address. In this stage, the founders can edit the contracts directly and make any necessary changes before handing off control to the DAO.
Metadata Configuration
Next, a separate transaction is sent to the Metadata Render contract to store all the property values. This way the Render contract knows all the possible properties and items when randomly generating the images for the DAO NFTs.
Starting
Finally, starting hands control over to the DAO by setting the Treasury contract as the owner and then starting the first auction.
The Treasury contract is set as the owner since it is the contract that executes transactions based on governance votes. Once a DAO has been initialized the founders are no longer able to directly change the contracts and must have a proposal pass governance to do so.
The DAO is initialized by calling the unpause()
function on the Auction contract.
Calling this function will start the first auction.