Git for anything, administrated by your DAO.
A toolchain for immutable, DAO-controlled versioning.
For use cases, such as...
- Legal Agreements. Source of truth for legally binding agreements the DAO has entered.
- Operational Planning. Budgeting, contribution tracking, and other document management.
- Code. Automated deployment of DAO-approved code for products or IPFS-hosted landing pages.
Existing solutions and technologies that we evaluated for moving forward with the toolchain.
Github Actions (Beta)
Automate software workflows with world-class CI/CD. Make code reviews, branch management, and issue triaging work the way you want.
👍 Integrates with existing git workflows
👍 Supports public, private and self-hosted options
❓ Dependent on Github.com servers?
❓ Responsive to Ethereum events or subgraph state changes?
_prtcl (pre-Alpha)
A simple set of rules for creating, linking, evolving, branching and merging data objects on differnet platforms, by different users.
👍 adapts the internal data schema of git to work with linked data objects instead of code
👍 Supports Ethereum / IPFS and private server options
👍 hyper-flexible and customizable
Pando (Beta)
A remote protocol for git repositories enforcing DAO-based versioning, contribution tracking and governance
👍 Integrates with existing git workflows
👍 Built for Ethereum & IPFS
👎 Dependent on aragonOS
❓ Extensible to other Ethereum-based governanance systems?
Radicle (Alpha)
A peer-to-peer stack for code collaboration.
👍 Integrates with existing git workflows
👍 Built for IPFS
❓ Responsive to Ethereum events or subgraph state changes?
DitCraft (Alpha)
Feature, design and code proposals lead to a new state of the project. Participating nodes are asked to validate the contribution via a consensus protocol and receive token rewards for positive engagements.
👎 Dependent on its own governance system and token
👎 Inflexible
❓ Where do the files live?
Espresso Drive (Deprecated)
An application that allows easy file storing and sharing within your Aragon DAO. It is a decentralized alternative to apps like Google Drive and Dropbox.
👎 Dependent on aragonOS
- Content is created and uploaded to a branch
- A user edits content, creates a new branch as a 'PR' to request adding their changes
- The DAO votes to accept or reject the 'PR'
- If accepted, the head of the original branch points to the new content
- Decentralized file storage and versioning is facilitated by _prtcl.
- A smart contract on Ethereum serves as the source of truth - it stores the record of branches and commits.
- Commits themselves are stored as an IPFS hash due to blockchain scalability / cost constraints.
- Client purely reads from these decentralized sources
- Identity and authentication is managed via DAO membership
{
action: Create
target: <File "Path">
content: <IPFS Hash>
}
{
action: Update
target: <File "Path">
prevContent: <IPFS Hash>
newContent: <IPFS Hash>
}
{
action: Delete
target: <File "Path">
}
contract Signaler {
function create(string memory target, string memory content) public pure {}
function update(string memory target, string memory prevContent, string memory newContent) public pure {}
function del(string memory target) public pure {}
}
- Add partial diff support in schema