com.r3corda.core.node.services / StorageService

# StorageService

`interface StorageService`

A sketch of an interface to a simple key/value storage system. Intended for persistence of simple blobs like transactions, serialised protocol state machines and so on. Again, this isnt intended to imply lack of SQL or anything like that, this interface is only big enough to support the prototyping work.

### Properties

attachments | `abstract val attachments: AttachmentStorage` Provides access to storage of arbitrary JAR files (which may contain only data, no code).
stateMachineRecordedTransactionMapping | `abstract val stateMachineRecordedTransactionMapping: StateMachineRecordedTransactionMappingStorage`
validatedTransactions | `abstract val validatedTransactions: ReadOnlyTransactionStorage` A map of hash->tx where tx has been signature/contract validated and the states are known to be correct. The signatures arent technically needed after that point, but we keep them around so that we can relay the transaction data to other nodes that need it.

### Inheritors

TxWritableStorageService | `interface TxWritableStorageService : StorageService` Storage service, with extensions to allow validated transactions to be added to. For use only within ServiceHub.