1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
// Copyright (c) The Diem Core Contributors
// SPDX-License-Identifier: Apache-2.0
//! JSON RPC endpoint
//!
//! Used as public API interface for interacting with Full Nodes
//! It serves HTTP API requests from various external clients (such as wallets)
//!
//! Protocol specification: https://www.jsonrpc.org/specification
//!
//! Module organization:
//! ├── methods.rs # contains all available JSON RPC method handlers
//! ├── runtime.rs # implementation of JSON RPC protocol over HTTP
//! ├── tests.rs # tests
#[macro_use]
pub mod util;
mod counters;
pub mod data;
mod methods;
pub mod runtime;
pub use diem_json_rpc_types::{errors, response, views};
pub mod stream_rpc;
pub use runtime::{bootstrap, bootstrap_from_config};
#[cfg(any(feature = "fuzzing", test))]
/// Fuzzer for JSON RPC service
pub mod fuzzing;
#[cfg(any(test, feature = "fuzzing"))]
pub(crate) mod tests;
#[cfg(any(test, feature = "fuzzing"))]
pub use tests::utils::test_bootstrap;