valence_core

Crates.iovalence_core
lib.rsvalence_core
version0.1.8
sourcesrc
created_at2023-10-25 10:41:10.505786
updated_at2024-07-04 12:35:22.089175
descriptionCore module used across plug-ins for A-Block Valence nodes
homepagehttps://a-block.io
repositoryhttps://github.com/ABlockOfficial/valence_core
max_upload_size
id1013276
size40,077
Byron (BHouwens)

documentation

https://a-block.io

README


Logo

valence_core

Pipeline Status

The core library used by all Valence nodes and their plug-ins

Official documentation ยป

๐ŸŽ‰ Plug-ins Using valence_core

Here you can find awesome plug-ins already using valence_core to boost their Valence nodes:

If you'd like to have your plug-in added to the list, please open a PR and we'll be happy to take a look!

(back to top)

..

How to Use

valence_core is designed to be used as a core crate for Valence functionality that is common across all node types and plug-ins. It is not designed to be used as a standalone crate, and will not compile as such.

..

๐Ÿ”ง Installation

If you have cargo-add installed, you can simply run the following command:

cargo add valence_core

Otherwise, add the following to your Cargo.toml file:

[dependencies]
valence_core = "0.1.2"

(back to top)

..

๐ŸŽ๏ธ Use in Plug-ins

The valence_core library exposes a few common methods and functionalities that are useful if you're either using plug-ins or writing your own. This core functionality includes:

  • api: The module here contains most of the structs and enums that are used to communicate between nodes and plug-ins. This includes the JsonReply, ApiErrorResponse and APIResponseStatus structs, as well as functions for JSON serialisation and Warp API replies.

  • db: The module here contains all the common code associated with data storage. This includes the KvStoreConnection trait, which ensures consistent interfacing with data handlers across the Valence ecosystem

  • crypto: The module here ensures consistency in the handling of cryptography across the Valence ecosystem. If you want to do anything with cryptography in your plug-in, you should use the functions here.

(back to top)

..

Further Work

  • Add tests
  • Consider abstraction structure for API and DB handling
  • Add traces

(back to top)

..

Commit count: 52

cargo fmt