Copyright © Herman Schoenfeld, Sphere 10 Software 2005 - 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 Integration: ASP.NET Core middleware, filters, routing, and form components for server-side 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
- .NET 8.0 SDK or later
- Visual Studio 2022 (17.8+) or JetBrains Rider (2023.3+) recommended
- Windows required for
Sphere10.Framework.Windows.*projects - Two solution files available:
src/Sphere10.Framework (CrossPlatform).sln— Cross-platform projects onlysrc/Sphere10.Framework (Win).sln— All projects including Windows-specific
Sphere10 Framework is available as NuGet packages. Install the packages you need:
# Core framework (required)
dotnet add package Sphere10.Framework
# Additional packages as needed
dotnet add package Sphere10.Framework.Application
dotnet add package Sphere10.Framework.Data
dotnet add package Sphere10.Framework.Data.Sqlite
dotnet add package Sphere10.Framework.CryptoEx
dotnet add package Sphere10.Framework.CommunicationsThe 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 Sphere10.Framework;
// 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.
Note: The
blackhole/directory contains archived/experimental projects (DApp framework) that are not part of the active framework. These are retained for reference but are not maintained or included in NuGet packages.
The Sphere10 Framework consists of 45+ projects organized by category within src/, tests/, and utils/:
| Project | Purpose | NuGet |
|---|---|---|
| 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 | |
| Sphere10.Framework.Runtime | Runtime environment detection, diagnostics, and platform utilities | |
| Sphere10.HashLib4CSharp | Hashing library with support for MD5, SHA, BLAKE2, CRC, checksums, and more |
| Project | Purpose | NuGet |
|---|---|---|
| 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 | NuGet |
|---|---|---|
| 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 | NuGet |
|---|---|---|
| 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 | NuGet |
|---|---|---|
| Sphere10.Framework.Web.AspNetCore | ASP.NET Core integration: middleware, filters, routing, forms | |
| Sphere10.Framework.Drawing | Cross-platform graphics and drawing utilities | |
| Sphere10.Framework.NUnit | NUnit testing utilities and framework test support | |
| Sphere10.Framework.NUnit.DB | Database-specific NUnit testing 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 |
|---|---|
| Sphere10.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.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 |
- Documentation Home — Complete documentation index
- Getting Started Guide — Quick orientation for new developers
- Tools Reference — Complete Tools.* namespace catalog
- Real-World Examples — Practical patterns from test suite
- Framework Architecture — Design philosophy, layers, subsystems
- Framework Domains — Catalog of 40+ specialized domains
- 3-Tier Architecture — Architectural patterns
- Code Styling — Coding standards and conventions
- Dynamic Merkle Trees
- Abstract Merkle Signatures (AMS)
- Winternitz Abstracted Merkle Signatures (WAMS)
- Faster and Smaller Winternitz Signatures
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes
- Push to your branch
- Open a Pull Request
Please follow the Code Styling Guidelines.
Sphere10 Framework is distributed under the MIT NON-AI License — standard MIT permissions with an additional restriction prohibiting use of the code for training machine learning / AI models.
⚠️ This is not a standard MIT license. See LICENSE for the full terms.
More information: Sphere10 NON-AI-MIT License
