Feature Update: Orgs 🎉

One of the first Ethereum features on the roadmap is Radicle Orgs. As written in our Integrating with Ethereum post, Radicle Orgs allow a group of people to manage multiple projects on Radicle.

What’s cool about Orgs is that they’re actually smart contracts that can be managed by DAOs or multi-sigs. With Radicle Orgs, projects can maintain an auditable and transparent history of project state on-chain. This enables new workflows around your main branch that is now anchored and secured on Ethereum. These can be used to trigger off-chain actions like the distribution of developer rewards, software releases, or any job you’d like.

We see Radicle Orgs becoming a super-powered primitive for decentralized communities who want to take back control of their collaboration infrastructure.


How it works

Anita is the maintainer of a Web3 project called TunaSwap. They want to host their repositories on Radicle. To do so, they need to 1) publish their repositories to the Radicle peer-to-peer network, 2) maintain a canonical view of the projects and 3) manage the projects as a team. With the Upstream app, Anita can publish all of the TunaSwap repositories to the Radicle network. Once on the network, they will be replicated across her network of peers, hosting the repositories in a peer-to-peer manner.

However, due to its peer-to-peer nature, any of her team members can also publish their own forks of TunaSwap’s repositories, so they need a way to show their community which is the canonical version of the projects. Anita learns that with Radicle Orgs, she can anchor project state on-chain at specific commit hashes, giving her the ability to maintain a canonical global view of project state on Ethereum. In addition, she can do this in a decentralized way with her team by managing the Radicle Org with a Gnosis Safe.

Creating an Org

Anita is tasked with creating a Radicle Org for the TunaSwap team. In the Upstream app, she starts the process by clicking the + icon in the sidebar.

Anita enters the Org creation flow. This flow walks her through deploying an Org and creating a Gnosis Safe to manage it. Since her wallet is connected, she is added as the first member to the Gnosis Safe by default. After creating the Gnosis Safe, it’s set as the admin of the Org contract.

We decided to move ahead with a tight integration with the Gnosis Safe multi-sig for our MVP. With more than $20B in digital assets managed through Gnosis Safe contracts, it’s robust, battle-tested, and very well-documented. We’ve been working closely with their product team to make this MVP a reality! Read more about how the Gnosis Safe works.

After creating the Org, Anita lands on the newly created Org page. On this page, she can view the address of the Org and its admin (the Gnosis Safe). Now, the TunaSwap Org has one member and 0 projects.

Adding a member

Next, Anita will want to add team members to the TunaSwap org. To do so, she can navigate to the Members tab of the Org page and click the Add a member button. Clicking the button in the dropdown will lead her to the Gnosis Safe UI.

After logging in to her Gnosis Safe, she can navigate to the Settings tab and add members by inputting their Ethereum addresses. In the Gnosis Safe UI, she can also set the quorum needed to pass certain actions every time she adds a member.

After adding members, she can navigate back to Upstream and see the members added by viewing the Members tab. If members have attested their Ethereum address in Upstream their Radicle name (and emoji avatar!) will show up here.

Anchoring a project

Once she adds members, she’ll also want to add TunaSwap’s projects. To do this, she’ll need to anchor the projects on-chain through the Org contract.

To anchor a project, she adds the Radicle ID of the project and the commit hash that represents the state of the project that she would like to anchor on-chain.

Once she clicks “Anchor”, she’ll be prompted to sign the transaction. This creates an immutable “snapshot” of the source code of a project that represents the canonical state of a repository and commits it on-chain. If TunaSwap requires signatures from multiple members (i.e. a quorum), other members of the Org will be prompted to sign the transaction in Gnosis Safe. In Upstream, she’ll be able to see the pending project on the project page.

Once enough members have signed the transaction to reach quorum, the project will be added to the Org page and an anchor icon will appear next to its name. When anyone hovers over the anchor, they will see the commit hash, transaction ID, and how many people have replicated the project state.

Next steps

  • We’ll be building the Orgs MVP over the next couple of weeks alongside the Gnosis Safe team :muscle::tada:

  • Once we have something usable, we’ll be doing some user testing to gather feedback on the experience. If you’re interested, DM me!

  • While the MVP will be closely integrated with Gnosis Safe, we see Radicle Orgs being interoperable with other DAO frameworks. I know @papa-raw @jpkcambridge @nico are interested in figuring out their DAO frameworks can integrate - the Gnosis Safe integration will be a great start!

That’s it! Feel free to drop your questions and ideas in this thread. We’d love to hear what people think and how they envision Orgs fitting into their everyday workflow :sparkles:

14 Likes

So awesome this updates , Thank you for all your hard work on this @abbey

1 Like

You have no idea how happy this makes me!

Especially given the recent launch of the Gnosis Safe DAO module and SafeSnap plugin for Snapshot.

2 Likes

The beginning of something great for Radicle! Thanks @abbey!