earrietadev
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.
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.
- Just like the deliverable 1, follow the same steps but in both Windows and Linux operating systems
About a week of work
---------------------------------
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):
- 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
Between 3 to 4 weeks
---------------------------------
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)
- Just like if you were adding a new identity, select if you want to use an external account for such a task
Between 3 days and a week depending (if the support is already implemented in the Kit).
---------------------------------
Something important in a desktop app is being able to export your data easily so you can use it elsewhere.
- 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
2 weeks
---------------------------------
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.
- 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.
5 to 6 weeks
---------------------------------
Enrique A. (earrietadev#9365)
CEO / Software developer
Elena A.
COO / Operations manager
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.
- 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.
The MVP should be ready in about 2 months once we start working on it