scrtlabs / Grants

Repository for grant proposal submissions
38 stars 28 forks source link

Rust Software Development Toolkit for Secret Network #141

Open SissonJ opened 3 months ago

SissonJ commented 3 months ago

Project Description

A Rust version of SecretJS and SecretPy - a Rust interface to interact with the Secret Network API server. This project involves contributing to an open-source library and providing continuing maintenance, tests, publishing to Cargo and writing documentation. The project will start from scratch using SecretJS and SecretPy as a reference.

Detailed Project Description

Re-implement the SecretJS/SecretPy functions in Rust for the REST and Cosmwasm clients and provide documentation and ongoing maintenance for the first year of the library. Documentation will be created and maintained which will involve bug fixes and potential high value integrations.

The the project will contain most of the basic REST end points (bank, staking …) along with the types that correspond and include smart contract logic including encrypt/decrypt steps | curve25519 equivalent in Rust, and signingcosmwasmclient. This library will be structured like SecretPy, enabling easy adoption/consistency across the ecosystem.

Problem / Solution

Problem: Developers only have two resources (and languages) to choose from when creating applications for Secret Network. Additionally, porting rust types from contracts into typescript or python and be tedious and add friction to the development process. Solution: Add a library in a language that all Cosmos smart contract developers know, further rounding out the developer toolkit ecosystem with seamless smart contract integration.

Value capture for Secret Network Ecosystem

With the rise of wasm web development, a Rust toolkit for Secret Network will put the network ahead of the curve with a Rust library as Rust web development matures and grows a deeper developer base. This will enable teams and projects to create cutting edge, efficient UI and off-chain infrastructure projects that will assist in fast, smooth user experience and developer experience on Secret Network apps. This library would aid in security for the ecosystem since developers would have a choice to fully conceal front end source code with wasm, furthering user experience. This library will also attract a wider range of developers especially since Rust has been growing very fast and it is the native language of smart contract developers. Finally, this library will be the first Rust sdk in the cosmos ecosystem and other networks will be able to fork and use it for their chain. This allows Secret Network to innovate and contribute to cosmos ecosystem development and bolster its reputation as an innovative space in the Cosmos. This will make a great addition to the tools the Decentralized Confidential Computing can offer to current and future developers. It will also bolster constellation chains like Obi, giving them greater flexibility and creativity in their tech stacks.

Team Members

The project will be open source and we welcome any contributors to the repo. The initial team members are @SissonJ and @xiugaze. This is an independently pursued project, but we have contributed to the ecosystem in the past through Shade Protocol. Specifically, through Shade's front end, protocol arbitrage contracts, Shade's back-end infrastructure, and the Shade treasury contracts.

Development Roadmap

We plan on having a working product in 2 months, both of us will be contributing to it part time.

Milestones

  1. General structure of the open source repo and REST api interface for the wasm module - Smart contract query functionality & message encryption (encrypt/decrypt steps | curve25519 equivalent in Rust)
  2. Cosmwasmclient and Signingcosmwasmclient support
  3. Finalizing REST api interface for other modules along with types (bank, auth, etc...)
  4. Testing and Documentation

    Documentation

    Maintenance and streamline further development for a year

    Grant request

    The funding we are requesting is $25K (~25k SCRT on $1 SCRT valuation)

Disbursements will take place at the completion of these milestones and will be calculated with the 1 week average price of SCRT summing up to $25K.

The estimation of dev hours is 25hrs per week for 8 weeks for 2 devs or 400hrs with an hourly rate of $62.5.

kent-3 commented 2 months ago

I strongly support this and would love to help contribute!

SissonJ commented 1 week ago

@azaidelson Hey! Just wanted to follow up on this grant and see if the team was still considering it. Thanks!