🛠️

Strike Team #19

Last Edited Time
Apr 27, 2022
Created time
Mar 31, 2022
Participants
Created By
Type
Strike Team
Created
Mar 31, 2022
Zoom Recording
Property
Property 1
Attendees:
  • Josh Tan
  • Cent
  • Andros
  • Michael Zaragham
  • Lucia Korpas
  • Ido Gershstein
 
Summary of last Community Call: The WG discussed the need to create a browser for difference uses of the standard on a website. A basic context file was added to the GitHub repo. We want to make a C2A for people working in the ontology space. We discussed the idea of reaching out to consultancy firms that are setting up DAOs. PM Update?
Agenda for Thursday:
  1. Introductions
  1. Update on C2A for people in Ontology space
 
AIs
Josh: Summarize the discussion about how to tie a simple contract for DAO metadata in control of a DAO
Post to Discourse for public discussion
See notes below for transcript on this topic
Next time, let’s just hit every single one of them that belongs to this working group, and make sure we’re making progress on stuff.
Minutes
Contract Implementation
  • Zargham
    • Clarify this point
  • Josh
    • I instantiate a poster contract
    • Interaction between DAO and contract
    • The DAO triggers the contract that emits event that says this is the URI associated with this DAO
  • Zargham
    • We are moving to a place with a contract
    • This contract is tethered to the DAO?
  • Ido
    • The DAO is not the owner of the contract
    • A simple contract that you can call a function in and tell it what events to emit
    • It woudl be defined in some ways
    • i.e. need to emit a string that says this is a DAO URI
  • Zargham
    • Concerned around whether the DAO had unique control over setting this information
    • As long as the requirement holds that I am emiting my DAO, I(the DAO) am the only one that can modify the value
  • Ido
    • The only thing the DAO can control is the sender
  • Zargham
    • The contract we are talking about is:
      • a contract that multiple DAOs would use
      • Would argue that this is best practice, but not part of the standard
      • It might be a best practice rather than an implementation of the Standard
      • This might be a level of implementation detail that would be 95% the right thing to do, but there might be circumstances where this isn’t the best approach for a DAO
      • There might be a DAO URI, but the fact that you recieve it through Poster might be overkill
  • Ido
    • Right now we have a specific requirement
      • The DAO must implement it in it’s contract
  • Z
    • What if we relax the implementation?
      • Either
        • Poster, or
        • in the DAO contract
  • Ido
    • It would be very useful if there was a standardized way for DAOs to do this and not have to figure out how each DAO implemented this
  • Z
    • If I can ask Poster for DAO URI iformation
    • I can also trace that back...
    • I am imagining encounter a DAO for the first time
      • The first thing I would do would be look at the methods that it exposes (but that might not always be the case)
      • (Trying to work out how many steps a niave person would need to take to get to this information)
      • If you are encountering a DAO in the world and you want to know stuff about it, you start with it’s public state that you can read and the public methods if possible
      • From a data scientist perspective, interested in what data I can pull off the DAO
      • If i need to take another step, going to Poster, that’s okay, but this might be too much for someone new to navigating DAOs
  • Ido
    • The thing is, you won’t even find it on the Poster contract
    • The data is only in posting the events
    • We will need to index the data (possibly in a subgraph)
  • Josh
    • My sense is: we shouldn’t specify the exact method
    • We should specify what ever minimal thing we need to index the DAO well
    • We agree that being able to adopt the standard by emiting an event is reasonable
    • It doesn’t require the same level of control over the contract (this is the key difference)
    • If we are asserting that this needs to be implemented directly in the contract, this is a non-trivial task
    • In this case, all we are assuming is that the implementers have control over the contract behaviour
    • It does feel more stable to say that the DAO standard is built directly into the standard and complient with the standard
    • Also comfortable to say that you are complient with the standard if you are emiting the data via contract behaviour
  • Z
    • The indexing isn’t the problem here
    • There is a middle ground between putting this directly in the contract by upgrading the contract
    • We start from a place where we assume that they can alter the bahviour of the contract
    • Let’s imagine:
      • What if you had a very simple contract that you could deploy using your DAO (using the DAO as the contract owner)
      • The contract is simple, the ability to deploy the URI and change it as an owner only-method
      • You would need almost nothing else
      • Instead of posting messages and emiting events, you would have a thin contract that the DAO could deploy with the ability to change the DAO URI , transfer ownership, possibly have a method on it to emit events when the URL is changed (or some other data is changed)
      • The benifit of this is that the DAO owns the contract
        • This is basically a mutable NFT metadata for a DAO
        • The only thing this contract needs to do is hold the metadata of the DAO
        • This also keeps it composible
        • It is about enriching the ecosystem of the DAOs contracts
        • Augment only composition doesn’t require any code changes to an existing contract
  • Josh
    • The alternative here is:
      • instead of having an exiting contract that emits, we expect every DAO to deploy a new contract
  • Z
    • Would be good to have some devs make a factory
    • Instead of emiting event, they would make a contract
    • This could be a hack of NFT factories
    • The intuition is that just using Poster is off
      • We are pushing this function of the ID of the DAO too far away from the DAO
  • Josh
    • Poster solves the basic problem of declaring metadata / URI
  • Z
    • When thinking about the ETH blockchain as a data structure
    • If we use poster, this information is essentially just an itneraction with the poster contract
    • It is not part of the partitions that belong to the DAO
    • If I think of my DAO as a living thing then I am essnetially saying that this information shoudl be in it’s matter
    • It’s matter is the collection of contracts that it owns
    • Q: does this make sense in terms of difficulty of writing Solidty contracts
  • Ido
    • No, this is a simple implementation
    • (You can thinking of Poster like Twitter)
    • We have people who can volunteer an audit of contracts
  • Z
    • Can do integration testing myself or with my team
    • Like a ‘practical audit’
    • There should be a way for the public to ‘poke’ or call the contract to emit events that return DAO URI data
 
Schema Updates
  • Ido
    • No major updates
    • Need to do html updates on the website to show the JSON context
    • Speak to someone from the ontologies world
    •  
Project Management
  • Josh
    • Andros is now here to support project management
    • Let’s set some timelines and set some dates
  • Andros
    • Is there some place where we are keeping track of project updates
  • Josh
    • We should start centralizing all of this into one repo
    • Including moving the website into the repo
    • We also need set up some contracts with folks
  • Andros
    • Depending on what people feel comfortable with
    • In my experience we haven’t done contracts before
    • Getting a sense for people’s commitments per week
    • Setting periods of times where there is a focus on work (like sprints / bounties)
    • Could implement something like coordinape where people can decide what is fair for people
    • What works best is people voting on what they want to do
  • Z
    • This elevates this to what the nature of the organization is
    • When you are dealing in an environment where people are not money constrained, but time constrained
    • Adding a voting layer adds a time tax
      • i.e.
        • Is this open source project management
          • putting some tasks on a board
        • Are people getting paid
          • Maybe not a priority
    • Don’t want to dictact but this seems close to an open-source project rather than a DAO
      • because we are not in a situation where we are assuming that people need to get paid
    • The worry is the attention costs of the administrative function
    • This group has been most productive in an open-source context
      • Maybe setup contribution guidelines where payment might happen
      • Maybe setting up specific tasks that need focus and thus compensation
      • Surfacing funding only when needed
    • We need a contret statement about how we want to organize outselves
  • Josh
    • My general sense is that most work in a WG shoudl not be paid and be thought of as an open source contribution
    • We have moved on to building implementations, documetation, code, etc for putting the standard into practice
    • It is very important in terms of constrans on my time to start building institutional capacity within DAO*1 for the organization to continue the work it is doing if key agents are unable to function
    • For example
      • Paying someone to be a chair of a working group (a w3C champion is the analogue)
  • Z
    • I might also be contributing people to work on subgraphs, depending on how quickly the smart contracts setup, i might assign them a subgraph task, that they would get paid for
    • DAO*1 is becoming an organization
      • What are our patterns, and what tools are we using
        • A contractor pattern is one pattern
        • There is also the PM model
  • Andros
    • In any case, we should have some time expectations and some place where we can all see what is going on
  • Z
    • Inclined toward this being a github project/repo
 
Zoom Chat
10:04:42 From Cent to Everyone: Meeting Minutes: https://www.notion.so/Strike-Team-18-Community-Call-3-d542d14888244be8997fcc434ae8134a 10:06:16 From Cent to Everyone: One more time for new comers. Meeting Minutes: https://www.notion.so/Strike-Team-18-Community-Call-3-d542d14888244be8997fcc434ae8134a 10:09:46 From John D Storey to Everyone: cool sounds good 10:09:47 From Cent to Everyone: We also talked about onboarding patterns last community meeting. Would be nice to hear if there are any updates on this. 10:15:18 From John D Storey to Everyone: ETH DEN release woot woot 🎉 10:15:37 From Joshua Tan to Everyone: https://daostar.one/EIP 10:16:12 From Cent to Everyone: If you're comfortable with GitHub please also leave comments on the EIP there: https://github.com/ethereum/EIPs/pull/4824 10:18:38 From Cent to Everyone: Is there a link to this on the GitHub, Ido? 10:22:29 From John D Storey to Everyone: would love to hear more about the MOLv3 updates 10:22:51 From Ido Gershtein to Everyone: https://github.com/metagov/daostar-website 10:23:30 From Cent to Everyone: thanks Ido. 10:25:13 From PhilH to Everyone: big latency!!! 10:26:26 From Ido Gershtein to Everyone: Really minimal context file at the schema directory :) but actually this is the only thing that is needed from the context as I understand now for the users of the eip 10:27:20 From Keating to Everyone: https://github.com/Moloch-Mystics/daostar-subgraph 10:27:46 From Cent to Everyone: What is the discourse link, Josh? 10:27:51 From John D Storey to Everyone: That link then links to the v2 - link to the v3? 10:28:08 From asgeir to Everyone: Could it be possible to create a standard graphQL schema for subgraphs to make it easy to map DAOs just by creating subgraph mappings? 10:28:56 From John D Storey to Everyone: 👏🏼 etherscan would be awesome 10:35:48 From John D Storey to Everyone: because the data is static (doesn’t have to be, but could be at first) couldn’t you just make a public GitHub or Gist and host there? 10:36:04 From Joshua Tan to Everyone: Yup you could literally do that 10:36:53 From John D Storey to Everyone: but would be interesting to have a middleware tool like that combined with the graph data and could auto-update things about it like memberships or treasury balance etc 10:48:04 From John D Storey to Everyone: i love those 👏🏼 10:48:11 From John D Storey to Everyone: would love to hear more about the twitter dao 10:48:52 From Aaron (he/him) - Govrn to Everyone: GitHub implementation would be amazing 10:49:26 From PhilH to Everyone: Are you also in touch with Radicle? Are they part of the roundtable? 10:49:49 From Cent to Everyone: Agreement Engine: https://github.com/metagov/agreementengine/ 10:50:22 From John D Storey to Everyone: very cool 10:50:40 From Joshua Tan to Everyone: https://docs.google.com/document/d/12hBxHmfy4mb2-iPhHI7Fd3ESQ7TlbPOvQLfKHAAgGrQ/edit# 10:52:26 From Cent to Everyone: yeah, express interest in the chat and I can add you to a list 10:52:58 From Denise Duncan to Everyone: I'm interested Cent 10:56:37 From Cesar to Everyone: hey guys gotta run was nice to meet u God bless 10:57:55 From Cent to Everyone: added you Denise and Aaron 10:58:46 From Denise Duncan to Everyone: Thanks Cent. I have to jump. great discussion! 10:58:54 From Cent to Everyone: thanks for coming Denise 10:59:03 From Quadri to Everyone: you can please add me as well. Cent 10:59:15 From Cent to Everyone: yes, added Quadri 10:59:25 From Matt Johnson to Everyone: I have to bow out. Nice to make this meeting twice in a row and meet everyone and hear the input. 10:59:30 From Quadri to Everyone: First time attending the call, is there a formal way I could help out
🛠️

Strike Team #19

Last Edited Time
Apr 27, 2022
Created time
Mar 31, 2022
Participants
Created By
Type
Strike Team
Created
Mar 31, 2022
Zoom Recording
Property
Property 1
Attendees:
  • Josh Tan
  • Cent
  • Andros
  • Michael Zaragham
  • Lucia Korpas
  • Ido Gershstein
 
Summary of last Community Call: The WG discussed the need to create a browser for difference uses of the standard on a website. A basic context file was added to the GitHub repo. We want to make a C2A for people working in the ontology space. We discussed the idea of reaching out to consultancy firms that are setting up DAOs. PM Update?
Agenda for Thursday:
  1. Introductions
  1. Update on C2A for people in Ontology space
 
AIs
Josh: Summarize the discussion about how to tie a simple contract for DAO metadata in control of a DAO
Post to Discourse for public discussion
See notes below for transcript on this topic
Next time, let’s just hit every single one of them that belongs to this working group, and make sure we’re making progress on stuff.
Minutes
Contract Implementation
  • Zargham
    • Clarify this point
  • Josh
    • I instantiate a poster contract
    • Interaction between DAO and contract
    • The DAO triggers the contract that emits event that says this is the URI associated with this DAO
  • Zargham
    • We are moving to a place with a contract
    • This contract is tethered to the DAO?
  • Ido
    • The DAO is not the owner of the contract
    • A simple contract that you can call a function in and tell it what events to emit
    • It woudl be defined in some ways
    • i.e. need to emit a string that says this is a DAO URI
  • Zargham
    • Concerned around whether the DAO had unique control over setting this information
    • As long as the requirement holds that I am emiting my DAO, I(the DAO) am the only one that can modify the value
  • Ido
    • The only thing the DAO can control is the sender
  • Zargham
    • The contract we are talking about is:
      • a contract that multiple DAOs would use
      • Would argue that this is best practice, but not part of the standard
      • It might be a best practice rather than an implementation of the Standard
      • This might be a level of implementation detail that would be 95% the right thing to do, but there might be circumstances where this isn’t the best approach for a DAO
      • There might be a DAO URI, but the fact that you recieve it through Poster might be overkill
  • Ido
    • Right now we have a specific requirement
      • The DAO must implement it in it’s contract
  • Z
    • What if we relax the implementation?
      • Either
        • Poster, or
        • in the DAO contract
  • Ido
    • It would be very useful if there was a standardized way for DAOs to do this and not have to figure out how each DAO implemented this
  • Z
    • If I can ask Poster for DAO URI iformation
    • I can also trace that back...
    • I am imagining encounter a DAO for the first time
      • The first thing I would do would be look at the methods that it exposes (but that might not always be the case)
      • (Trying to work out how many steps a niave person would need to take to get to this information)
      • If you are encountering a DAO in the world and you want to know stuff about it, you start with it’s public state that you can read and the public methods if possible
      • From a data scientist perspective, interested in what data I can pull off the DAO
      • If i need to take another step, going to Poster, that’s okay, but this might be too much for someone new to navigating DAOs
  • Ido
    • The thing is, you won’t even find it on the Poster contract
    • The data is only in posting the events
    • We will need to index the data (possibly in a subgraph)
  • Josh
    • My sense is: we shouldn’t specify the exact method
    • We should specify what ever minimal thing we need to index the DAO well
    • We agree that being able to adopt the standard by emiting an event is reasonable
    • It doesn’t require the same level of control over the contract (this is the key difference)
    • If we are asserting that this needs to be implemented directly in the contract, this is a non-trivial task
    • In this case, all we are assuming is that the implementers have control over the contract behaviour
    • It does feel more stable to say that the DAO standard is built directly into the standard and complient with the standard
    • Also comfortable to say that you are complient with the standard if you are emiting the data via contract behaviour
  • Z
    • The indexing isn’t the problem here
    • There is a middle ground between putting this directly in the contract by upgrading the contract
    • We start from a place where we assume that they can alter the bahviour of the contract
    • Let’s imagine:
      • What if you had a very simple contract that you could deploy using your DAO (using the DAO as the contract owner)
      • The contract is simple, the ability to deploy the URI and change it as an owner only-method
      • You would need almost nothing else
      • Instead of posting messages and emiting events, you would have a thin contract that the DAO could deploy with the ability to change the DAO URI , transfer ownership, possibly have a method on it to emit events when the URL is changed (or some other data is changed)
      • The benifit of this is that the DAO owns the contract
        • This is basically a mutable NFT metadata for a DAO
        • The only thing this contract needs to do is hold the metadata of the DAO
        • This also keeps it composible
        • It is about enriching the ecosystem of the DAOs contracts
        • Augment only composition doesn’t require any code changes to an existing contract
  • Josh
    • The alternative here is:
      • instead of having an exiting contract that emits, we expect every DAO to deploy a new contract
  • Z
    • Would be good to have some devs make a factory
    • Instead of emiting event, they would make a contract
    • This could be a hack of NFT factories
    • The intuition is that just using Poster is off
      • We are pushing this function of the ID of the DAO too far away from the DAO
  • Josh
    • Poster solves the basic problem of declaring metadata / URI
  • Z
    • When thinking about the ETH blockchain as a data structure
    • If we use poster, this information is essentially just an itneraction with the poster contract
    • It is not part of the partitions that belong to the DAO
    • If I think of my DAO as a living thing then I am essnetially saying that this information shoudl be in it’s matter
    • It’s matter is the collection of contracts that it owns
    • Q: does this make sense in terms of difficulty of writing Solidty contracts
  • Ido
    • No, this is a simple implementation
    • (You can thinking of Poster like Twitter)
    • We have people who can volunteer an audit of contracts
  • Z
    • Can do integration testing myself or with my team
    • Like a ‘practical audit’
    • There should be a way for the public to ‘poke’ or call the contract to emit events that return DAO URI data
 
Schema Updates
  • Ido
    • No major updates
    • Need to do html updates on the website to show the JSON context
    • Speak to someone from the ontologies world
    •  
Project Management
  • Josh
    • Andros is now here to support project management
    • Let’s set some timelines and set some dates
  • Andros
    • Is there some place where we are keeping track of project updates
  • Josh
    • We should start centralizing all of this into one repo
    • Including moving the website into the repo
    • We also need set up some contracts with folks
  • Andros
    • Depending on what people feel comfortable with
    • In my experience we haven’t done contracts before
    • Getting a sense for people’s commitments per week
    • Setting periods of times where there is a focus on work (like sprints / bounties)
    • Could implement something like coordinape where people can decide what is fair for people
    • What works best is people voting on what they want to do
  • Z
    • This elevates this to what the nature of the organization is
    • When you are dealing in an environment where people are not money constrained, but time constrained
    • Adding a voting layer adds a time tax
      • i.e.
        • Is this open source project management
          • putting some tasks on a board
        • Are people getting paid
          • Maybe not a priority
    • Don’t want to dictact but this seems close to an open-source project rather than a DAO
      • because we are not in a situation where we are assuming that people need to get paid
    • The worry is the attention costs of the administrative function
    • This group has been most productive in an open-source context
      • Maybe setup contribution guidelines where payment might happen
      • Maybe setting up specific tasks that need focus and thus compensation
      • Surfacing funding only when needed
    • We need a contret statement about how we want to organize outselves
  • Josh
    • My general sense is that most work in a WG shoudl not be paid and be thought of as an open source contribution
    • We have moved on to building implementations, documetation, code, etc for putting the standard into practice
    • It is very important in terms of constrans on my time to start building institutional capacity within DAO*1 for the organization to continue the work it is doing if key agents are unable to function
    • For example
      • Paying someone to be a chair of a working group (a w3C champion is the analogue)
  • Z
    • I might also be contributing people to work on subgraphs, depending on how quickly the smart contracts setup, i might assign them a subgraph task, that they would get paid for
    • DAO*1 is becoming an organization
      • What are our patterns, and what tools are we using
        • A contractor pattern is one pattern
        • There is also the PM model
  • Andros
    • In any case, we should have some time expectations and some place where we can all see what is going on
  • Z
    • Inclined toward this being a github project/repo
 
Zoom Chat
10:04:42 From Cent to Everyone: Meeting Minutes: https://www.notion.so/Strike-Team-18-Community-Call-3-d542d14888244be8997fcc434ae8134a 10:06:16 From Cent to Everyone: One more time for new comers. Meeting Minutes: https://www.notion.so/Strike-Team-18-Community-Call-3-d542d14888244be8997fcc434ae8134a 10:09:46 From John D Storey to Everyone: cool sounds good 10:09:47 From Cent to Everyone: We also talked about onboarding patterns last community meeting. Would be nice to hear if there are any updates on this. 10:15:18 From John D Storey to Everyone: ETH DEN release woot woot 🎉 10:15:37 From Joshua Tan to Everyone: https://daostar.one/EIP 10:16:12 From Cent to Everyone: If you're comfortable with GitHub please also leave comments on the EIP there: https://github.com/ethereum/EIPs/pull/4824 10:18:38 From Cent to Everyone: Is there a link to this on the GitHub, Ido? 10:22:29 From John D Storey to Everyone: would love to hear more about the MOLv3 updates 10:22:51 From Ido Gershtein to Everyone: https://github.com/metagov/daostar-website 10:23:30 From Cent to Everyone: thanks Ido. 10:25:13 From PhilH to Everyone: big latency!!! 10:26:26 From Ido Gershtein to Everyone: Really minimal context file at the schema directory :) but actually this is the only thing that is needed from the context as I understand now for the users of the eip 10:27:20 From Keating to Everyone: https://github.com/Moloch-Mystics/daostar-subgraph 10:27:46 From Cent to Everyone: What is the discourse link, Josh? 10:27:51 From John D Storey to Everyone: That link then links to the v2 - link to the v3? 10:28:08 From asgeir to Everyone: Could it be possible to create a standard graphQL schema for subgraphs to make it easy to map DAOs just by creating subgraph mappings? 10:28:56 From John D Storey to Everyone: 👏🏼 etherscan would be awesome 10:35:48 From John D Storey to Everyone: because the data is static (doesn’t have to be, but could be at first) couldn’t you just make a public GitHub or Gist and host there? 10:36:04 From Joshua Tan to Everyone: Yup you could literally do that 10:36:53 From John D Storey to Everyone: but would be interesting to have a middleware tool like that combined with the graph data and could auto-update things about it like memberships or treasury balance etc 10:48:04 From John D Storey to Everyone: i love those 👏🏼 10:48:11 From John D Storey to Everyone: would love to hear more about the twitter dao 10:48:52 From Aaron (he/him) - Govrn to Everyone: GitHub implementation would be amazing 10:49:26 From PhilH to Everyone: Are you also in touch with Radicle? Are they part of the roundtable? 10:49:49 From Cent to Everyone: Agreement Engine: https://github.com/metagov/agreementengine/ 10:50:22 From John D Storey to Everyone: very cool 10:50:40 From Joshua Tan to Everyone: https://docs.google.com/document/d/12hBxHmfy4mb2-iPhHI7Fd3ESQ7TlbPOvQLfKHAAgGrQ/edit# 10:52:26 From Cent to Everyone: yeah, express interest in the chat and I can add you to a list 10:52:58 From Denise Duncan to Everyone: I'm interested Cent 10:56:37 From Cesar to Everyone: hey guys gotta run was nice to meet u God bless 10:57:55 From Cent to Everyone: added you Denise and Aaron 10:58:46 From Denise Duncan to Everyone: Thanks Cent. I have to jump. great discussion! 10:58:54 From Cent to Everyone: thanks for coming Denise 10:59:03 From Quadri to Everyone: you can please add me as well. Cent 10:59:15 From Cent to Everyone: yes, added Quadri 10:59:25 From Matt Johnson to Everyone: I have to bow out. Nice to make this meeting twice in a row and meet everyone and hear the input. 10:59:30 From Quadri to Everyone: First time attending the call, is there a formal way I could help out