Crate borsh

source · []


pub use de::BorshDeserialize;
pub use schema::BorshSchema;
pub use schema_helpers::try_from_slice_with_schema;
pub use schema_helpers::try_to_vec_with_schema;
pub use ser::BorshSerialize;


A facade around all the types we need from the std, core, and alloc crates. This avoids elaborate import wrangling having to happen in every module.

Since Borsh is not a self-descriptive format we have a way to describe types serialized with Borsh so that we can deserialize serialized blobs without having Rust types available. Additionally, this can be used to serialize content provided in a different format, e.g. JSON object {"user": "alice", "message": "Message"} can be serialized by JS code into Borsh format such that it can be deserialized into struct UserMessage {user: String, message: String} on Rust side.


Serialize an object into a vector of bytes.

Serializes an object directly into a Writer.

Derive Macros