Soroban CLI Cross Platform GUI
SCF #21 Activation Award Other Developer Tooling $20,000 View in SCF

Transforming Soroban CLI into a user-friendly cross platform desktop application.

Team

tolgayayci

justmert

Progress on Previous (Awarded) Submissions

Minor Changes Feedback Revision

We have made the following changes to our proposal,
 

  • Feedback: We would love to see some evidence of research into existing CLI projects, with specifics around how your project differs from these

We have researched related projects that adds more value to the soroban-cli for interacting Soroban contracts, but we couldn't find any. We have found some projects for other chains that are similar to our projects that creates a GUI for interacting with smart contracts (CLI based) like Flowser for Flow Blockchain. It is highly used by the Flow community for interacting with contracts, so we think that similar project will be useful for the Soroban community as well.

  • Feedback: what your specific value add would be to the Stellar ecosystem

Since soroban-cli is a newly released tool, it will increase the adoption of new users by providing them with an easy-to-use interface, thus simplifying their interaction with Soroban smart contracts. You have mentioned in this feedback as 'Very interesting idea that will surely help the ecosystem', so we believe that our project will be a great addition to the Soroban ecosystem. Additional value can be found in the Project Overview` section of our proposal. We want to also include value to the ecosystem from scf#20 evaluation feedback:
 

- This project serves our developer community by offering an easy-to-use interface, effectively abstracting the challenges of the CLI. This enhancement streamlines workflows, promoting efficiency and reducing developer friction.
 

- It's something that could bring value to the development experience, when we are developing multiple contracts, using the CLI could get messy if there are many things around.

  • Feedback: it feels like there are too many deliverables compacted into the submission that can meet the deadlines proposed - please look at budget and deliverable reviews above to resubmit accordingly

We removed some deliverables such as Events and Lab pages; these will be the features we will work on after the project release. Additionally, we combined some milestones. As a result, we nearly halved the budget and adjusted the project timeline accordingly."

  • Feedback: However, due to it being only a research grant with no demo shown, the budget of $42,500 is too high. Research grants should only be capped to ~10k-20k.

We have read the budget section in the SCF handbook several times in detail, and we did not notice any limitation like the one mentioned in this evaluation regarding budget restrictions during the research phase. The handbook generally indicates that up to $50,000 can be requested if it's not a community project, and we had planned accordingly. But after this feedback, we have reduced the budget.

In fact, we revised these new deliverables in this way to make the project fundamentally usable, to create an MVP, and to collect user feedback after the release. As mentioned in the technical document and the future roadmap, although we consider a broader design and features for the project, based on your advice, the purpose of this proposal is limited to create a core user interface that interacts with soroban-cli for Soroban smart-contracts and to present it to the users.

---
 

This is a resubmission, and you can find our improvements and responses below in response to your detailed and constructive feedback.

Review: There's no project URL so no demo

Revision: This is a research grant submission and the project implementation will begin as it is approved. We have a technical scheme, a pitch deck, and a video that explains the project. 

Review: Rescope the budget as it's high for an Activation Award.
Detailed Review: I believe that the budget is justified, considering the attainable end goal of enhancing our developer's experience. The deliverables are practical, and in terms of ROI, the project promises significant developer engagement with a low risk of failure.
Revision: Although we haven't received clear, definite feedback on whether the budget is justified or not, we have lowered the requested budget in order for the whole review team to agree.

Review: Add additional detail on the Technical Architecture document in regards to the Stellar Soroban integration.
Revision: We have added additional sections and details to the technical architecture which is attached to this submission.

Review: I feel the team doesn't have too much experience.

Revision: In our previous submission, we didn't list projects and works related to blockchain ecosystems, thus it is very normal for you to think that we are inexperienced. Thanks to your feedback, we have added some of our projects and the protocols we have worked with to the team section for your review.

Review: Team is also currently applying for a grant in the VeChain Grants program.
Revision: We have created a platform called Awesome that can be ported to protocols like AwesomeLens, AwesomeCompound (see awesomecompound.org) etc. Lens, Compound, and W3F protocols are interested in this platform and we wanted to check if Vechain would consider using it so we have applied its grant program. The application development was already finished so it would not require any additional development time from us to apply Vechain. Nevertheless, we would like to note that we have closed the grant proposal for Vechain in order to better focus on this submission.

Review: There are concerns about the timeline and feasibility of this project.
Revision: Although we have worked with many protocols, there has never been a time when we couldn't deliver the project on time. We will focus only on this project full-time for 1.5 months. Even if we are only two people on the team, we sometimes get freelance work from designers, and developers; therefore, you can be sure that we will be able to complete the project on time.

Product & Architecture

Soroban CLI GUI is an intuitive graphical user interface (GUI) application that overlays the Soroban Command Line Interface (CLI) to facilitate smooth, easy-to-navigate interactions with the Stellar network. This product is designed to bridge the gap between advanced blockchain technology and user-friendliness, enabling users to manage contracts, assets, and transactions on the Stellar network without delving into the potentially complex and error-prone CLI.
 

Problems

  • Config Complexity: Managing entities like network and identity on Soroban CLI may be challenging for users due to its complexity if a user works on multiple contracts or projects at the same time.
  • Error Handling: Using CLIs can often be prone to syntax errors and requires a steep learning curve for users unfamiliar with Soroban CLI commands, which makes operations difficult like contract deployment or management on Soroban.
  • Developer Workflows: Without a GUI, executing commands and managing blockchain operations via Soroban CLI can be time-consuming and may not integrate smoothly into developers' workflows, particularly for those connected to graphical interfaces.
     

Solutions and Benefits

  • User-Friendly Management: Soroban CLI GUI offers a user-friendly platform to manage contracts and transactions, thus eliminating the complexity of using CLI, enhancing the developer experience, and making the process accessible to users with varied expertise.
  • Intuitive Error Mitigation: By providing actionable error messages and tips with a well-designed error parser, the GUI reduces the likelihood of errors and simplifies troubleshooting.
  • Seamless Developer Workflows: The GUI ensures easy integration and management of blockchain operations within Soroban CLI developers' workflows, significantly reducing the time and effort required in CLI interactions.
     

Audience

  • Non-Technical Users: Individuals who wish to interact with the Stellar network without navigating the technicalities of a Soroban CLI.
  • Developers: Those looking to streamline blockchain operation processes and improve efficiency.
  • Organizations: Businesses and entities aiming to manage their assets and contracts on the Stellar network with minimal technical barriers.

How it uses Stellar and/or Soroban

Soroban CLI GUI operates by providing a visual layer on top of the Soroban CLI, facilitating user interactions with the Stellar blockchain network through a point-and-click interface rather than traditional command-line inputs.

  • Transaction Management: Users can execute transactions, create and manage assets on the Stellar network by inputting parameters through user-friendly forms and interactive elements within the GUI, which then translates these inputs into command-line operations in the backend.
  • Contract Deployment and Management: The GUI facilitates contract deployment on Soroban by allowing users to specify contract parameters, verify them through a visual interface, and deploy them to the Stellar network with guided, step-by-step assistance, minimizing the scope of errors.
  • Developer-Friendly Operations: Developers can interact with Stellar and Soroban by utilizing pre-built templates and wizards within the GUI, which allow them to integrate blockchain operations seamlessly into their development workflows, thus sparing them from manual CLI interactions.

Integration with Stellar and Soroban

Application directly interfaces with the Soroban CLI, interpreting user inputs from the graphical interface into corresponding CLI commands to interact with the Stellar network.

Team bio

Tolga Yaycı - Developer

As a full-stack developer with 2 years of experience, I have refined my skills in software development, with a focus on dApp development in the past year. I have a deep interest in the Web3 space and have applied my skills by creating a number of relevant applications. In addition to my experience, I have developed detailed React and Next.js projects, further enhancing my ability to build robust and scalable web applications.

In addition to my technical skills, I have also been actively involved in the wider tech community. I have served as a Chainlink Community Advocate, Aave Turkey Community Manager, and Founding Chair of Gazi University ACM Student Chapter. These roles have broadened my skills in both software development and community engagement.

LinkedIn: https://www.linkedin.com/in/tolgayayci/

GitHub: https://github.com/tolgayayci

Discord: @tolgayayci

Mert Köklü - Developer

I worked as Intelligent Video Analytics Team Leader in a NVIDIA distributer company that develops video analytics solutions for 2 years. After diving into Web3 ecosystem, I have become a grantee for multiple blockchain ecosystems by developing innovative projects. As a certified NVIDIA instructor, AAVE Turkey Community Co-Manager and ambassador for organizations such as Microsoft and The Graph protocol, I have become a trusted voice within the communities.

---

Tolga and I co-founded YK Labs, a company specialized in developing applications and solutions within the blockchain ecosystem. Our collaborative efforts have led to the creation of numerous projects across various platforms, earning recognition and grants for our innovative contributions. These are some of our projects:

* Flowana: A protocol aggregator platform - flowana.app

* Awesome Platform: A social platform for discovering and exploring the projects in protocols - awesomecompound.org (for Compound)

* AaveQL: Aave Grapql documentation with built-in support editor and examples - aaveql.org

* Dotly: Polkadot Account statistics - dotly.net

* Peer-CLI: Swiss army knife for IPFS - github.com/justmert/peer-cli

* Aave Telegram Bot - github.com/justmert/Aave-API-Telegram-Bot

* Slack and IPFS integration - github.com/tolgayayci/slack-ipfs-app

and many more. We have experience working with well-known protocols such as Aave, Compound, Filecoin, Flow, Lens Protocol, Dfinity Foundation, Web3 Foundation, Solana, and Sia, showcasing our ability to handle multiple ecosystems and expertises.


 

LinkedIn: https://www.linkedin.com/in/mertkoklu/

GitHub: https://github.com/justmert

Discord: @mertkkl

Section

read

Technical Architecture Doc

https://drive.google.com/file/d/1befeOMBuOrnFurxww9McFOoMHXKCLlnz/view

Project URL

Not Available

Code URL

https://github.com/yk-labs-dev/soroban-cli-gui

Video URL

https://drive.google.com/file/d/1-MDJkd_0PRODfT0HcmhaRDMeuMnTqGL6/view

Pitch Deck URL

https://drive.google.com/file/d/13pITZJBnF-zCRjmAR7iSYL2kcHjCGz2_/view

Project Categories

Product Type [If Other Developer Tooling]

Section

read

Deliverables List

[Deliverable 1: Backend Layer]

Brief description: Development of a backend layer to facilitate command execution and data interchange between the GUI and Soroban CLI, including executing commands, retrieving and updating command history, and managing settings and configurations.

How to measure completion: Command execution, error handling, and verifiable backend components in repository or application.

Estimated date of completion: December 12, 2023

Budget: $4,420


 

[Deliverable 2: GUI Layer - Contracts Page]

Brief description: Creation of a Contracts Page to manage, explore, and interact with Soroban contracts, providing functionalities like viewing contract details, deploying new contracts, and generating language bindings for contract interaction.

How to measure completion: Availability of contracts page component, functional working component of contracts list, contract detail, deploy contract, build & manage, and bindings generation in repository or application.

Estimated date of completion: December 25, 2023

Budget: $5,100


 

[Deliverable 3: GUI Layer - Identities Page]

Brief description: Creating an Identities Page for users to manage, activate, or edit their identities.

How to measure completion: Availability of identities Page component, functional working component of identity card in repository or application.

Estimated date of completion: January 1, 2024

Budget: $3,060


 

[Deliverable 4: GUI Layer - Config Page]

Brief description: Developing a Config Page for networks configurations, including adding, listing, and removing networks. It also includes functionalities related to soroban-cli config.

How to measure completion: Availability of config Page component, functional working component of manage networks in repository or application.

Estimated date of completion: January 9, 2024

Budget: $3,060


 

[Deliverable 5: GUI Layer – Project Management]

Brief description: Implementing Project Management functionalities to enable seamless toggling between various projects and applying previously configured settings across different projects.

How to measure completion: Availability of project management features, the functional working component of project toggling in repository or application.

Estimated date of completion: January 16, 2024

Budget: $3,060

[Deliverable 6: Bundling, Testing and Documentation ]

Brief description: Bundling the web application into a secure, cross-platform desktop application. Conducting unit and end-to-end tests to ensure functionality, and performance as well as creating documentation on how-to-use application.

How to measure completion: Completion of all planned tests, accessible how-to-use documentation, and builds for all major platforms.

Estimated date of completion: January 25, 2024

Budget: $1,300

Requested Budget in USD ($)

20000

Total Expected Roadmap

This period will cover updates, bug fixes, and performance enhancements to ensure the application remains reliable and up-to-date with the latest Soroban CLI changes and features.

Future improvements (in draft) for the application's development includes,

  • Additional Pages: Events and Lab pages for expansive development of Soroban contracts.

  • Web Version: Incorporating a web-based version of the Soroban CLI GUI—akin to how Visual Studio Code operates in a browser.
  • Analytics and Visualization Page: Integrate analytics features to provide users with insights into their transactions and contracts, including visualizations for transaction history, contract performance, and network activity.
  • Smart Contract Editor: An integrated development environment for writing, testing, and deploying smart contracts with syntax highlighting, code completion, and in-line error detection.
  • Alert/Notification System: Develop a notification system that alerts users about events that can be integrated with Telegram/Discord or provide webhooks.
  • Multi-Language Support: Incentivize the community to contribute to the translation and localization of the application.

These are currently in draft features and may be subject to change based on community feedback and suggestions.

Section

read