robonomics/
main.rs

1///////////////////////////////////////////////////////////////////////////////
2//
3//  Copyright 2018-2026 Robonomics Network <research@robonomics.network>
4//
5//  Licensed under the Apache License, Version 2.0 (the "License");
6//  you may not use this file except in compliance with the License.
7//  You may obtain a copy of the License at
8//
9//      http://www.apache.org/licenses/LICENSE-2.0
10//
11//  Unless required by applicable law or agreed to in writing, software
12//  distributed under the License is distributed on an "AS IS" BASIS,
13//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14//  See the License for the specific language governing permissions and
15//  limitations under the License.
16//
17///////////////////////////////////////////////////////////////////////////////
18//! Robonomics Node binary
19
20#![warn(missing_docs)]
21
22// Force the linker to keep the polkadot_jemalloc_shim crate (and its #[global_allocator]).
23#[cfg(target_os = "linux")]
24extern crate polkadot_jemalloc_shim;
25
26/// OMNI Node based CLI
27mod cli;
28
29fn main() -> color_eyre::eyre::Result<()> {
30    color_eyre::install()?;
31
32    // Install the ring CryptoProvider for rustls before any TLS connections are made.
33    // Ignore the error if a provider was already installed.
34    // TODO: remove when fixed https://github.com/paritytech/polkadot-sdk/issues/11164
35    let _ = rustls::crypto::ring::default_provider().install_default();
36
37    cli::run()
38}