joystream
joystream copied to clipboard
Idea/proof of concept: git-like controlled database/knowledge graph using multisig and WG static storage
Problem
By far the largest problem in the web3 and DAO space is documentation & tools and projects that utilize dozens of on-chain and off-chain tools. This problem persists across almost every single project I have come across and is compounded by the project's complexity. I have not really come across a project that manages this very well. The key issues are:
- Tracking changes
- Removing outdated information/tools
- Poor metadata
- Tedious manual work spread across varying sources (expanded upon slightly here: https://github.com/Joystream/joystream/issues/4307#issuecomment-1262914387)
A simple example of this problem:
- https://github.com/w3f/polkadot-wiki/blob/master/docs/build/build-open-source.md
- https://wiki.polkadot.network/docs/build-tools-index
- https://github.com/w3f/polkadot-wiki/blob/master/docs/build/build-wallets.md
These are 3 pages with partially overlapping sets of information that seem to be manually maintained. Information is spread across the place and it is generally difficult to find consistent, high quality indexes of information that are known to be up to date or maintained.
Examples / Use Cases
In order to maintain a high standard of documentation that is globally available to Joystream users of all levels, it makes sense that this is maintained on the DAO rather than using off-chain tools (like GitHub, Notion or others). It will also probably be likely that tracking task management, extended metadata of proposals (https://github.com/Joystream/community-repo/issues/713 + https://github.com/Joystream/community-repo/issues/710), budgets and any "goods" (such as scripts, tools or tutorials) that the DAO produces are conveniently stored for all use cases.
- On one DAO the following was written on their governance forum, basically leaving the task of data management up to volunteerism:
Please try and fill these tags in when you can; I can add them, but it’s easier if its done at the beginning.
- On another, it was suggested that the marketplace should form to provide information
- Governance voter unable to find information due to lack of categorization (https://kusama.polkassembly.io/treasury/201)
On top of this, there are very few DAOs which have task or project management features and instead extensively rely upon off-chain tools which are not only centralized but also not chained to on-chain identities.
Therefore for numerous reasons it would be highly desirable to have a git-like database / knowledge graph, which is extensively maintained of the Joystream DAO organization including areas such as:
- Governance
- Budgets
- Tooling lists
- Tutorial lists
- WG processes and their internal management
- many other areas
Solution 1
In the below example I am using OperationsGamma
(HR).
- A multisig key is made up of the lead + worker keys
- The extrinsic
storage > sudoUploadDataObjects
is used using the multisig
Solution 2
In the below example I am using OperationsGamma
(HR).
-
operationsWorkingGroupGamma > workerRemark
is used to commit a change - The lead can then merge the change using the same extrinsic.
For either of these a UI and tooling would have to be developed, but it seems like they could perhaps work.
Very relevant: https://kusama.polkassembly.io/post/1814