AxLabs / grantshares

GrantShares Program 🌱
https://grantshares.io
Apache License 2.0
22 stars 3 forks source link

NEON-JS implementation for Sandox IDE #108

Closed grantshares-dapp[bot] closed 4 months ago

grantshares-dapp[bot] commented 6 months ago

Abstract

Sandox is an integrated development environment, that is designed to give web3 ecosystem developers new convenient tools for multi chain dApps development that leverage existing capabilities by combining development, deployment and debugging tools for multiple chains in one place - a convenient sandbox ensuring a low barrier to entry for dApps developers. To run the code, developers won't need to set up a project, download and compile libraries locally. The code written in the Sandox web editor is compiled and executed directly in a browser.

Currently our team is working on a plug-in architecture to tailor Sandox IDE specifically for working with multiple blockchains and hence isolate plug-in code execution with an ability to use each other through a plug-in API. The chosen concept for plug-in operation will be WASM, which ensures isolation of a plug-in's executable code, data protection between different plug-ins, and the required performance. Plug-ins will have an ability to be written in any WASM compiled language, therefore we have started from TypeScript SDK (plans for Rust, Go, Zic or other languages will be implemented depending on an interest from the web3 community).

So, summarizing, here’s our target list of the Sandox benefits on the current web3 IDE market:

-All-in-one web IDE: build, test, debug multi chain projects straight in your browser;

-Isolated plug-in code execution;

-Ability to write new plug-ins in any WASM compiled language;

-Web3 user authentication with on-chain project storage.Proposal Information.

Description

You can check Sandox at: https://sandox.io and at the Sandox Git repository: https://github.com/sandoxio.

Aside from current plug-in architecture development we are onboarding blockchains to expand our ecosystem and start leveraging blockchain capabilities with front end development.

In this entire proposal we offer to add a Sandox-NEO module that will integrate the NEO JS library ‘neon-js’ so that developers will be able to write JavaScript code that interacts with Neo. The code written in the editor will be compiled and executed directly in Sandox in a browser. Sandox will become a convenient sandbox for quick testing of a code, ensuring a low barrier to entry for NEO dApps developers. 

Along the described deliverables we have future plans for developing features like:

-NEO network plug-in providing an API for interaction of other plug-ins with Neo networks;

-UI panels for interacting with RPC;

-examples libraries;

-embedded wallets;

-smart contracts development support;

-code autocomplete;

-automatic contract deployment;

-debugging and tracing, integrated block explorers;

-setting up custom nodes;

-on-chain projects storage;

-library imports from NPM;

-PWA;

-and much more - all in one tool, which can be customized according to a developer's needs.

Motivation

Our team was previously focused mostly on developing a crypto trading platform, but the lack of convenient and integrated tools for web3 development, especially when we talk about multi chain dApps, has prompted the idea of developing Sandox IDE that now is seen by us as a great opportunity to contribute to the decentralized world and offer a valuable product for all crypto developers.

Currently we search for blockchain ecosystems, that have large developers' communities and are interested in tailored dev tools. Since NEO has stated web IDEs and development environments as a high priority in the General Grants section https://neo.org/eco#general-grants, we hope, that Sandox IDE can become an interesting tool for the NEO fams. Moreover, we find the NEO ecosystem with its smart contracts flexibility, NeoFS and NeoNS as a highly interesting and valuable ecosystem and would be happy to deliver more features that will help to build a wide range of NEO based dApps using all the existing and future capabilities of NEO blockchain.

Goals

The main goal of this project is to give the NEO ecosystem developers new convenient tools for dApps development that leverage existing capabilities by combining development, deployment and debugging tools in one place. Future plans for Sandox plug-ins development for the NEO ecosystem (out of the scope of this entire grant) include: smart contracts development, deployment and testing, integrating a Neo wallet, implementing other existing NEO libraries and SDKs, as well for working with NeoFS and NeoNS, using NeoFS as an onchain projects storage and etc.

For the Sandox IDE we hope to expand the functionality of the tool, attract the valuable community of Neo developers and thus increase the Sandox IDE value within the web3 developers community as a whole.

Deliverables & Roadmap

Specify deliverables in detail, including the following info for each:

### Milestone 1 NEON-JS implementation

Estimated Duration: 1 month

Estimated FTE: 0,86

Costs: 6,880 USDT

Deliverables:

-Neon-js implementation: we will implement Neon-js library for interaction with the NEO blockchain.

-Project compiling feature: we will extend the user’s projects code builder that it would allow to use es6 imports of the neon-js library and develop a code that uses this library’s methods. A user won’t have to deploy a project locally, compile dependencies and the library to use or test it’s capabilities. The code will be compiled and executed straight in Sandox in a browser.

Deliverables Verifiability

To verify the described deliverables completeness, we will develop inline documentation of the code and a testing tutorial. Demo videos of the developed functionality will also be provided in a delivery file on Github.

Budget Plan

About You / Your Organization

Short-Bio

As already mentioned our team was previously focused mostly on developing a crypto trading platform https://tradelink.pro under the legal entity TRADELINK TECHNOLOGIES OÜ (Estonia) and first steps in developing Sandox IDE were made with the same team. Meanwhile, as we see great opportunities and work volumes for the Sandox IDE we have separated the development team form the main product under a separate legal entity.

The Sandox IDE team members:

Dmitrii Putilov (CTO & team lead), has over 17 years of experience leading teams that create and maintain highly loaded and high availability web2 & web3 services. The ETHWaterloo 2019 hackathon winner, ex-team lead of the Roobee.io investment platform included in the top500 on Coinmarketcap.

Alexey Vexin (CPO & Head of Delivery), is a product owner and a project manager with 15+ years of experience in managing complicated telecoms and IT projects in Telco, Utilities, Social insurance and Governmental sectors with deep focus on business process management.

Nikita Orlov (lead developer), ETH Waterloo 2019 hackathon prize-winner, is a TechLead engineer with over 8 years of experience in development and integration of fault-tolerant high-loaded SaaS IT solutions including relevant experience in blockchain solutions.

Alena Balakina (QA lead) is a QA test engineer and tech writer with over 7 years of experience. As a QA lead Alena implemented testing processes and documentation to one of the world’s first AI-powered blockchain investment service.


Proposal Info :clipboard:

[ {
  "target_contract" : "0x6276c1e3a68280bc6c9c00df755fb691be1162ef",
  "method" : "releaseTokens",
  "params" : [ {
    "type" : "Hash160",
    "value" : "ef4073a0f2b305a38ec4050e4d3d28bc40ea63f5"
  }, {
    "type" : "Hash160",
    "value" : "7e94212e3a3ebcf76729595c54b6b97681bfbeb3"
  }, {
    "type" : "Integer",
    "value" : "575"
  } ],
  "call_flags" : 15
} ]

👇 React with 👍 if you liked it, or 👎 if you think this proposal can be enhanced!

cschuchardt88 commented 6 months ago

How is this different from neo-express? And others like: https://neocompiler.io/#nav-compilers/ https://www.neonova.space/contract

TradeLinkEstonia commented 6 months ago

@cschuchardt88

Neocompiler is close to what we want to achieve, but there are significant differences:

Neonova.space also isn't a standalone IDE for conveniently creating and editing code. Sandox's task is to provide regular developers with a familiar tool (even those who have never developed for web3), an environment where they can intuitively navigate and create a full-fledged decentralized application.

The sum of capabilities that we believe gives Sandox IDE an advantage on the current web3 IDE market: -Isolated plug-in code execution; -Ability to write new plug-ins in any WASM compiled language; -Web3 user authentication with on-chain project storage.

We see Sandox as a multi-chain feature rich IDE indispensable for complex projects with many networks and functions.

Moreover, we believe networks with a rich pallette of dev tools have lower entry barrier and thus better adoption. Since NEO has stated web IDEs and development environments as a high priority in the General Grants section, we decided, that NEO sees similiar advantages and applied.

vncoelho commented 5 months ago

Hi @TradeLinkEstonia, It would be great to have other tools like this one you are proposing.

I wonder that maybe you should divide this project into two steps, the first one I see for now is to develop this Javascript compiler tools. After that integrate this compiler to the generic proposed sanbox.

TradeLinkEstonia commented 5 months ago

Hi, @vncoelho Great to hear that! Let me clarify: do you want us to proceed with the application with just the MS2 for now and leave the volume described in the MS1 for the future?

grantshares-dapp[bot] commented 5 months ago

🚨 This proposal was edited by the proposer.

cschuchardt88 commented 5 months ago

@TradeLinkEstonia I think whats hes saying is, he would like you to build this online javascript framework compiler.

TradeLinkEstonia commented 5 months ago

@cschuchardt88 thanks! I've already corrected the application and left just the JS compiler and will put it onchain today.

grantshares-dapp[bot] commented 5 months ago

⛓ This proposal was created on-chain! 🔥🚀🎉

➡️ Now, waiting for a GrantShares Member to endorse it... ⏰


🚨IMPORTANT🚨 Pay attention to the following deadlines:


General info:

grantshares-dapp[bot] commented 4 months ago

🚨 Outcome: this proposal expired! ⏰🤷‍♂️️


General info: