chevron-icon
Active RFP

Golang SDK Development for SingularityNET AI Marketplace

Top
chevron-icon
SingularityNET
RFP Owner

Golang SDK Development for SingularityNET AI Marketplace

Facilitating integration with Multi-Party Escrow, registry, and AI Services in the marketplace

  • Type SingularityNET RFP
  • Total RFP Funding $60,000 USD
  • Proposals 5
  • Awarded Projects 1

Overview

  • Est. Complexity

    💪 65/ 100

  • Est. Execution Time

    ⏱️ 6 Months

  • Proposal Winners

    🏆 Single

  • Max Funding / Proposal

    $60,000USD

RFP Details

Short summary

The SDK will enable seamless integration with key components like Multi-Party Escrow (MPE), the Registry, and IPFS, serving both AI developers and consumers. It must maintain backward compatibility with the existing Python SDK, offer intuitive interfaces for managing identities, organizations, and services, and include strong security and scalability features. Comprehensive documentation is required to ensure ease of use and long-term maintainability.

 

Main purpose

The problem being addressed by the Golang SDK is the need for more robust support and development tools within the SingularityNET ecosystem. Current projects, such as snet-daemon, require improved compatibility and performance, while new projects in the AI marketplace demand a streamlined development process. The SDK will provide a more efficient and cross-platform solution for developers and consumers to interact with marketplace services, ensuring better support for existing projects and enabling faster, easier development of new initiatives.

Long description

The Golang SDK for SingularityNET will be developed to enable smooth interaction with the AI marketplace, targeting both AI consumers and developers. It will allow users to integrate with essential ecosystem components, including MPE, the Registry smart contract, and IPFS. With this SDK, users will be able to manage identities, interact with AI services, and access key marketplace functionalities.

The SDK will be designed for cross-platform compatibility and will ensure backward compatibility with the existing Python version. It will provide intuitive interfaces for developers to create and manage organizations, deploy services, and troubleshoot issues within the ecosystem. Clear, well-structured documentation will be included to support ease of use and future maintenance.

Functional Requirements

Must Have:

  • Backward compatibility with the existing Python SDK.
  • Ability to interact with key SingularityNET marketplace components: Multi-Party Escrow (MPE), Registry and IPFS.
  • Support for initializing identities, managing organizations, and interacting with AI services.
  • Clear and comprehensive documentation covering installation, usage, API references, and troubleshooting.

Should Have:

  • Debugging and troubleshooting features to assist developers in diagnosing issues within the marketplace ecosystem.
  • Modular design for easy future expansion or updates.

Could Have:

  • Advanced logging and monitoring features to track usage and detect potential issues in real-time.

Won't Have (Yet):

  • Integration with non-core marketplace services or third-party tools outside the immediate scope of the SingularityNET ecosystem.

Non-functional Requirements

Directions on the expected architecture:

  • The SDK should be designed with a modular and scalable architecture, allowing future updates or the addition of new features without requiring major changes.
  • It should be flexible enough to integrate with other SingularityNET services and easily extendable for future enhancements.

Specific integration requirements

  • The SDK must integrate seamlessly with existing SingularityNET components such as Multi-Party Escrow (MPE), Registry smart contracts, and IPFS.
  • Backward compatibility with the current Python SDK.

Programming Language:

  • The SDK will be developed entirely in Golang, leveraging its capabilities for high performance and efficient concurrency management.

Security Requirements:

  • The SDK must enforce secure communications for transactions, identity management, and interactions with smart contracts.
  • Security mechanisms should prevent unauthorized access and ensure the integrity of operations within the marketplace.

Scalability:

  • The SDK should be designed to handle an increasing number of transactions and users as the marketplace grows, without compromising performance.
  • It should be optimized to scale efficiently in distributed environments, such as those using decentralized storage solutions like IPFS.

Data Quality:

  • The SDK must ensure the accuracy and consistency of data transmitted between users and marketplace services.
  • It should include robust validation mechanisms to handle any discrepancies in data integrity when interacting with decentralized systems like IPFS.

Reliability:

  • The SDK must be highly reliable, with a strong focus on error handling and recovery from network or service interruptions.
  • Rigorous testing practices (including unit, integration, and load testing) should be employed to ensure stability across different use cases and platforms.

Performance:

  • The SDK should be optimized for performance, ensuring low-latency communication with marketplace services and efficient resource use (CPU, memory).
  • It must efficiently handle multiple concurrent operations, especially when dealing with high-frequency service interactions.

General Modularity/composability/extensibility:

  • The SDK should be built with a modular design, enabling future feature additions or service integrations without disrupting existing functionality.

Maintainability:

  • The code should be well-organized and documented to support long-term maintenance, including clear comments and adherence to best practices for clean coding.
  • Dependency management should be kept simple and up-to-date to avoid compatibility issues in future updates.

Usability:

  • The SDK should provide an intuitive and easy-to-use API, with clear methods and functions that simplify the interaction with marketplace services for both novice and experienced developers.
  • Error handling should be straightforward and include detailed messages to help developers diagnose and resolve issues efficiently.

Documentation:

  • The SDK must be accompanied by comprehensive documentation, including detailed API references, setup instructions, and integration examples.
  • Tutorials and sample code should be provided to guide developers in implementing and using the SDK effectively in their projects.

Team requirements

The team for this project must possess a strong command of the Golang programming language, with demonstrated experience in developing and maintaining applications in Golang. A deep understanding of and hands-on experience with EVM-based smart contracts is essential, including the ability to interact with, deploy, and troubleshoot these contracts. The team should also have a comprehensive grasp of the architecture and operational mechanisms of SingularityNET contracts, specifically the Multi-Party Escrow (MPE) and the Registry, which are core components of the AI marketplace ecosystem.

In addition to these core competencies, the team must have a thorough knowledge of gRPC and Protocol Buffers (protobuf) protocols. These protocols are critical for ensuring smooth communication and data exchange within the ecosystem, and expertise in these areas will be necessary for effective SDK development and integration with marketplace services. Familiarity with decentralized systems and blockchain technology will also be highly advantageous for understanding and navigating the broader technical landscape of the project.

Main evaluation criteria

  • Go Knowledge;
  • Understanding the architecture and how MPE and Registry works;
  • Experience with ipfs and filecoin;
  • Expertise in snet ai ecosystem;
  • Understanding how the SDK’s works.
  • Provide clearly defined milestones in the proposal

RFP Status

Completed & Awarded

The community and public are invited to view the full proposals and give feedback. During this time the RFP committee will doing their formal selection process to award winning proposals.

View Awarded Projects
5 proposals
rfp=proposal-img
EXPERT REVIEW 4.0

MLabs: Golang SDK for SingularityNET

  • Type SingularityNET RFP
  • Funding Request n/a
  • RFP Guidelines Golang SDK Development for SingularityNET AI Marketplace
author-img
Luke Mahoney (MLabs)
Dec. 4, 2024
rfp=proposal-img
EXPERT REVIEW 4.0

YKLABS – GO SDK for SingularityNET AI Marketplace

  • Type SingularityNET RFP
  • Funding Request n/a
  • RFP Guidelines Golang SDK Development for SingularityNET AI Marketplace
author-img
justmert
Nov. 21, 2024
rfp=proposal-img
EXPERT REVIEW 3.6

Golang SDK for AI Marketplace Integration

  • Type SingularityNET RFP
  • Funding Request n/a
  • RFP Guidelines Golang SDK Development for SingularityNET AI Marketplace
author-img
VBRLteam
Dec. 6, 2024
rfp=proposal-img
EXPERT REVIEW 1.6

Empowering AI with Golang SDK for SingularityNET

  • Type SingularityNET RFP
  • Funding Request n/a
  • RFP Guidelines Golang SDK Development for SingularityNET AI Marketplace
author-img
Kishmandev
Dec. 6, 2024
1 Projects
rfp=proposal-img

Golang SingularityNET SDK

  • Type SingularityNET RFP
  • Funding Awarded n/a
  • RFP Guidelines Golang SDK Development for SingularityNET AI Marketplace
author-img
maldybaevr
Dec. 4, 2024

Join the Discussion (1)

Sort by

1 Comment
  • 0
    commentator-avatar
    Luke Mahoney (MLabs)
    Dec 3, 2024 | 5:39 AM

    Our dev team would like to seek clarification regarding the use of the term "backwards compatibility" in the proposal. Traditionally, this term is employed in contexts where a new version of an existing library is under development, or when one library is intended to serve as a direct replacement for another. However, given that this will be the initial release of the SNet Golang SDK with no preceding versions, the concept of backwards compatibility appears to require additional context. Could you please elaborate on the intended meaning of "backwards compatibility" in this specific scenario?

feedback_icon