This project serves as the official Golang SDK for CausalityGraph, providing a robust implementation of the Nostr protocol with advanced causality tracking and secure messaging capabilities. It is designed to be the primary development toolkit for building decentralized applications that require strong causality guarantees and secure communication.
It combines three key technologies:
- Nostr (decentralized messaging protocol) and CIP (Causality Implementation Possibilities)
- Ethereum EIP-191 signatures (secure cryptographic signing)
- VLC (Verifiable Logical Clock)
- Core causality relation and causality graph functionality
- Event templates for standardized event creation
- Tools for event handling and processing
- Benchmarking utilities for performance evaluation
- Ethereum EIP-191 signing for secure message signing
- Identity verification via cryptographic proofs
- Key generation and public/private key conversion
- Causality Key protocol extensions
- Tools for encoding and decoding common formats
- Event templates for standardized event creation
- Extended Nostr capacity through protocol extensions
- Comprehensive event processing utilities
The cip directory implements various CIP (Common Interface Protocol) specifications:
- Subspace creation and management
- Basic event operations
- Authentication and authorization
- Project and task management
- Entity and relation tracking
- Observation recording
- Structured data organization
- Model versioning and tracking
- Dataset management
- Compute and algorithm operations
- Validation and fine-tuning
- Conversation and session handling
- Research paper submission and indexing
- Paper annotations and reviews
- AI analysis integration
- Research discussions
- Academic collaboration features
Each CIP implementation follows a consistent pattern:
- Event type definitions
- Tag structure specifications
- Event creation and parsing
- Subspace operation management
// See example/publish/publish.go// See example/subspace/subspace.go// See example/common_graph/common_graph.go// See example/model_graph/model_graph.go// See example/openresearch/openresearch.go- Private Key Safety: Never expose your Ethereum private key
- Relay Trust: Use trusted Nostr relays
- Message Verification: Validate EIP-191 signatures
- Clock Synchronization: Maintain accurate vector clocks