filecoin-project / devgrants

👟 Apply for a Filecoin devgrant. Help build the Filecoin ecosystem!
Other
369 stars 307 forks source link

Open Grant Proposal: `Rust Implementation of JSON-RPC Library` #1768

Closed Aviksaikat closed 1 month ago

Aviksaikat commented 2 months ago

Open Grant Proposal: Rust Implementation of JSON-RPC Library

Project Name: Rust Implementation of JSON-RPC Library

Proposal Category: Developer and data tooling

Individual or Entity Name: Individual

Proposer: Aviksaikat

Project Repo(s):

Filecoin ecosystem affiliations: None

Technical Sponsor: None

Do you agree to open source all work you do on behalf of this RFP under the MIT/Apache-2 dual-license?: Yes

Project Summary

The Rust Implementation of JSON-RPC Library aims to develop a robust and efficient JSON-RPC 2.0 library in Rust. This project addresses the need for a low-boilerplate, high-performance RPC solution that integrates seamlessly with Rust applications. The library will support both HTTP and WebSocket transports, adhering to JSON-RPC 2.0 specifications to enable reliable and scalable communication between services and clients.

Impact

This project seeks to streamline RPC implementation in Rust, reducing development overhead and improving performance for Filecoin and related ecosystems. By providing a well-designed, open-source library, the proposal aims to enhance the developer experience and foster innovation in decentralized applications (dApps) leveraging Filecoin's capabilities.

Outcomes

The deliverables include:

Adoption, Reach, and Growth Strategies

The target audience includes Rust developers and decentralized application (dApp) developers looking for efficient RPC solutions. Adoption strategies involve community engagement through forums, developer outreach, and integration guides tailored to Rust and Filecoin communities.

Development Roadmap

Milestone 1: Core Functionality Implementation

Milestone 2: Transport Layer Integration

Milestone 3: Documentation and Testing

Total Budget Requested

Milestone # Description Deliverables Completion Date Funding
1 Core Functionality Implementation Basic RPC methods support Month 1 $1,000
2 Transport Layer Integration Functional HTTP and WebSocket modules Month 2 $1,000
3 Documentation and Testing API documentation and comprehensive tests Month 2 $1,000

Maintenance and Upgrade Plans

The project will be maintained through regular updates, bug fixes, and community support. Future upgrades will align with Rust and Filecoin ecosystem advancements, ensuring compatibility and enhanced functionality over time.

Team

Team Members

Our team brings a wealth of experience and expertise to the table, making us well-suited to undertake the Rust implementation of the Fast Finality in Filecoin (F3) project. As smart contract auditors, systems security engineers, and lead software developers, we have a proven track record in blockchain technology and decentralized systems. We've previously worked on grants for the Ethereum Swarm Foundation, contributing to projects like bee-py, swarm-cid-py, bmt-py, and mantaray-py, focusing on enhancing decentralized storage solutions and protocol development.

Individually, our team members have deep technical knowledge in Rust programming, blockchain consensus protocols, and system security. This includes hands-on experience in developing robust and secure systems, ensuring high performance and reliability. Projects such as Just_Fetch, LinGhost, and nipe_py highlight our commitment to innovation and quality in software development.

Given our background, we are well-positioned to tackle the challenges of reducing finalization times in Filecoin through a Rust implementation. Our expertise in auditing smart contracts ensures a rigorous approach to protocol implementation, enhancing security and trustworthiness. We believe our blend of technical skills, domain knowledge, and previous successful collaborations uniquely qualifies us to deliver a robust and efficient implementation of the Fast Finality protocol in Rust.

Team Code Repositories

Additional Information

smagdali commented 1 month ago

@Aviksaikat - How does this proposed implementation differ/build on the other JSON-RPC Rust implementations out there already? https://www.google.com/search?client=safari&rls=en&q=rust+json-rpc&ie=UTF-8&oe=UTF-8 ?

Aviksaikat commented 1 month ago

This library will be a rust port of the go-jsonrpc module

ErinOCon commented 1 month ago

Hi @Aviksaikat, thank you for your response and for your time with this proposal. Unfortunately, we will not be moving forward with a grant at this time. To contact our team with inquiries regarding our review or grants program, please send an email to grants@fil.org.

Wishing you the best as you continue building!