Giter Site home page Giter Site logo

metagov / daostar Goto Github PK

View Code? Open in Web Editor NEW
49.0 49.0 21.0 67.26 MB

DAOstar (or DAO*) is a set of technical standards and tools for DAOs and DAO tooling

Home Page: https://daostar.org/

License: MIT License

CSS 1.83% HTML 4.84% JavaScript 9.27% TypeScript 82.96% Solidity 1.10%
daos standards

daostar's People

Contributors

0xpabloli avatar 0xrory avatar amanwithwings avatar brucexu-eth avatar commitsvortex avatar crazyyuan avatar drewmcarthur avatar frm avatar gerritma avatar gershido avatar ipatka avatar jennyfan avatar lukvmil avatar mrutsavg avatar rashmi-278 avatar thelastjosh avatar tuckermclachlan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

daostar's Issues

Devconnect Istanbul in November - what is DAOstar doing?

November 13 - 19
Two-week Zuzalu gathering also in Istanbul right before

What could we do?

  • public goods conference? (Eugene)
  • Kaitlin from Filecoin— a Filecoin+Metagov dinner?
  • other things?

Post suggestions below!

Definitely going

  • Eugene
  • Rashmi
  • maybe Aman
  • maybe Josh
  • maybe Ammar Hasan from Metagov? check

Create first draft of docs for exploring the reference implementations and for api.daostar.org

Create a series of readme files or a readthedocs or a gitbook or something linkable and hosted on this GitHub for docs.

What are we really trying to do with these docs? Enhance adoption on (1) DAO tooling companies (think members of DAOstar) and to a lesser extent (2) DAOs, especially more sophisticated DAOs who are building their own infrastructure. Normal DAOs will be interacting with the app frontend.

  1. We're trying to incentivize people to create their own reference implementations / upgrade their own DAOs according the DAOstar.
  2. To do that, we need to clean up our repository of reference implementations, and give people access to them via a good set of docs.

initial sections might be:

  1. List of factory contracts and where they are
  2. Existing reference implementations
  3. Api.daostar.org

This should be super clean and simple, since our infra is very lightweight!

Improve the Snapshot integration for EIP-4824

Following up on the original Snapshot integration (#65), can we improve it by adding a activityLogURI? Refer to EIP-4824 for the specification of activityLogURI.

Also, fix the URI design for all the URIs to deal with the fact that somewhere the records are getting capped (so we are only seeing like the top 15 proposals, the first 15 members, the most recent 15 votes, and stuff like that).

Also, potentially fix the membershipURI design (ref. the one that we built custom for ENS). I will update this part of the issue later.

Upgrading the registration factory

tldr: we need to upgrade the registration factory contract at the canonical DAOstar address

Simple summary

The existing use-case for the registration factory is this:

  1. Existing DAO without daoURI deploys and manages a registration contract with daoURI

We need to upgrade the registration factory contract to enable two additional use-cases:
2. Existing DAO with daoURI asks to get verified and added to the registry, [but how would we track further events emitted by the DAO? they need to have the same events]
3. A factory contract deploying DAOs with daoURI asks to get all additional DAOs tracked to the registry

This issue constitutes a specification of the upgraded registration factory.

Questions

  1. Is the current factory contract upgradeable / governable?

Motivation

The new Aragon OSx, DAODAO, Kali, Superdao, etc. all have daoURI embedded in the DAO contract, so they are technically 4824-compatible. But this presents an indexing problem.

Aragon, in conversations, would prefer something like an ENS for DAOs, i.e. a centralized and possibly on-chain registry, something that people can easily verify. We need to write a quick spec of what this "ENS for DAOs" would need to do.

Wrapping up ONTOCHAIN for demo

Josh needs

  1. RASHMI: issuerURI for REPUTABLE, and in the memberAttestationsURI field, putting the DAOIP-3-compatible that's serving the actual data for REPUTABLE
  2. MENDES: create a attestationIssuerURI for MetagovDAO, please send to Josh so he can handle updating the daoURI for MetagovDAO
  3. MENDES: issuerURI for Govrn, and in the memberAttestationsURI field, putting the DAOIP-3-compatible endpoint that's serving the actual data for Govrn
  4. JOSH: change metagovDAO's daoURI
  5. RASHMI: Improvement to the frontend for the daostar.org explorer, to make sure that the explorer is returning the "attestationIssuerURI" field in the appropriate place in the explorer

Additional discussion elements to address later:

  • [Are we making the wrong assumption here? In this sense, the DAO is declaring trust to a set of service providers. BUT is that the wrong assumption? Instead of DAOs themselves declaring "these are trustworthy nodes", you could... (1) have just a well-known node in this network declaring things are trustworthy, e.g. DAOstar itself, (2) ...]
  • [This shouldn't be about "trust", just think of it as a gossip network, not guarantees on reliability.]

Fix design of daoURI registration & management flow

Right now, we can't even access the management flow for daoURI.

Before connecting wallet, I want to be able to:

  1. Deploy a registration with a daoURI, with or without a manager address
  2. See and explore existing registrations and daoURIs, EVEN IF THEY HAVE NOT BEEN "CLAIMED" BY A DAO
  3. (maybe, needs further design thinking) manage orphaned registrations that neither have a manager address NOR have been claimed by a DAO

After connecting my wallet, I want to be able to:

  1. See all the DAOs for which I am a manager
  2. Edit the daoURI for those DAOs by connecting and interacting with the DAO's registration contract
  3. Query the existing URIs published in daoURI
  4. (eventually) modify the URIs published in daoURI, especially if they are hosted by DAOstar itself

eip-4824 singleton?

can we add a function for daoURI(address) to the standard?

Basically, having a variant of daoURI() with an address that returns a string.

This would allow a singleton registry for all daos rather than creating a registration contract for every single dao.

Updates + calendar section

Add an "updates" section for daostar.org as well as a calendar of community calls similar to login.xyz, to give the site a more dynamic feel, and to give folks the sense that it is alive and being supported.

build backend caching database

Build a backend caching database (and API) that Metagov/DAOstar would maintain, that would allow for queries against all the membersURI, proposalsURI, activityLogURI data, e.g. "list all DAOs by number of members".

  • Touch base with potential consumers (DeepDAO, Gitcoin, Messari, etc.)
  • Decide whether we want to do this

Optimism Grant 2: Attestations

Original proposal: https://app.charmverse.io/op-grants/page-31849314357430236

These are the key components of the project:

  1. An attestation-based architecture and data model for DAO membership, member contributions, and other data (a.k.a., Attestation Standard V2)

  2. A web platform for attestations and contributions: This platform will be capable of displaying DAOIP-3 attestations and contributions for any given Ethereum address.

  3. Accompanying Infrastructure: This infrastructure will allow a client to deploy a new platform instance for a given Ethereum RPC-compatible network.

But the critical milestones of the project are:

  1. Deploying the attestation schema v2 on OP Goerli/ OP mainnet using the Ethereum Attestation Service (Timeline: Q4 2023)
  2. Attestations using the schema deployed in (1) (Timeline: Q4 2023)

Ideally, we want to complete all things promised under the key components by Q4 2023 and also try to get some adoption for it.

Create a Snapshot integration

The Snapshot integration would allow a DAO with an existing Snapshot instance to just copy the members definition there to populate a membersURI. It would also allow the proposals in Snapshot to populate a proposalsURI.

Effectively, the flow should be, a DAO selects "Snapshot" as the framework, they give us their Snapshot instance, and we just populate everything for them.

Upgradeability / versioning for daoURI

Right now, continued development of DAOIPs means that daoURI is getting rapidly updated. There are new changes and additions to the schema all the time. What is the best way of pushing updates to the schema?

  • How do we implement versioning of the schema, especially if it is updated piecemeal through DAOIPs?
  • How do we notify people that there's an updated schema to adopt?
  • Will there be a easy-to-use method of pulling updates?
  • If updates are being pulled from the DAO frameworks (rather than DAOs themselves), how do we facilitate that?
  • Do we need to drive more people to use the daoURI management interface at daostar.org?
  • If so, do we need better infrastructure like an explorer (ref. EAS)?

This issue will be considered resolved when we have a full update flow specified and implemented.

Optimism Grant 1 : EIP-4824

The successful implementation and deployment of the EIP-4824 standard in the Optimism ecosystem, confirmed by Optimism and at least three other large DAOs on Optimism publishing a daoURI.

Tasks:

  1. Build the end-points for Optimism DAO + 3 other DAOs on Optimism (if these are Snapshot DAOs, we can just use the Snapshot integration).
  2. Get the proposal through the governance of all 4 DAOs and get them to publish a daoURI.

Due date: end of September 2023

The grant will only be received once the aforementioned tasks have been completed.

Original proposal: https://gov.optimism.io/t/final-daostar-governance-standards-for-the-optimism-ecosystem/6181

How do we help Uncommons activate Asia-based research and standards creation?

  • chat with them about P2P workshop ideation and planning
  • share insight on how to onboard researchers (thinking: open problems doc - can we build on that and add a part for asia, or can we create an asia version of that document, events with institutions such like DAO Harvard/ Stanford @thelastjosh , Eugene's experience with engaging with college blockchain clubs)
  • how to we enable/ empower/ coordinate standards creation in Asia

Comprehensive Membership Management System

The purpose of this issue is to explore and address the development of a robust Membership Management System for DAOstar. This feature requirement emerges from the need to streamline our current processes and offer better service to our members, and it should not hinder or delay the launching of our new membership/dues program.

The proposed system should seamlessly integrate the following components:

  • Membership Database: Our membership data currently resides on Notion. The system should allow an effective and efficient way to manage this data.
  • Membership Status Visibility: There should be public views of the database that can display membership status (current, lapsed, etc.) for transparency and accessibility.
  • Payment Support: The system should facilitate both fiat payments via credit cards (potentially through Open Collective) and on-chain payments from wallets, including those that are not Ethereum-based.
  • Automatic Database Updates: The system should automatically update the membership database in response to payments, reducing manual labor and potential human error.
  • Expense Accounting: This feature should be integrated with our current expense accounting on Open Collective.
  • The development of such a system might be something that LXDAO could support, providing a significant advancement in our operations.

A major complicating factor (or opportunity) is the potential interaction between this membership management system and any eventual DAO or DAOs (it's hard to imagine a single contract, since participating DAOs will exist across many chains) that will govern DAOstar. I.e. one might expect that being an active member will give you certain governance rights in the DAO. To the degree possible, we should proceed with the design of this system in a way that does not constrain the future governance of DAOstar.

Previous discussions regarding this topic have included @ipatka and @mzargham, and older conversations have also involved Auryn, Kei, Zargham, Ivan, and others. Further input and involvement from all relevant parties will be invaluable to this project's successful execution.

Actions:

  • Discuss and finalize the requirements for the proposed system, including potential for this to be integrated into the design of the first DAOstar governance smart contracts (tentatively titled DAO*1).
  • Identify and allocate resources for design.
  • Design and specify the system.
  • Explore potential support from LXDAO for the system's development.
  • Identify and allocate resources for development.

Looking forward to your thoughts and feedback on this matter.

Live demo / illustration of standard

Extend "The standard" section with a live demo of the standard, plus icons going to DeepDAO, Messari, Etherscan, and other live integrations etc. to illustrate how DAOs benefit from the legibility + reporting features.

Create JD for "community & vibes person"

Ideally Asia-based, as we re-center toward Asia.

  • can curate Asia vibes
  • has a "good sense of smell" in Asia, especially China, Japan, South Korea, Singapore
  • curating the general community vibes, including current DAOstar membership (so good English required!)
  • engage communities
  • help run/moderate the main roundtable
  • socialize standards
  • research, e.g. marketing survey
  • curating events for DAOs & standards in Asia
  • communicating the vision of DAOstar
  • coordinating the team around the Asia vision
  • apply for grants in Asia
  • depending on grant availability, building out and leading a small team in Asia

Support section

A section of the website where we can advertise current support for the standard, including (1) embeds of favorable Twitter coverage or articles, (2) commitments from partners such as Messari, DeepDAO, or Etherscan.

Decide on license for DAO Creative Universe

@ipatka weren’t you talking about some kind of remix license? Could that be used here.

Background: no idea what we’re doing with DAO Creative Universe, it’s kind of a marketing draw to bootstrap the DAOIP system, but could be fun to experiment with some sort of open source approach to developing a “cinematic universe” of related stories and IP.

decide on long term ipfs storage solution

Current DAOstar API is running a IPFS node and hosting files via Pinata free tier. The free tier is limited to 100 files, and the node is not designed for hosting a large amount of data, and won't propagate to multiple nodes. Once we have a larger release / more contracts hosted we will need to find a longer term solution for decentralized storage ie FileCoin, hosted Metagov IPFS nodes, spending money on Pinata or other pinning services, etc.

Re-organize issues for SOW

This is the context of a potential contract with dOrg. They are requesting additional detail, rather than have that sit in a contract I'm going to organize those specs into public issues.

Currently:

  • [50%] Create caching backend database to support explore functionality in the frontend and scalable/flexible querying of DAO*-compliant DAOs and services.
  • [10%] Documentation including Swagger/ OpenAPI-compliant docs, schema docs, and other technical resources and content that can be put into the DAO* documentation. Also, helping clean up and professionalize our open-source project management / GitHub repository. Actual verbose documentation will be produced by DAO* team.
  • [20%] Scripting to make it easy to deploy new reference implementations to the daostar.org Endpoint Hosting Service, via AWS Lambda.
  • [20%] General improvements to the API, including input validation, fixing subgraphs and reference implementations to ensure full spec-compliance with DAO*, and adding support for all EVM chains.

Not in scope but should be converted to issues:

  • The Safe’s DAO* registration (i.e. initiating a proposal on the Safe to deploy a DAO* registration contract) is out of scope, though this could constitute follow-up work to develop a Safe or Zodiac app that makes it easy to deploy a DAO* registration contract.
  • Editing of the DAO* endpoint is out of scope, though this could constitute follow-up work to develop a Safe or Zodiac app that exposes the DAO* editing interface directly within the Safe.

Integrate daostar.org and daostar.one websites

Most of the activity & calls-to-action (as well as the working papers themselves) live on daostar.one, making daostar.org feel a bit dead and non-interactive. How can we improve that interaction?

Update EIP-4824, finalize, ping the EIP editors

List of things to edit into the EIP:

  • add 'orgURI' and 'entityURI' as aliases
  • name
  • proposalsURI
  • activityLogURI
  • context
  • add advice: if you don't have any value for a field (e.g. for "description"), just don't include the field, don't leave it blank ""
  • change http in context to https
  • Typo under Members, “membersuRI”
  • Clarify that you can replace “membersURI” with just “members” if you want to in all DAOstar schemas. Similarly with “proposalsURI” and “proposals”.
    • Or is this bad practice? What if someone tries to report a JSON with BOTH membersURI and members; how do you parse that? I guess, always look for membersURI first, and then for members?
  • Revise contractsURI to make clear that contracts pointed at the same daoURI can cite each other. Also, implement + describe an id for contracts, “CAIP-10 address + “?contractId=“ + CONTRACT_COUNTER”.
  • Look up what’s best practice: either remove “type: DAO”, etc. extra “contextual” fields from the array lists for proposals, members, etc. or add them all into the new standards.
  • Remove the double copy of “activities” under ActivityLog [or just remove ActivityLog altogether?]
  • Contracts JSON not being recognized as JSON
  • Consider changing member format from type, id to id: {type, value} (decided against doing this, after doing more research into how VC approaches this---effectively the value should be a URI, not another JSON object. Though I'm not 100% on this since I vaguely remember that someone somewhere had taken the nested approach).
  • "name". Based on conversation with Fabien. Consider removing "name" from all the sub JSON files. this way, if anyone changes the name, you do not need to change all these files, which is problematic.
  • consider changing "type" in the member list so it's not just "EthereumAddress" but something more useful and informative, like "Member", "Administrator", "Moderator", and so on. "type": "EthereumAddress" feels strange, though it's hard to know how to resist. If it's Arbitrum, should I put ArbitrumAddress? - If it's another chain, should I use eip155, etc. If it's EVM-type address, should. If it was me, I would say "type: Administrator, Moderator, etc. etc.". It would be nice to have a schema for ROLES. I like the approach of Safe with this, you put the treasury that the DAO defines (and you can add multiple treasuries, on multiple chains), also has a short name.

Notes from conversations with Snapshot

GovernanceURI

  • snapshot does not have a good value for that. Maybe: I could auto-generate some text around the voting pool and voting strategies. Maybe I could auto-generate some information.
  • IDEA: this suggests modular descriptions for governance specification? Would need a new standard

"proposalsURI"

We should have a demo for this! Here's what you can do with that standard.

Member:

  • Roles in Snapshot: Controller, Administrator. A space may define a certain strategy, but the author can always bypass this.
  • (What he's calling for is a kind of "meta-identity layer")
  • "type": "EthereumAddress" feels strange. If it's Arbitrum, should I put ArbitrumAddress? - If it's another chain, should I use eip155, etc. If it's EVM-type address, should. If it was me, I would say "type: Administrator, Moderator, etc. etc.". It would be nice to have a schema for ROLES. I like the approach of Safe with this, you put the treasury that the DAO defines (and you can add multiple treasuries, on multiple chains), also has a short name.

activityLogURI

  • On snapshot, we store all the activity: when you join/follow, when you vote, etc. etc.
  • We can filter that by space, but we cannot filter that by proposal. We could show the vote by proposal, but it's a bit more deep integration.
  • Right now, you're exporting the follow/join, propose, delegate, flag proposal, subscribe, vote actions FOR THE SPACE.
  • We could imagine someone integrating subscribe for the proposal, but that's not currently set up.
  • JOSH: stage some well-defined activity types, for example a vote on a proposal. it would be nice to list all the possible types

Consolidate and upgrade DAO* documentation

This issue consolidates several tasks for documentation.

Stuff we need to add

  1. Add information from our Aave proposal, plus a template proposal that they can fork to their own DAOs.
  2. A really short summary of the daoURI interface and architecture.
  3. Canonical list of all on-chain factory contract addresses.
  4. Updated version of
    The plans for DAOstar One - Overview of Architecture
  5. An answer to the following: "Could you point me towards one or more endpoint(s) you mentioned? I'd like to see which data is available to understand better what we could do with it."
  6. Super clear introduction to how to adopt. Side infographic on “How to create a contract transaction on… Gnosis Safe”.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.