Disclaimer: These are planning documents. The functionalities described
here may be unimplemented, partially implemented, or implemented differently
than the original design.
Feature Planning
Current
Features listed here exist in various stages of the development process. Many are in the design phase and may result in significant changes that may impact applications built on top of Splinter and its constellation of related libraries and services.
We welcome discussion on these topics, either on Slack or during the engineering forum.
Feature | Description |
---|---|
Abstract Queue | A design for a generic durable queue, to replace the PendingBatchQueue
|
Artifacts | A design for the traits for published artifacts and their stores |
Canopy 0.2 | New design of the Canopy system that enables dynamic loading of saplings and improved inter-sapling communication |
Capabilities Repository | A design for a repository and all the surrounding tools and formats for Splinter artifacts. These artifacts include saplings, smart contracts, and capabilities distributions. |
Circuit and Service Identifiers as Rust structs | Reduction in possible runtime errors when using identifiers |
Consensus Runner | Executes consensus actions and events |
Echo Service | Design for the splinter echo service |
Publisher for Scabbard v3 | A new design for the publishing component for Scabbard |
RefSet for libsawtooth 0.8 | A design for a generic reference set to replace BlockManager and apply the same concept to Batches. |
REST API Maintenance Mode | Design for the maintenance mode authorization handler for the Splinter REST API |
Scribe for Scabbard v0.7 | A design for the scribe component for Scabbard |
Service Lifecycle | Design for transitioning through the service lifecycle |
Service Message Handling | A design for a set of components that handles stateless service message handling |
Service Timer | Design for the Timer that will periodically wake up services |
Splinter v0.7 Database | Design for the Splinter v0.7 database tables |
StoreCommand for Scabbard v0.7 | A design for a component that makes database updates |
Trait Adapter Pattern | Design for the Trait Adapter Pattern |
Historical
Features listed here are no longer being worked on, either because they have been completed or abandoned. These documents represent the the intended design at the time the features were implemented. Due to Splinter’s rapid development, the current state of these features may differ somewhat from the original design.
Feature | Description | Implemented |
---|---|---|
Admin Service Store | New design for storing circuit and circuit proposal state | v0.6 |
Admin UI | Splinter administration utility | |
Admin UI Profile Redesign | New designs for the profile page in the splinter Admin UI | |
Biome OAuth Integration | New design for a linkage between an OAuth user id and a biome userid | v0.6 |
Challenge Authorization | New design for a secure peer authorization type | v0.6 |
Circuit Abandon | Design for abandoning a circuit | v0.6 |
Circuit Disband | Design for removing a circuit’s networking capabilities | v0.6 |
Circuit Purge | Design for removing a circuit’s state data | v0.6 |
Cylinder JWT | A JSON Web Token module for the Cylinder Signing library | v0.6 |
Cylinder JWT Authentication | Support of Cylinder JWT authentication for the Splinter REST API | v0.6 |
Libsawtooth Receipt Store | New design for a Receipt Store trait in libsawtooth | v0.6 |
Oauth Profile | Design for retrieving profile information from OAuth providers | v0.6 |
OAuth 2 REST API Authentication | Support of OAuth 2 authentication for the Splinter REST API | v0.6 |
PeerManager | The PeerManager is in charge of keeping track of peers and their reference counts, as well as requesting connections from the ConnectionManager
|
v0.6 |
Proposal Removal | Design for removing a circuit proposal | v0.6 |
REST API Authorization | Design for securing the Splinter REST API | v0.6 |
Scabbard Back Pressure | Simple back pressure for the batch queue | v0.6 |
Scabbard Diesel Receipt Store | Diesel backed receipt store migrations and configuration in scabbard | v0.6 |
Transact SQL Merkle State | Transact Merkle State stored in Postgres and/or SQLite | v0.6 |