MLabs: Golang SDK for SingularityNET

chevron-icon
RFP Proposals
Top
chevron-icon
project-presentation-img
Luke Mahoney (MLabs)
Project Owner

MLabs: Golang SDK for SingularityNET

Expert Rating

n/a

Overview

The project scope encompasses the development of a comprehensive Golang SDK for the SingularityNET AI marketplace. This SDK will provide developers with streamlined tools and interfaces to interact with SingularityNET's AI services and marketplace functionality. The project will deliver a SingularitySDK in Golang while providing feature parity with the existing Python SDK.

RFP Guidelines

Golang SDK Development for SingularityNET AI Marketplace

Internal Proposal Review
  • Type SingularityNET RFP
  • Total RFP Funding $60,000 USD
  • Proposals 6
  • Awarded Projects n/a
author-img
SingularityNET
Oct. 15, 2024

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.

 

Proposal Description

Proposal Details Locked…

In order to protect this proposal from being copied, all details are hidden until the end of the submission period. Please come back later to see all details.

Proposal Video

Not Avaliable Yet

Check back later during the Feedback & Selection period for the RFP that is proposal is applied to.

  • Total Milestones

    4

  • Total Budget

    $60,000 USD

  • Last Updated

    6 Dec 2024

Milestone 1 - Setup Implement MPE Contract Interface

Description

In this milestone we will setup the scaffolding needed to interface with Ethereum and implement calls to the MPE contract. This includes setting up the core SDK architecture implementing Ethereum connection management handling of wallet interactions and building the necessary abstractions for MPE contract interactions. We will ensure proper error handling and transaction management for all blockchain interactions.

Deliverables

Implementation of the SDK framework that enables seamless interaction with the Ethereum blockchain and MPE contract functionality.

Budget

$20,000 USD

Success Criterion

- The SDK has the necessary foundations to interface with Ethereum, including robust connection management, wallet integration, transaction handling, and gas estimation capabilities. It will support both mainnet and testnet environments, with proper error handling and retry mechanisms - The SDK can be used to execute the MPE contract, supporting all major operations including channel creation, fund management, claim operations, and channel state management. This includes proper type safety, validation, and event handling for all MPE contract interactions.

Milestone 2 - Implement Registry Contract Interface

Description

Implementation of the SDK enabling full Registry contract functionality.

Deliverables

Implementation of the SDK enabling full Registry contract functionality.

Budget

$15,000 USD

Success Criterion

- The SDK can be used to execute the Registry contract, supporting all operations including organization creation, service registration, and metadata management. This includes proper validation of all parameters and methods to verify transaction success through block confirmations. - The SDK can manage organizations and services, providing high-level abstractions for common workflows such as organization creation, member management, service deployment, and updates.

Milestone 3 - Interface with gRPC services IPFS

Description

In this milestone we build the foundations for using gRPC in the SDK and enable calling the gRPC methods exposed by the services. We also build the support to fetch service metadata from IPFS. This includes implementing proper service discovery mechanisms and handling of IPFS connectivity.

Deliverables

Implementation of the SDK framework

Budget

$20,000 USD

Success Criterion

- Core SDK components for service interaction: - Configuration management system for endpoints and credentials - Service client generation framework - IPFS client integration - Proto file compilation and management - Payment channel handling for service calls - The SDK can be used to do service discovery: - Registry contract integration for listing organizations and services - Service metadata parsing and validation - Group and endpoint discovery within services - Pricing information extraction - Service API specification retrieval - The SDK can fetch service metadata from IPFS: - IPFS client implementation with retry logic - Safe extraction of proto files from IPFS archives - Hash validation for downloaded content - Local caching of metadata and proto files - Automatic metadata updates when needed - Support for both IPFS and FileCoin (Lighthouse) storage providers - The SDK can call gRPC endpoints exposed by the services: - Automatic proto compilation into native language bindings - Dynamic client library generation from proto files - gRPC channel management and connection handling - Request/response serialization - Error handling and retry mechanisms - Integration with payment channel system for paid calls - Free call token support - Concurrent call management

Milestone 4 - Documentation

Description

In this milestone we will document all the components of the SDK and generate the standard Golang package docs. This includes creating comprehensive API documentation usage examples integration guides and best practices for common use cases.

Deliverables

Documentation of the SDK

Budget

$5,000 USD

Success Criterion

- All the components of the SDK are documented with detailed API references, including function signatures, parameter descriptions, return values, and error conditions. Each component will include usage examples and common pitfalls to avoid. - The documentation is available in the standard Golang package docs format, including proper package organization, type definitions, and godoc comments.

Join the Discussion (0)

Expert Ratings

Reviews & Ratings

    No Reviews Avaliable

    Check back later by refreshing the page.

feedback_icon