# Cuprate's `tower::Service` database abstraction. This crate contains the building blocks for creating a [`tower::Service`] interface to [`cuprate_blockchain`](https://doc.cuprate.org/cuprate_blockchain). It is split into 2 `tower::Service`s: 1. A [read service](crate::DatabaseReadService) which is backed by a [`rayon::ThreadPool`] 1. A [write service](crate::DatabaseWriteHandle) which spawns a single thread to handle write requests