--- title: Network Deployment Guide (v2) tags: magesmiths, partnership --- # DAOhaus Network Deployment Guide v2 Hi partner, thanks for your interest in hosting DAOhaus on your network. Here is DAOhaus' process of deploying on other networks. If you have any questions, please reach out to <> and <> on our Discord. ## Requirement Checklist Before we begin, we'd like to check that your chain/network fulfills all the 4 requirements below. - [ ] Your chain/network is EVM-compatible - [ ] Your chain/network is supported on TheGraph hosted service - [ ] Your chain/network has a Block explorer with API (e.g. Etherscan/Blockscout) - [ ] Your chain/network supports Gnosis Safes ## Process Once you've fulfilled all the requirements below, this is a sample of our deployment process. | S/N | Step | PIC | Timeline | | --- | ----------------------------------------------- | ---------------- | -------- | | 1 | Create a Network Deployment Proposal | You | 1 day | | 2 | Submit Proposal to UberHaus for approval | DAOhaus/UberHaus | 3 weeks | | 3 | Deploy & verify DAOhaus contracts on your chain | You | 1 day | | 4 | Send us DAOhaus app dependency information | You | 1 day | | 5 | DAOhaus prepare for deployment | DAOhaus | 1 week | | 6 | Plan network launch & cross-promotion | You x DAOhaus | 1 week | Some of these steps can be done in parallel, so the estimated timeline for a deployment is approximately 3-4 weeks ## 1. Create a Network Deployment Proposal DAOhaus (the platform) is governed by UberHaus (A DAO of DAOhaus DAOs), so major roadmap decisions such as new network deployments will need to be voted & passed by UberHaus Hence, you will need to create a Proposal with the following template. A Magesmith will assist you in this process. ``` # New Network: {NETWORK NAME} ## Submission Details - Submitter: @daohaus ## Network Overview Give an overview of the network and its consensus, ecosystem participants and any other useful information. ## Community Grants (if any) ## Technical implementation - [ ] Contracts deployed - Moloch v2.1 Factory: - [ ] Subgraphs deployed - Supergraph Explorer: - [ ] Update chains, summoning, explore - [ ] Explorer API for data cache ## Pull Request for Frontend Link to the PR submitted to complete the frontend update https://github.com/HausDAO/pokemol-web/pulls/{PR} ## Magesmith PR Review - Reviewed by: {MAGESMITH(S)} ``` Once this is completed, please let us know and we'll submit the proposal to UberHaus. ## 2. Submit Proposal to UberHaus for approval Once you've completed Step 1, DAOhaus team will submit this proposal to UberHaus for approval. The voting & approval process will take approximately 3 weeks. Once this is completed, we can move forward with all deployments, as long as there are no technical obstacles. Meanwhile, you can work on Steps 3 & 4 below. ## 3. Deploy & verify DAOhaus contracts on your chain At this step, you'll need to deploy & verify the following contracts on your chain. - [Moloch v2.1 Factory](https://github.com/HausDAO/Molochv2.1) - [Safe Minion Factory](https://github.com/HausDAO/MinionSummonerV2/blob/main/contracts/SafeMinion.sol) (https://github.com/HausDAO/NiftyMInionSummoner) - [WrapNZap Factory](https://github.com/HausDAO/wrap-n-zap) ## 4. Send us the following information At this step, you'll need to fill in the information below. | key | value | Input | | ----------------------- | -------------------------------------------------------------- | --- | | name | Display name for the network | | | short_name | Gnosis API key for network: `mainnet, kov, rink` | | | nativeCurrency | Native currency symbol: `ETH, xDai, MATIC` | | | network_id | Integer representation for network | | | chain_id | Hex representation for network | | | hub_sort_order | Default to last before Eth test networks | | | providers | Ensure they're available in `web3Modal.js` | | | rpc_url | Primary json RPC URL, will use user's if available | | | abi_api_url | Explorer URL for fetching contract ABI | | | moloch_factory_addr | Moloch Summoner/Factory address | | | dai_contract | to provide a default stable currency at summon if available | | | wrapper_contract | Wrapped network token address | | | wrap_n_zap_factory_addr | WrapNZap factory address to facilitate wrapping for the dao/user | | | block_explorer | Block explorer URL for sharing with tx hashes or address links | | | disperseApp | disperse contract address https://disperse.app/ | | | Safe minion: minion_factory_addr | Minion factory address | | | Safe minion: safe_mutisend_addr | Gnosis safe miltisend address for your network | | | Safe minion: safe_sign_lib_addr | Gnosis safe signature library address for your network | | Please see a sample below (using Polygon as an example) ```javascript '0x89': { name: 'Matic', short_name: 'matic', nativeCurrency: 'MATIC', network: 'matic', networkAlt: 'polygon', network_id: 137, chain_id: '0x89', hub_sort_order: 3, providers: ['walletconnect'], rpc_url: 'https://rpc-mainnet.maticvigil.com/', abi_api_url: 'https://api.polygonscan.com/api?module=contract&action=getabi&address=', tokenlist_api_url: 'https://api.polygonscan.com/api', subgraph_url: 'https://api.thegraph.com/subgraphs/name/odyssy-automaton/daohaus-matic', stats_graph_url: 'https://api.thegraph.com/subgraphs/name/odyssy-automaton/daohaus-stats-matic', boosts_graph_url: 'https://api.thegraph.com/subgraphs/name/odyssy-automaton/daohaus-boosts-matic', erc721_graph_url: 'https://api.thegraph.com/subgraphs/name/sunguru98/matic-erc721-subgraph', erc1155_graph_url: 'https://api.thegraph.com/subgraphs/name/odyssy-automaton/erc1155-matic-subgraph', minion_factory_addr: '0x02e458B5eEF8f23e78AefaC0F15f5d294C3762e9', moloch_factory_addr: '0x6690C139564144b27ebABA71F9126611a23A31C9', dai_contract: '0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063', wrapper_contract: '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270', wrap_n_zap_factory_addr: '0xbf9e327d465A4A160fA7805282Fb8C7aB892770a', escrow_minion: '0xc9f9e7fc92a7d3b2b3554be850fff462b7b382e7', block_explorer: 'https://polygonscan.com', safeMinion: { minion_factory_addr: '0xA1b97D22e22507498B350A9edeA85c44bA7DBC01', safe_mutisend_addr: '0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761', safe_sign_lib_addr: '0xa25b3579a295be016de5eb5F082b54B12d45F72C', }, disperse_app: '0xD152f549545093347A162Dce210e7293f1452150', }, ``` ## 5. DAOhaus team prepare for deployment Once Steps 1-4 have been completed, the DAOhaus team will: ### 5.1 Deploy Subgraphs - [Supergraph](https://github.com/HausDAO/daohaus-supergraph) - Moloches & Minions - [Stats Graph](https://github.com/HausDAO/daohaus-stats) - Aggregated stats for proposals, votes, etc. - [Boost Subgraph](https://github.com/HausDAO/daohaus-boosts) - WrapNZap & Misc - [erc721](https://github.com/sunguru98/erc-721-subgraph) - [erc1155](https://github.com/sunguru98/erc-1155-subgraph) ### 5.2 App Updates && Extend the API & Caching Daohaus team will make various app updates with the data above to enable your network. - Web app updates - Extend the API & Caching ## 6. Plan Network Launch & Cross-promotion Step 6 can be done in parallel with Step 5, as the DAOhaus team (magesmiths) prepare for network deployment. At this step, we can prepare marketing & communications activity for our Network Launch. Here are some ideas: | S/N | Workstream | Purpose | Posted by | | --- | ---------------------- | ------- | --------- | | 1 | Network Launch Article | Text | You | | 2 | Tweet | | | | 3 | Twitter Spaces Tweet | | | | 4 | DAOhaus Tweet | | | | 5 | DAOhaus HAUS Party | | | ==TBD==