ws_sdk/
lib.rs

1//! A Rust SDK for writing [Webassembly] for [W3bstream].
2//!
3//! [W3bstream] is a general framework for connecting data generated
4//! in the physical world to the blockchain world. [Webassembly] is selected as the
5//! programming language for data processing.
6//!
7//! At a high level, W3bstream provides several Application Binary Interfaces (ABIs)
8//! to enhance the [Webassembly] ability for developers:
9//!
10//!  * [streaming]: Reading or Writing the data in the stream
11//!  * [database]: Storing or accessing the data in the database
12//!  * [blockchain]: Writing or reading the contract on the blockchain
13//!  * [logging][log]: Logging information or errors
14//!
15//! Guide level documentation is found on the [website].
16//!
17//! [W3bstream]: https://w3bstream.com/
18//! [Webassembly]: https://webassembly.org/
19//! [streaming]: crate::stream
20//! [database]: crate::database
21//! [blockchain]: crate::blockchain
22//! [log]: crate::log
23//! [website]: https://docs.w3bstream.com/
24//!
25//! # Examples
26//!
27//! Say "Hello World!" to the w3bstream:
28//!
29//! ```no_run
30//! use ws_sdk::log::log_info;
31//!
32//! #[no_mangle]
33//! pub extern "C" fn start(_: i32) -> i32 {
34//!     log_info("Hello World!");
35//!     return 0;
36//! }
37//! ```
38//!
39pub mod blockchain;
40#[cfg(feature = "crypto")]
41pub mod crypto;
42pub mod database;
43mod host;
44pub mod log;
45pub mod metrics;
46pub mod stream;