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: - **[valence_market](https://github.com/ABlockOfficial/valence_market)**: Build a web3 marketplace in seconds 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: ```sh cargo add valence_core ``` Otherwise, add the following to your `Cargo.toml` file: ```toml [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 `struct`s and `enum`s 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 - [x] Add tests - [x] Consider abstraction structure for API and DB handling - [ ] Add traces

(back to top)

..