Copyright Β© Herman Schoenfeld, Sphere 10 Software 2018 - Present
A mature, production-ready .NET framework providing a complete foundation for building full-stack applications across desktop, mobile, and web platforms. Originally designed for blockchain systems, Sphere10 Framework has evolved into a comprehensive general-purpose framework offering robust abstractions, advanced data structures, cryptographic primitives, and utilities for high-performance .NET development.
Core Foundation
- Unified Architecture: Consistent patterns for application lifecycle, dependency injection, configuration, and component lifecycle across all platforms
- Enterprise Data Access: Abstracted data layer with support for multiple database engines (SQL Server, SQLite, Firebird, NHibernate) and advanced query building
- Advanced Cryptography: Comprehensive cryptographic implementations including post-quantum algorithms, digital signatures, and multiple hashing algorithms
- Multi-Protocol Networking: TCP, UDP, WebSockets, and RPC frameworks for building distributed systems
- Rich Serialization: Flexible binary serialization, JSON support, and streaming implementations
Application Development
- Desktop UI Framework: Full-featured Windows Forms component library with data binding, validation, and plugin support
- Web UI: Blazor-based component library with wizards, modals, grids, and responsive layouts for modern web applications
- Cross-Platform: Run applications on Windows, macOS, iOS, Android, or .NET Core/5+
- Plugin Architecture: Dynamic plugin loading and lifecycle management for extensible applications
Specialized Features
- Memory Efficiency: Advanced collections, paged data structures, and streaming for handling large datasets
- Graphics & Drawing: Cross-platform drawing utilities and image manipulation
- Performance: Caching, connection pooling, and optimized algorithms
- Testing: Comprehensive testing framework and utilities for unit and integration testing
The Tools namespace is a defining architectural feature providing a global, IntelliSense-discoverable collection of static utility methods across the entire framework. Simply type Tools. to explore all available operations:
- Tools.Crypto β Hashing, signatures, key derivation
- Tools.Text β String manipulation, validation, generation
- Tools.Collection β Collection operations, filtering, transformation
- Tools.FileSystem β File I/O, directory management, temp files
- Tools.Reflection β Type inspection, member discovery, attributes
- Tools.Json / Tools.Xml β Data serialization
- Tools.Memory β Buffer operations, memory allocation
- Tools.Maths β Mathematical utilities and RNG
- And 30+ more...
- Tools.WinTool (Windows) β Registry, services, event logging, privileges
- Tools.Web.Html / Tools.Web.AspNetCore (Web) β HTML utilities, ASP.NET Core integration
- Tools.iOSTool (iOS) β iOS-specific operations
- Tools.Data / Tools.Sqlite / Tools.MSSQL (Database) β Database provider utilities
using Tools;
// Discovery-first pattern β IntelliSense shows all available tools
byte[] hash = Tools.Crypto.SHA256(data);
string sanitized = Tools.Text.RemoveWhitespace(input);
var connection = Tools.Sqlite.Create(connectionString);
bool running = Tools.WinTool.IsServiceRunning("MyService");For the complete Tools reference, see docs/Tools-Reference.md.
The Sphere10 Framework consists of 45+ projects organized by category within src/, tests/, and utils/:
| Project | Purpose |
|---|---|
| Sphere10.Framework | General-purpose core library with utilities for caching, collections, cryptography, serialization, streaming, and more |
| Sphere10.Framework.Application | Application lifecycle, dependency injection, command-line interface, and presentation framework |
| Sphere10.Framework.Communications | Multi-protocol networking layer: TCP, UDP, WebSockets, RPC, and pipes |
| Sphere10.Framework.Generators | C# source generators for compile-time code generation |
| HashLib4CSharp | Hashing library with support for MD5, SHA, BLAKE2, CRC, checksums, and more |
| Project | Purpose |
|---|---|
| Sphere10.Framework.CryptoEx | Extended cryptography: Bitcoin (SECP256k1), elliptic curves, hash functions, post-quantum algorithms |
| Sphere10.Framework.Consensus | Blockchain consensus mechanisms and validation rules framework |
| Project | Purpose |
|---|---|
| Sphere10.Framework.Data | Data access abstraction layer with ADO.NET enhancements, SQL query building, CSV support |
| Sphere10.Framework.Data.Sqlite | SQLite implementation for embedded databases |
| Sphere10.Framework.Data.Firebird | Firebird database implementation |
| Sphere10.Framework.Data.MSSQL | Microsoft SQL Server implementation |
| Sphere10.Framework.Data.NHibernate | NHibernate ORM integration |
| Project | Purpose |
|---|---|
| Sphere10.Framework.Windows | Windows platform integration: registry, services, event logging |
| Sphere10.Framework.Windows.Forms | Windows Forms UI framework and components |
| Sphere10.Framework.Windows.Forms.Sqlite | Windows Forms with SQLite data binding |
| Sphere10.Framework.Windows.Forms.Firebird | Windows Forms with Firebird data binding |
| Sphere10.Framework.Windows.Forms.MSSQL | Windows Forms with SQL Server data binding |
| Sphere10.Framework.Windows.LevelDB | LevelDB integration for fast key-value storage |
| Project | Purpose |
|---|---|
| Sphere10.Framework.Web.AspNetCore | ASP.NET Core integration: middleware, filters, routing, forms |
| Sphere10.Framework.Drawing | Cross-platform graphics and drawing utilities |
| Sphere10.Framework.NET | .NET Framework-specific utilities and type introspection |
| Sphere10.Framework.NETCore | .NET Core and modern .NET utilities |
| Sphere10.Framework.iOS | Xamarin.iOS integration for native iOS apps |
| Sphere10.Framework.Android | Xamarin.Android integration for native Android apps |
| Sphere10.Framework.macOS | Xamarin.macOS integration for native macOS apps |
The tests/ directory contains 2000+ comprehensive unit and integration tests covering all framework subsystems:
| Test Project | Purpose |
|---|---|
| HashLib4CSharp.Tests | Tests for hashing algorithms |
| Sphere10.Framework.Communications.Tests | Networking and RPC tests |
| Sphere10.Framework.CryptoEx.Tests | Cryptography implementation tests |
| Sphere10.Framework.Data.Tests | Database access layer tests |
| Sphere10.Framework.NET.Tests | .NET framework utility tests |
| Sphere10.Framework.NETCore.Tests | .NET Core utility tests |
| Sphere10.Framework.Tests | Core framework tests |
| Sphere10.Framework.Windows.LevelDB.Tests | LevelDB integration tests |
| Sphere10.Framework.Windows.Tests | Windows platform tests |
| Project | Purpose |
|---|---|
| Sphere10.Framework.Windows.Forms | Comprehensive Windows Forms UI framework with data binding, validation, and component library |
| Sphere10.Framework.Windows.Forms.Sqlite | Windows Forms with SQLite data binding and persistence |
| Sphere10.Framework.Windows.Forms.MSSQL | Windows Forms with SQL Server data binding and persistence |
| Sphere10.Framework.Windows.Forms.Firebird | Windows Forms with Firebird data binding and persistence |
| Project | Purpose |
|---|---|
| Sphere10.Framework.Web.AspNetCore | ASP.NET Core integration with middleware, filters, routing, and form components |
| Sphere10.Framework.Drawing | Cross-platform graphics and drawing utilities for all platforms |
- Blockchain: Dynamic Merkle Trees
- Blockchain: Real-Time Targeted Difficulty Adjustment Algorithm
- Post-Quantum Cryptography: Abstract Merkle Signatures (AMS)
- Post-Quantum Cryptography: Winternitz Abstracted Merkle Signatures (WAMS)
- Post-Quantum Cryptography: Faster and Smaller Winternitz Signatures
- Quick Start: See docs/start-here.md for getting started with the framework
- Tools Reference: See docs/tools-reference.md for the complete Tools.* namespace catalog
- Desktop Applications: See Sphere10.Framework.Windows.Forms for building Windows applications
- Web Applications: See Sphere10.Framework.Web.AspNetCore for ASP.NET Core integration
- Database Access: See Sphere10.Framework.Data for multi-database support (SQLite, SQL Server, Firebird)
- Networking & RPC: See Sphere10.Framework.Communications for network protocols
- Cryptography: See Sphere10.Framework.CryptoEx for advanced crypto implementations
- Cross-Platform: See Sphere10.Framework.iOS, Sphere10.Framework.Android, Sphere10.Framework.macOS for native apps
