Integrator's Guide: Overview¶
Welcome to the Gemforce Integrator's Guide! This document provides a comprehensive overview for developers looking to integrate with the Gemforce platform. Whether you're building a new dApp, extending existing systems, or simply want to interact with Gemforce's smart contracts and cloud functions, this guide will walk you through the essential steps and concepts.
Gemforce is a robust blockchain platform designed for decentralized applications, focusing on digital asset management, carbon credits, trade deals, and identity solutions. It leverages the Diamond Standard (EIP-2535) for modular smart contract architecture and a powerful cloud functions layer for off-chain capabilities.
What You'll Find in This Guide¶
This guide is structured to help you understand various integration points and best practices:
- Authentication: How to authenticate your applications and users with the Gemforce platform and its underlying services.
- REST API: Interacting with Gemforce's core functionalities via its RESTful API endpoints.
- Smart Contracts: Direct interaction with Gemforce's on-chain logic, including Diamond contracts, facets, and libraries.
- DFNS Integration: Leveraging DFNS Wallet-as-a-Service for secure key management and transaction signing.
- Webhooks: Receiving real-time notifications about events occurring on the Gemforce platform.
- Error Handling: Understanding and effectively handling errors across different integration layers.
- Sample Code: Practical code examples to jumpstart your development.
- Integration Patterns: Recommended architectural patterns for common integration scenarios.
- Testing: Strategies and tools for thorough testing of your integrations.
- Security: Best practices for securing your integrated applications.
- Compliance: Guidance on regulatory and compliance considerations.
Key Concepts to Understand¶
Before diving into specific integration details, it's beneficial to grasp these core Gemforce concepts:
- Diamond Standard (EIP-2535): Gemforce's smart contracts are built using the Diamond Standard. This means functionalities are separated into "facets" which are attached to a central "Diamond" contract. This modularity allows for upgrades and extensions without redeploying the entire contract.
- Learn more: Diamond Standard Overview
- Cloud Functions (Parse Server): Many of Gemforce's advanced features and user-facing functionalities are exposed through a cloud functions layer powered by Parse Server. This provides a traditional API interface for interacting with blockchain functionalities, managing user data, and handling complex business logic off-chain.
- Learn more: Cloud Functions Overview
- Multi-Network Support: Gemforce supports multiple blockchain networks (e.g., Base Sepolia, Optimism Sepolia, Sepolia). Your integration should be designed to handle multi-network considerations.
- Identity System (ERC-734/ERC-735): Gemforce incorporates a robust identity management system based on ERC-734 (Key Manager) and ERC-735 (Claim Holder) for verifiable credentials and decentralized identity.
- Learn more: IIdentity Interface
- Key Technical Concepts: Familiarize yourself with Gemforce's core features like Carbon Credit Management, Trade Deal System, Multi-Token Sales, and SVG Templating, as these will likely be areas of integration.
- Learn more: System Architecture
Getting Started¶
To ensure a smooth integration process, we recommend the following initial steps:
- Review the System Architecture: Gain a high-level understanding of how Gemforce components interact.
- Set up Your Development Environment: Follow the Developer Setup Guide to prepare your local machine.
- Explore Core API Endpoints: Begin by understanding the basic authentication and data retrieval methods described in the REST API section.
- Examine Sample Code: Look at the provided Sample Code to see practical implementations across different integration types.
Support¶
If you encounter any issues or have questions that aren't covered in this guide, please refer to our Support Documentation (coming soon) or reach out to the Gemforce developer community.
We are excited to see what you build with Gemforce!