SorobanHub
SCF #25 Activation Award Other Developer Tooling $32,000 View in SCF
Manage, monitor and interact with your deployed contracts from a single and free to use desktop app.
Team

earrietadev

Section

read

Product & Architecture

Developing Soroban smart contracts is easier than many other blockchains thanks to the fact that they are built mainly in Rust, but something that still is a pain is managing contracts once they are deployed. I as a developer who already have a couple of contract in Futurenet, Testnet and Mainnet where each one of them have different accounts, different keys, different numbers, variables and a big etc have face this exact same problem and I'm 100% sure many more will face it in the future because the more the network grows, the more contracts will need to be managed.

So, here comes SorobanHub. SorobanHub is a single desktop app that serves as your control center and it allows you to keep everything organized in a single place, if you're like us that we need to manage SorobanDomains, WenMeridian and FxDAOs contracts on different networks at the same time you will find out that using command line files can get messy pretty quickly.

SorobanHub is not just an "extension" of the Soroban CLI, instead is an app that uses different tools available like the Soroban CLI, the Stellar SDK, the Stellar Wallets Kit and others to make the management tasks easier. From simple things like checking the expiration date of key values on your contracts to more complex stuff like keeping data of your contracts and executing them directly from the interface.

And because we know this is a tool that could add a lot of value to the ecosystem, we believe it should be free to use to all developers on the network so that's why it will be a free to download and use desktop app.

Project URL

https://sorobanhub.com

Code URL

https://github.com/Creit-Tech/SorobanHub-app

Video URL

N/A

Pitch Deck URL

N/A

Project Categories

Product Type [If Other Developer Tooling]

Section

read

Requested Budget in USD ($)

32000

Total Expected Roadmap

Deliverable 2: Windows and Linux port

The first step after the MVP has been completed, is the port of this one to both Windows and Linux so more people can test it out.

How to measure:

- Just like the deliverable 1, follow the same steps but in both Windows and Linux operating systems

Estimated work:

About a week of work

---------------------------------

Deliverable 3: Add more "box types"

The MVP functionality was limited to only monitor and extending/restore ledger keys, but if we truly want a full management app we need to make more stuff so an extra set of box types will be added to the "View". These include (but are not limited as we could find more use cases during development):

  • Storage box: Being able to track values in a contract storage. For example, if a contract keeps a global state in the instance, you can see it directly from the app at all time
  • Execution box: Define a schema for inputs and execute a contract method directly from the app
  • Tracking box: Define a ledger key and keep records of it on a daily basis, this data will be shown in a graph on the app for you to see the evolution of the value being tracked
  • Events box: If your contract emits events, define a schema and keep records of them. Similar to the Tracking box type, you will also see a graph.

How to measure:

- In a similar way to using the MVP for adding the extend/restore box, you can add the new types to a "View" in the project

Estimated work:

Between 3 to 4 weeks

---------------------------------

Deliverable 4: External wallets

From the MVP, you could only use private keys you defined as identities in the app; these identities are encrypted with your password but still, it might not be the preferred option for some developers (especially if they use hardware wallets)

How to measure:

- Just like if you were adding a new identity, select if you want to use an external account for such a task

Estimated work:

Between 3 days and a week depending (if the support is already implemented in the Kit).

---------------------------------

Deliverable 5: Backups and Imports

Something important in a desktop app is being able to export your data easily so you can use it elsewhere.

How to measure:

- Go to the settings section and export your data, this will generate two files: A key and the backup.

- Go to a different computer and import it there with the two generated files

Estimated work:

2 weeks

---------------------------------

Deliverable 6: Cloud saving service

The app is a free-to-use desktop app, but there are cases where being able to continue getting information even if you don't have the app open might be something some users would like to have. This service allows both saving the global configuration of the app and also getting records on a timely basis. This is a fully self hosted service so every developer can spin up their own server and keep the data there.

How to measure:

- Download the docker image and run it locally or on a server of your own

- Check the example configuration and run the image

- Wait until is running and after that go to the SorobanHub Desktop app and go to Settings > Cloud Sync

- Authenticate with the cloud service and the app will now move your data to the cloud and keep everything in sync.

- After the connection has been completed, create "cron jobs" within the Cloud Service new option in the Menu. This will allow you to tell the service to consult the network on a periodic basis and save the data in the DB so you can continue saving data even if your don't have the app open.

Estimated work:

5 to 6 weeks

---------------------------------

Total Budget for the project: 32,000 + 46,500 = 78,500

Section

read

Public Entity Name

Creit Technologies LLP

Entity Description

A software development company with expertise in both web2 and web3 solutions, we make both closed and open-source solutions. We have apps for us and for other companies like xBull Wallet, FxDAO, SorobanDomains, Stellar Wallets Kit and others.

Team bio

Enrique A. (earrietadev#9365)

CEO / Software developer

Elena A.

COO / Operations manager

Technical Architecture Doc

https://workdrive.zohoexternal.com/external/writer/8775c6e249abd7b0bf818b2f24c88bd4b16c73003b89e6b7180729de28d00175

Deliverables List

Deliverable 1: Installable MVP Desktop App for Mac

Because the project is a management tool desktop app, the first deliverable needs to be a workable app which means that all the foundation and configuration of the app needs to be already developed to even have something that works; We will make an MVP of the app with one of the most usable plugins: Being able to monitor the expiration date and being able to both restore or bump an specific ledger key data.

How to measure:

- The app will be installable on Mac (Windows will be a later option)

- After installation, the user can start the setup process by defining a password, the place the data should be saved, and the network it wants to use

- After the set up is done, create a new "Project" and a new "View"

- Once that's done you can add a new block and set the key you want to track there, during the MVP version you will be able to manually set the key (not user-friendly) or set a Contract ID and the app will get the instance.

- From there you will be able to extend or restore the key.

Estimated work:

The MVP should be ready in about 2 months once we start working on it