Request for feedback: Toolkit API design 🧰

With the SDK team of Aragon One we have been working on a new initiative in the last couple of weeks. We went through the process of discovery, initiative formation, and experimentation. Now we have a better understanding of the current problem, user personas, and pain points we are dealing with.

The next step is to scope and start shaping the new tool. Before continue we want to gather feedback from the community and potential users about the direction we are going and to validate if our assumptions are correct.

You can follow the current development efforts in this Github repo: aragon/plumbery

We put our thoughts in the following Notion document: Toolkit API design

The document has comments allowed to have an open discussion, your feedback is really important to shape the future of this new tooling.

If you can’t go through the whole document following is a summary.

Summary

Aragon is seeing a level of experimentation that the Aragon Client has not been able to fully address. Developers want to create their own front-end interfaces, access to the organization data (permissions, apps), and handlers for organizations’ logic (transaction path, radspec, evmscripts). This document aims to explain the motivations for these use cases, and the design of a node SDK to address the existing limitations. On top of the node SDK we will create a React hooks API


Note both Toolkit and Plumbery are codenames until we decided on a naming convention. Suggestions are welcome :slightly_smiling_face:

12 Likes

Why the new tool is needed? What’s the difference between plumbery, @aragon/wrapper and @aragon/toolkit?

Big differences.

@aragon/wrapper (and @aragon/api) is essentially an Aragon client API layer at this point; it was initially designed to be generic, but has gotten more and more coupled over time. Building on top with it is not a good experience, especially because you’re still locked to connecting with an ETH node directly.

@aragon/toolkit was an attempt at extracting re-usable logic from various projects / repos (primarily aragonCLI). It was meant to be a loose toolkit that you could pick up and use, but was not designed around a great holistic development experience if you just want to connect, grab information, and interact with Aragon organizations.

Plumbery’s design goal is to make building on top easy. It should offer everything you need to automate interactions or build your own frontend, and provide you multiple options of how to source information (subgraph, ETH node, your own custom database, etc) so you can choose your level of decentralization.

2 Likes

Thanks for explanation! Does it all mean that @aragon/wrapper and @aragon/toolkit are now deprecated?

I used @aragon/wrapper in Aramask to wrap transactions for Agent. Should I prepare for the migration to plumbery?

Does it all mean that @aragon/wrapper and @aragon/toolkit are now deprecated?

@aragon/wrapper is not deprecated; we still need it in the client and may re-build parts of it to be on top of plumbery.

@aragon/toolkit's current beta versions will be deprecated, but they were always beta anyway.

So yes, you should prepare to migrate to plumbery; it should also alleviate the need to have a server component since you won’t need @aragon/wrapper.

1 Like

So excited! looking forward. it reminds me of a step forward. Componentization. If each DAO tool makes all functions into independent components, then we can use these components to build the tool that best suits our needs. Perhaps it combines Moloch, Aragon, DAOStack, Colony … maybe super cool!

3 Likes