1. Write, upload, pin governance.md file

The governance.md file should be formatted with markdown Include information on the DAO’s purpose, how it makes decisions, etc.

  1. Generate API endpoints for members and proposals (optional)

If included, the members and proposals endpoints must return the current members and proposals in JSON-LD format. See below for an example of each. 3. Generate, upload, pin contracts registry file (optional)

If included, the contracts registry URI must return an annotated list of contracts relevant to the DAO in JSON-LD format. See below for an example 4. Generate, upload, pin DAOUri file

Include all of the URIs in a JSON-LD file (see DAO URI below). Upload this to IPFS to generate and copy the CID

  1. Propose registration transaction

salt: any bytes32, eg 0x1. NOTE the same summoner cannot use a duplicate salt daoURI: URI from step 4 manager: optional address that can update the URI on behalf of the DAO contracts: optional array of addresses to call on deployment data: optional array of data with which to call the contracts listed in the contracts array

DAO URI

Screen Shot 2022-12-15 at 10.51.33 AM.png

{
    "@context": "<http://www.daostar.org/schemas>",
    "type": "DAO",
    "name": "HausDao Warcamp",
    "description": "The community of core contributors to DAOhaus",
    "membersURI": "<https://maj79gmufj.execute-api.us-east-1.amazonaws.com/molochv2/members/100/0xef3d8c4fbb1860fceab16595db7e650cd5ad51c1>",
    "proposalsURI": "<https://maj79gmufj.execute-api.us-east-1.amazonaws.com/molochv2/proposals/100/0xef3d8c4fbb1860fceab16595db7e650cd5ad51c1>",
    "governanceURI": "<https://ipfs.io/ipfs/QmS3KKyqirVBEjnd3Q8TbSqQHTP2fYur6qWb9JR9Fa2ffD>"
}

Members URI

{
    "@context": "<http://www.daostar.org/schemas>",
    "type": "DAO",
    "name": "<name of the DAO>",
    "members": [
        {
            "type": "EthereumAddress",
            "id": "<address or other identifier>"
        },
        {
            "type": "EthereumAddress",
            "id": "<address or other identifier>"
        }
    ]
}

Proposals URI

{
    "@context": "<http://www.daostar.org/schemas>",
    "type": "DAO",
    "name": "<name of the DAO>",
    "proposals": [
        {
            "type": "proposal",
            "id": "<proposal ID>",
            "name": "<name or title of proposal>",
            "contentURI": "<URI to content or discussion>",
            "status": "<status of proposal>",
            "calls": [
                {
                    "type": "CallDataEVM",
                    "operation": "<call or delegate call>",
                    "from": "<EthereumAddress>",
                    "to": "<EthereumAddress>",
                    "value": "<value>",
                    "data": "<call data>"
                }
            ]
        }
    ]
}

Contracts Registry

{
    "@context": "<http://www.daostar.org/schemas>",
    "type": "DAO",
    "name": "<name of the DAO>",
    "contracts": [
        {
            "type": "EthereumAddress",
            "id": "<address or other identifier>",
						"label": "Treasury"
        },
        {
            "type": "EthereumAddress",
            "id": "<address or other identifier>",
						"label": "Governance Token"

        }
    ]
}