#l2 #p2p #blockchain

valence_core

Core module used across plug-ins for A-Block Valence nodes

9 releases

0.1.8 Jul 4, 2024
0.1.7 Jun 27, 2024
0.1.3 May 23, 2024
0.1.2 Feb 7, 2024
0.1.0 Oct 25, 2023

#3 in #l2

Download history 42/week @ 2024-07-26 2/week @ 2024-08-02 1/week @ 2024-08-16 26/week @ 2024-09-13 22/week @ 2024-09-20 21/week @ 2024-09-27 5/week @ 2024-10-04

546 downloads per month
Used in valence_market

MIT license

39KB
655 lines


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)

..

Dependencies

~36–51MB
~1M SLoC