# holochain_state
[](http://holochain.org/)
[](https://discord.gg/k55DS5dmPH)
[](https://twitter.com/holochain)
[](https://crates.io/crates/holochain_state)
[](https://docs.rs/holochain_state)
The Holochain state crate provides helpers and abstractions for working
with Holochain's persistent data stores.
### Reads
The [`DhtStore`] and [`DhtStoreRead`] types are the main abstractions for
reading data, combining database access with the in-memory scratch space.
The [`source_chain`] module provides the `SourceChain` type,
which is the abstraction for working with chains of actions.
The [`host_fn_workspace`] module provides abstractions for reading data during workflows.
### Writes
The [`mutations`] module provides error types for state write operations.
### In-memory
The [`scratch`] module provides the `Scratch` type for
reading and writing data in memory that is not visible anywhere else.
The SourceChain type uses the Scratch for in-memory operations which
can be flushed to the database.