--- tags: mcon2 --- # MCON Technical Session https://github.com/gnosis/tabula#create-publication Step 0: - 5 Mins - Run through the slides slides: https://docs.google.com/presentation/d/1jhPiRkyFzLMiZwaWOIGzjpUgZpkNNWLIqDXnH-LXT-A/edit#slide=id.g151a8d4ed06_1_175 - someone shares a web form with everyone who is watching the presentation https://bit.ly/3KUekGj - The form has like four questions that center around the DAO we make. (address, are you a writer or editor, desired voting time, etc) - This person works on putting the address list together with the shares/loot dao https://admin.daohaus.fun/#/molochv3/0x5/0x67e01d7f284683b3391216791397d91d2471ff98 NEW DAO - 9/7: https://admin.daohaus.fun/#/molochv3/0x5/0xaba58a92b521292b3e814a9500dcc2b0db425195 Step 1: - Explain what we're building (publishing DAO) and what it does - Explain why we use Proposals for posts - Explain how a proposal call with Baal works - Baal Wraps Gnosis safe - Proposals ties Moloch governance to Mutlicall - Explain the challenges of writing this code out by hand - Encoding + more encoding - Bundling arguments - What if there was a way to automate this process? Step 2: - Show CoreUI - Proposals - Settings - Forms - Sending the TX is complicated, but the flow is always the same. - Explain limitations of CoreUI (Core UI doesn't have what a publishing dao needs) Step 3: - Build new publication form on CoreUI - Rough in metadata - Show - Rough in form lego (title, link, descrip) - Show form - Show Field legos, explain how this works - Fill in the rest of the form Step 4: - Show Tabula, poster contract - Show the Tabula readme, - Show the schema - This needs to be JSON - But how do we automate JSON? - Show contract lego and txLego, explain what they're for. - Rough TX lego - ArgTypes (app search, etc) - We can use an argType to handle JSON - Put TX in form - Test - Show Pub - BEHIND THE SCENES - get pubid and tabula url in discord - https://tabula.gg/#/goerli/P-0x26b728cab60904a3ddf02cb92329ca28aa0de7ca5fce73312d2ddf29ecb01fc1-58 - https://thegraph.com/hosted-service/subgraph/auryn-macmillan/tabula-goerli - https://thegraph.com/hosted-service/subgraph/auryn-macmillan/tabula-gnosis-chain Step 5 - Uncomment Create article form - Show custom input that fetches Poster data - Show off IPFS argtype - Run - Show article Step 6 - Go to dao-pub app. - Shpw that it's pretty much empty. Show routes, pages - Bring in theme - show - Show Nav/Connect, remove it, show DH Layout ("Nav is great, but if what if you wanted the whole layout, and links?") - Bring in TX builder, wire in args - Bring in Form Builder - Uncomment the same forms and config in that app. - Run TXs. - Demonstrate that this app belongs to the publication, is a new app. Step 7, Summary: - Why legos? Why not git clone? - Link plans - IPFS plans (Modular blocks over SPAs) - Apps as interpreters - RAD (Rapid application dev) ## Build list - Article form in CoreUI w/ customm fields - Empty app - routes - use params - pages - new forms from coreUI and lego objects