Showcase: Toolkit - Simplifying dApp Management on the Internet Computer

Project Highlights

The Toolkit is a platform designed to simplify decentralized application (dApp) management on the Internet Computer. It empowers developers and teams to deploy, manage, and govern their projects seamlessly. While our initial focus was on SNS DAO management (original forum post), after reaching Milestone 3 of our Dfinity grant, we extended Toolkit’s functionality to cater a broader use case.

The Toolkit is designed for:

  • Developers: Simplify the development, deployment, and scaling of dApps.

  • Teams: Collaborate on projects, manage canisters, and experiment with governance.

  • SNS Projects: Seamlessly interact with SNS treasuries, proposals, and governance mechanisms.

By pivoting towards a more holistic platform, we aim to provide powerful tools that adapt to the evolving needs of developers and projects in the Internet Computer ecosystem.


Web3 Advantages

Unlike Web2 tools, the Toolkit:

  • Offers easy to use on-chain governance with transparent decision-making and proposal tracking.

  • Provides decentralized control, allowing users to own and manage their dApps without intermediaries.

  • Automates deployment and upgrades, reducing the complexity and time required to manage blockchain applications.


How is it Built

The Toolkit is built with Rust to leverage the Internet Computer’s capabilities fully. Its architecture includes:

  • User Registry: Tracks user references to SNSes, Toolkit projects, and private canisters.

  • Project Registry: Maintains and upgrades toolkit root canisters.

  • Toolkit project (root): Acts as the main controller for all canisters in a Toolkit project.

Tech Stack:

  • Backend: Rust-based canisters for secure and efficient operations.

  • Frontend: Built with Svelte for a responsive and intuitive UI.

  • Deployment: CLI scripts (soon evolving into a full CLI tool) for managing canisters and configurations.


Concerns

Currently, all projects created with the Toolkit are managed by the Toolkit Project Manager, which is controlled by the Toolkit entity itself. This centralization means the system isn’t fully decentralized at the time of writing.

To address this, we are exploring multiple solutions:

  • Transitioning to an SNS: This would enable community-driven governance and eliminate centralized control, aligning with the broader vision of decentralization.

  • Expanding Membership: Introducing the ability to add members to the Toolkit Project Manager for shared control and decision-making.

  • Token-Based Governance: Implementing a governance system where decisions are made based on token ownership, allowing stakeholders to have a say proportional to their investment in the system.

We’re committed to finding a robust solution that ensures the Toolkit aligns with the principles of decentralization.


Internet Computer Superpowers

The Internet Computer enables the Toolkit to:

  • Run cost-effectively using the IC’s cycle-based economy.

  • Scale seamlessly with sub-second finality and decentralized infrastructure.

  • Integrate with SNS governance, providing easy management of treasuries, proposals, and voting.


Go-To-Market Strategy

We’re pivoting to a broader market strategy:

  1. Community Engagement:
  • Active participation on forums, Twitter, and Discord.

  • Sharing educational resources, demos, and tutorials.

  1. Targeting Developers:
  • Focus on simplifying the developer experience with tools like the upcoming CLI.
  1. Ecosystem Collaboration:
  • Partnering with other IC projects to integrate their tools into the Toolkit ecosystem.

Monetization

The Toolkit will adopt a sustainable monetization model, including:

  • Marketplace Fees: Developers publishing reusable tools on the marketplace can earn while contributing to the platform treasury.

  • Toolkit Project Fees: A small fee for creating projects to fund ongoing development.

  • SNS Features: Long-term plans to transition the Toolkit itself to an SNS, enabling community-driven governance and revenue sharing.


Status of the Project

Current Progress:

  • Reached Milestone 3 of our Dfinity grant, focusing on foundational features.

  • Implemented Toolkit Projects for canister management and governance experimentation.

  • Introduced SNS management tools for treasuries and proposals.

Metrics:

  • Working prototype with active testing by early adopters.

  • Positive feedback on the intuitive UI and deployment scripts.


Resources


Future Plans

Short-Term:

  1. Launch a redesigned frontend dApp for better user experience.

  2. Finalize and release the CLI tool for a DFX-like developer experience.

  3. Expand governance features with permissions-based roles and token-weighted ballots.

Long-Term:

  1. Develop the Toolkit Marketplace to enable developers to publish and monetize reusable tools.

  2. Tied to the marketplace is the development of the ICTS standard (internet computer toolkit standard).

  3. Build tools for projects to transition from Toolkit Projects to SNS governance.

  4. Decentralize the Toolkit itself by transitioning to an SNS, empowering the community to drive its growth.


The Toolkit has evolved into a platform that bridges the gap between development, management, and decentralization. We’re excited about this journey and invite you to join us in shaping the future of dApp management on the Internet Computer!

Let us know your thoughts, feedback, and questions in the comments below. Together, let’s build something amazing! :rocket:

sidenote: AI was used to better structure the text and make it more readable for users.

And some screenshots :point_down:






10 Likes

Thanks @rem.codes! This is exciting. I’m really looking forward to seeing how this project develops.

I most excited by the ‘experiment with governance’ aspects (which I’ve already had a play around with), the Toolkit Market place, and the ’ tools for projects to transition from Toolkit Projects to SNS governance’.

I’m sure this will all add a lot of value to the ecosystem.

2 Likes

Something I think would be very useful would be to easily facilitate decentralised control over an SNS neuron (requiring a vote from all ‘members’ to manage that neuron).

This would be like a community-controlled neuron on the NNS, such as Synapse.

Is this possible with Toolkit, or is it in the roadmap?

1 Like

Thanks for your feedback!

You mean that every member NEEDS to vote, instead of a minimum / majority?

We are open for feedback so if there is some feature you would like to see, i suggest putting your request here https://forms.gle/S13Abp8HNHENeUBd7 so we all have them listed in one place.

1 Like

I shouldn’t have said ‘all’, I meant a majority (same sort of logic as having multiple followees on the NNS, >= 50% no votes trigger a no, >50% yes votes triggers a yes). Flexibility to set the exact rules could also be useful.

Thanks, will do :pray:

1 Like

Right now the proposal / governance logic is as following;

  • each member has 1 ballot
  • a proposal needs a minimum of 33% of votes to be valid
  • 50%+ is a majority

i think making this configurable makes sense, we probably need to add some thought through options so it still remains a fair DAO

This will also work with the other governance options we want to add later but do need some extra thought, like;

Proposal based governance

  • token based governance probably with locking tokens (was discussing this with @Sneed for Sneedlock) (tokens === ballots)

Basic governance

  • configurable permissions per member, like if you want somebody to be responsible for only updating 1 canister, or take stuff out the treasury, etc
1 Like

It sounds like what I’m after is already possible on Toolkit (awesome!). I’ll have a play when I get a chance (seems like I only scratched the surface last time I had a look) :smiley:

1 Like

If you send me a DM i can transfer ownership of a project to you which you can configure to your liking. Would love the feedback

1 Like

SNS management:

Toolkit project:

1 Like

Impressive project, keep pushing forward with the great work!

2 Likes