Project Stage
Category
Based in
Team size
Active since
What can you do with Sorobix?
How does this benefit Soroban/Stellar Ecosystem?
With the launch of Soroban Smart Contracts on the Stellar Network, we expect a huge influx of developers joining the ecosystem to get their hands dirty.
Setting up Rust (the language Soroban Contracts are written in) in a local environment has always been tricky. This has always been a point of friction for first-timers onboarding or trying out the Soroban ecosystem.
This is where Sorobix jumps in. With it’s online IDE capabilities users can quickly write their own smart contracts from the browser itself and also try out pre-written sample codebases provided by the community!
Soroban being at a nascent stage with its FutureNet launch last quarter, we want to scale it together using Sorobix to increase user adoption in the developer community of Soroban and benefit Stellar Network.
Before Sorobix
wasm32-unknown
toolchain for rust (3mins) soroban-cli
(10mins) Total Time Taken: 40mins
After Sorobix
Total Time Taken: 5mins
As you can see, we have made the process 8x faster for newer developers and adopters to tryout Soroban!
Our Vision for Sorobix
Remix → Ethereum, Sorobix → Soroban
Our vision is to make the entire ecosystem independently accessible and cloud-native. This shall allow us to take Sorobix as well as Soroban, hand-in-hand to newer heights!
With longer-term goals such as integrating this as a 1-click-and-play button in the official documentation and tutorials, we see Sorobix as a part of the core ecosystem.
With Sorobix in action, Accessing and trying out Soroban should not require anyone anything more than a Browser and Internet Access! One could essentially build contracts using any device such as an iPad while travelling, or with underpowered machines (such as a Raspberry Pi) which takes a lot of time to build Rust Based Soroban Contracts.
As our long-term goals include integrating Sorobix with Soroban Docs for developers to have a good experience, we found that the current documentation already uses Gitpod, and sorobix could provide a better value for the following reasons:
How Sorobix provides a better experience than Gitpod which exists on Soroban docs?
Gitpod is a cloud dev environment, which provisions a Cloud VM to end users. However, the provision of a custom "pod" leads to a longer wait time for the end user due to the allocation of resources, etc.
With Sorobix, we cut this down by providing the user with online IDE right through their browser, and simply one click Test, Deploy, Invoke buttons which are enough to get involved with Sorobon, our superior cloud build system and backend takes care of compiling the contract instead of relying on provision a new VM every time.
Our base MVP with the following features is ready and deployed on https://sorobix.vercel.app with the following features:
Our current tech stack is:
However, as and when the need arises, we do plan on migrating to more scalable and robust solutions with minimal third-party dependencies!
As part of the initial deliverable, we would give users a more enhanced user experience with a revamped UI and additional features to generate personal G/S keys from the portal and import existing keys to try out functions.
Deliverables:
Research and restructure the Backend Architecture
Allow users to store G/S keys directly from the IDE and also import existing G/S keys to test contracts
Test functions post build to check for bugs before deploying
Fetch Function and Argument details from existing Smart Contract to be able to invoke them from the browser IDE
Alpha launch of Sorobix for the community, which includes a hosted frontend for everyone to try out!
A reviewer who is assumed to be a user/developer new to stellar or soroban can access the Sorobix IDE portal deployed temporarily on https://sorobix-ide.vercel.app
Once the reviewer has reached the portal, they will be presented with an IDE that allows them to do the following:
The portal also includes a quick guide/about that guides the user on the features of the portal.
Hence, the reviewer must be able to deploy contracts on the stellar chain without the hassle of setting up rust or soroban-cli/soroban-sdk
Technical Deliverables
We have achieved the above using a small microservice pattern, and the tech stack of the implementation can be found in detailed below.
All of the codebase is open-sourced under the GitHub organisation sorobix(https://github.com/sorobix).
Currently, the tech-stack consists of the following repositories:
- sorobix/sorobix (https://github.com/sorobix/sorobix): The frontend repository, written using javascript utilising the React Web Framework to create SPA (Single Page Application)
- sorobix/sorobix-api (https://github.com/sorobix/sorobix-api): The primary backend repository, written in python, utilising the soroban-cli to do the heavy loading of compiling, deploying and invoking the contracts
- sorobix/sorobix-formatter (https://github.com/sorobix/sorobix-formatter): A small microservice written in golang, that takes care of formatting rust-code that is supplied by the frontend.
- sorobix/sorobix-deployment (https://github.com/sorobix/sorobix-deployment): A go-to solution which dockerizes and containerises the whole stack so that anyone who is willing to test it out locally and contribute the project can enable the tech-stack with one command!
As soroban contracts are written in rust, which takes a lot of computing and time to compile, we ventured into compilation optimisation. When we started building the project, a contract took around 40 seconds+ to compile; with superior optimisation techniques applied at compile time and with the help of incremental caching tools like sccache, we were able to bring down the compile time to just 14 seconds on the same hardware!
We have also revamped the UI of sorobix, which provides a more clutter-free, easy on eyes feel to the user. It is also highly modular, which will support easy scaling of new features that will be added to the project without drastic changes to the look and feel of the interface provided to the end user.
Together, we took part in Hacka-Soroban-athon and gave birth to the concept and an MVP of Sorobix, a product made to reduce the friction between developers and Soroban! We, as a team believe in building products that provide real utility across any ecosystem we work in. With Sorobix, we aim to make Soroban more accessible for even a novice developer trying the Stellar ecosystem for the first time.
The USD valuation of the budget request in XLM will be calculated using the CF Stellar Lumens-Dollar Settlement Price on December 5, 2022 as administered, maintained, and reported by the cryptocurrency index provider CF Benchmarks Ltd. (using the ticker “XLMUSD_RR”) (available at https://www.cfbenchmarks.com/indices/XLMUSD_RR). Learn more in the SCF Handbook.
*The USD valuation of the award in XLM is calculated using the CF Stellar Lumens-Dollar Settlement Price on July 5th as administered, maintained, and reported by the cryptocurrency index provider CF Benchmarks Ltd. (using the ticker “XLMUSD_RR”) (available at https://www.cfbenchmarks.com/indices/XLMUSD_RR)
**The USD valuation of the award in XLM is calculated using the CF Stellar Lumens-Dollar Settlement Price on December 16, 2021 as administered, maintained, and reported by the cryptocurrency index provider CF Benchmarks Ltd. (using the ticker “XLMUSD_RR”) (available at https://www.cfbenchmarks.com/indices/XLMUSD_RR)
*The USD valuation of the award in XLM is calculated using the CF Stellar Lumens-Dollar Settlement Price on September 27, 2021 as administered, maintained, and reported by the cryptocurrency index provider CF Benchmarks Ltd. (using the ticker “XLMUSD_RR”) (available at https://www.cfbenchmarks.com/indices/XLMUSD_RR)
* The USD valuation of the award in XLM is calculated using the CF Stellar Lumens-Dollar Settlement Price on the date of transfer as administered, maintained, and reported by the cryptocurrency index provider CF Benchmarks Ltd. (using the ticker “XLMUSD_RR”) (available at https://www.cfbenchmarks.com/indices/XLMUSD_RR)
*This budget request has not been fully awarded to the project. The USD valuation of the budget request in XLM will be calculated using the CF Stellar Lumens-Dollar Settlement Price on day of payment as administered, maintained, and reported by the cryptocurrency index provider CF Benchmarks Ltd. (using the ticker “XLMUSD_RR”) (available at https://www.cfbenchmarks.com/indices/XLMUSD_RR). Learn more in the SCF Handbook.
*This budget request has been awarded to the project in XLM. The USD valuation of the budget request in XLM will be calculated using the CF Stellar Lumens-Dollar Settlement Price on day of payment as administered, maintained, and reported by the cryptocurrency index provider CF Benchmarks Ltd. (using the ticker “XLMUSD_RR”) (available at https://www.cfbenchmarks.com/indices/XLMUSD_RR). Learn more in the SCF Handbook.
*This budget request has not been fully awarded to the project. The USD valuation of the budget request in XLM will be calculated using the CF Stellar Lumens-Dollar Settlement Price on day of payment as administered, maintained, and reported by the cryptocurrency index provider CF Benchmarks Ltd. (using the ticker “XLMUSD_RR”) (available at https://www.cfbenchmarks.com/indices/XLMUSD_RR). Learn more in the SCF Handbook.
*This budget request has not been fully awarded to the project. The USD valuation of the budget request in XLM will be calculated using the CF Stellar Lumens-Dollar Settlement Price on day of payment as administered, maintained, and reported by the cryptocurrency index provider CF Benchmarks Ltd. (using the ticker “XLMUSD_RR”) (available at https://www.cfbenchmarks.com/indices/XLMUSD_RR). Learn more in the SCF Handbook.
*This budget request has not been fully awarded to the project. The USD valuation of the budget request in XLM will be calculated using the CF Stellar Lumens-Dollar Settlement Price on day of payment as administered, maintained, and reported by the cryptocurrency index provider CF Benchmarks Ltd. (using the ticker “XLMUSD_RR”) (available at https://www.cfbenchmarks.com/indices/XLMUSD_RR). Learn more in the SCF Handbook.