-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
docsDocumentation is wrong or missing.Documentation is wrong or missing.featureNew capability that doesn't exist yet.New capability that doesn't exist yet.p1-brokenActually broken. Fix this week.Actually broken. Fix this week.
Description
Context
Nexum's RPC server must support a modular architecture where RPC namespaces (eth, wallet, net, web3, etc.) can be implemented as independent modules, dynamically loaded, and composed together. The system must support namespace merging to handle additive EIPs/ERCs that extend existing namespaces.
Considerations
This specification should address the following considerations:
Module Architecture:
- Module definition and interface
- Module registration and discovery mechanism
- Module lifecycle (initialization, shutdown)
- Module dependencies and ordering
- Module configuration and parameters
RPC Namespace System:
- Namespace definition and structure
- How modules declare their RPC methods
- Method routing within namespaces
- Namespace versioning
Namespace Merging:
- How multiple modules can extend the same namespace
- Conflict resolution when methods overlap
- Priority/precedence rules for merged namespaces
- Handling additive EIPs (e.g., EIP adds methods to eth_ namespace)
- Dynamic enabling/disabling of namespace extensions
Module Composition:
- How modules interact with each other
- Shared services and dependency injection
- State sharing between modules
- Inter-module communication patterns
Dynamic Loading:
- Runtime module loading and unloading
- Hot-reloading capabilities
- Module isolation and sandboxing
- WASM module support for extensibility
Dependencies
Depends on (Phase 3):
- docs: design system architecture #89 (System architecture defines request routing framework)
Blocks:
- docs: design security architecture #122 (Security architecture needs module integration points)
Out of Scope
- Specific RPC method implementations
- Security policy enforcement (covered in security architecture)
- UI for module management
References
- Related: docs: design system architecture #89 (System architecture for routing)
- Security architecture spec (docs: design security architecture #122) for module permissions
- Epic: [EPIC 0.0] Foundation - Identity & Account Architecture pm#3 (Foundation)
Metadata
Metadata
Assignees
Labels
docsDocumentation is wrong or missing.Documentation is wrong or missing.featureNew capability that doesn't exist yet.New capability that doesn't exist yet.p1-brokenActually broken. Fix this week.Actually broken. Fix this week.