mirror of
https://github.com/logos-co/ecosystem.git
synced 2026-08-30 22:11:09 +00:00
86 lines
2.9 KiB
Markdown
86 lines
2.9 KiB
Markdown
---
|
|
title: liblogos
|
|
type: Developer Tool
|
|
priority: 0
|
|
category: Developer Tools
|
|
---
|
|
|
|
C++ SDK library providing the core API for developing Logos modules, enabling inter-module communication and access to platform services.
|
|
|
|
> [!ai-generated]
|
|
> This entire document was generated by an LLM and has not yet been human-reviewed.
|
|
|
|
## FURPS+
|
|
|
|
### Functionality
|
|
|
|
- Provide module development framework with lifecycle management
|
|
- Enable inter-module communication via Qt Remote Objects
|
|
- Abstract platform services (storage, messaging, networking)
|
|
- Support plugin architecture for extensibility
|
|
- Provide cryptographic primitives and key management APIs
|
|
|
|
### Usability
|
|
|
|
- Offer clear API documentation and examples
|
|
- Include CMake integration for build systems
|
|
- Provide module templates and scaffolding tools
|
|
- Support multiple platforms (Linux, macOS, Windows)
|
|
|
|
### Reliability
|
|
|
|
- Ensure process isolation between modules
|
|
- Provide graceful error handling and recovery
|
|
- Support hot-reloading of modules during development
|
|
- Enable robust IPC with automatic reconnection
|
|
|
|
### Performance
|
|
|
|
- Minimize overhead for inter-module communication
|
|
- Support asynchronous operations to prevent blocking
|
|
- Optimise for low-latency message passing
|
|
- Enable parallel execution of independent modules
|
|
|
|
### + (Privacy, Anonymity, Censorship-Resistance)
|
|
|
|
- **Privacy**: Built-in support for encrypted communication between modules
|
|
- **Security**: Sandboxed module execution with controlled permissions
|
|
- **Censorship-Resistance**: Enable development of censorship-resistant applications
|
|
- **Modularity**: Isolate sensitive operations in separate processes
|
|
|
|
## Demand Validation
|
|
|
|
**Potential Users:** Core platform developers, module developers, third-party contributors
|
|
|
|
**Use Cases:**
|
|
|
|
- Building new Logos Core modules (wallet, consensus, networking)
|
|
- Creating custom blockchain extensions
|
|
- Developing privacy-preserving application backends
|
|
- Integrating external services with Logos infrastructure
|
|
|
|
## Possible Implementation
|
|
|
|
- **IPC Layer**: Qt Remote Objects for type-safe inter-process communication
|
|
- **Module API**: Abstract base classes for module lifecycle hooks
|
|
- **Service Registry**: Centralized discovery of available modules and services
|
|
- **Build System**: CMake with module templates and packaging support
|
|
- **Platform Abstraction**: Cross-platform APIs for filesystem, networking, crypto
|
|
|
|
## Technical Validation
|
|
|
|
**Risks & Challenges:**
|
|
|
|
- Maintaining API stability across platform versions
|
|
- Balancing flexibility with security constraints
|
|
- Documentation quality for third-party developers
|
|
- Performance overhead of process isolation
|
|
- Cross-platform compatibility and testing
|
|
|
|
**Integration Points:**
|
|
|
|
- [[engineering/infrastructure_essentials/logos_storage|Logos Storage]] client integration
|
|
- [[engineering/infrastructure_essentials/logos_messaging|Logos Messaging]] client integration
|
|
- Logos Core runtime for module hosting
|
|
- Operating system services (process management, IPC)
|