Maxime2 / full-cli-rs

full-cli-rs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

full-cli-rs

Rust: nightly License: MIT Build Status

full-cli-rs in Rust.

Purpose

  1. Generate keys
  2. Setup network
  3. Run serve on each node in network
  4. Run transactions against networks (tester)
  5. Collect metrics (TPS, TTF, &etc.)
  6. Parse metrics

The idea is this could run as a CI/CD task.


RFCs

https://github.com/Fantom-foundation/fantom-rfcs

Developer guide

Install the latest version of Rust. We tend to use nightly versions. CLI tool for installing Rust.

We use rust-clippy linters to improve code quality.

There are plenty of IDEs and other Rust development tools to consider.

CLI instructions

# Install Rust (nightly)
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain nightly
# Install cargo-make (cross-platform feature-rich reimplementation of Make)
$ cargo install --force cargo-make
# Install rustfmt (Rust formatter)
$ rustup component add rustfmt
# Install clippy (Rust linter)
$ rustup component add clippy
# Clone this repo
$ git clone https://github.com/Fantom-foundation/full-cli-rs && cd full-cli-rs
# Run tests
$ cargo test
# Format, build and test
$ cargo make
# Run three nodes in a test configuration in three separate consoles:
$ RUST_LOG=debug cargo run -- -c config/config.toml -p 10001 -n 11001
$ RUST_LOG=debug cargo run -- -c config/config.toml -p 10002 -n 11002
$ RUST_LOG=debug cargo run -- -c config/config.toml -p 10003 -n 11003

About

full-cli-rs

License:MIT License


Languages

Language:Rust 100.0%