Moloch Implementation Notes

Architecture
 
Registration Factory Contract
When a new Moloch v3 is summoned, one of the initialization actions should reach out to the registration factory and set the initial DAO URI
Create registration contracts
Create the initialization action
Demonstrate registration with local tests
Demonstrate registration with testnet contracts
Ceramic context file
This document contains the JSON-LD fields which should be combined with the response from the subgraph using the client SDK
 
Ceramic Wrapper
{
  "@context": {
    "@vocab": "https://daostar.org/",
    "type": "@type"
  },
  "type": "DAO",
	"name": "%NAME%",
  "proposals": "%PROPOSALS""
	"query": "" // SUBGRAPH URI

}
 
{
	"source": "", // SUBGRAPH
	"transformation": 
}
 
Subgraph
 
Subgraph response gets combined with Ceramic wrapper
{
  "data": {
		"daoId": "DAO Address",
    "proposals": [
      {
        "id": "proposalId",
        "proposer": "address"
      }
    ]
  }
}
 
SDK
Client library for combining the subgraph query with the ceramic doc
 
 
{
  "@context": {
    "@vocab": "https://daostar.org/",
    "type": "@type"
  },
  "type": "DAO",
	"name": "", // DAO ID from SUBGRAPH
  "proposals": Subgraph URI
}
 

Moloch Implementation Notes

Architecture
 
Registration Factory Contract
When a new Moloch v3 is summoned, one of the initialization actions should reach out to the registration factory and set the initial DAO URI
Create registration contracts
Create the initialization action
Demonstrate registration with local tests
Demonstrate registration with testnet contracts
Ceramic context file
This document contains the JSON-LD fields which should be combined with the response from the subgraph using the client SDK
 
Ceramic Wrapper
{
  "@context": {
    "@vocab": "https://daostar.org/",
    "type": "@type"
  },
  "type": "DAO",
	"name": "%NAME%",
  "proposals": "%PROPOSALS""
	"query": "" // SUBGRAPH URI

}
 
{
	"source": "", // SUBGRAPH
	"transformation": 
}
 
Subgraph
 
Subgraph response gets combined with Ceramic wrapper
{
  "data": {
		"daoId": "DAO Address",
    "proposals": [
      {
        "id": "proposalId",
        "proposer": "address"
      }
    ]
  }
}
 
SDK
Client library for combining the subgraph query with the ceramic doc
 
 
{
  "@context": {
    "@vocab": "https://daostar.org/",
    "type": "@type"
  },
  "type": "DAO",
	"name": "", // DAO ID from SUBGRAPH
  "proposals": Subgraph URI
}