Skip to content

Latest commit

 

History

History
65 lines (52 loc) · 2.4 KB

README.md

File metadata and controls

65 lines (52 loc) · 2.4 KB

IOTA RSpammer

Rust-based IOTA 1.5 Client Spammer (Post Chrysalis pt.2)

Uses asynchronous message passing between spammer threads, each with its own IOTA Client.

Allows custom Message Payload and Index, custom number of threads and optional local PoW.

Useful for experimentation with spamming where you don't want to necessarily use a Spammer Node Plugin. Provides insight into underlying statistical patterns of the protocol from the perspective of an IOTA client.

Progress

  • CLI args
  • Async MultiThread Messaging
  • Non-Valued Message
  • Non-Valued Message Variable Payload Size
  • Valued Message (via wallet.rs + faucet.testnet.chrysalis2.com)
  • Valued Message Variable Payload Size
  • Format output to files

Build

$ sudo apt-get install libgsl0-dev pkg-config libssl-dev
$ sudo curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ git clone https://github.com/bernardoaraujor/iota_rspammer.git
$ cd iota_rspammer
$ cargo build --release

Run

$ cargo run --release -- -h
iota_rspammer 0.1.1

USAGE:
    iota_rspammer [FLAGS] [OPTIONS]

FLAGS:
    -h, --help          Prints help information
    -r, --remote_pow    force remote_pow
    -V, --version       Prints version information

OPTIONS:
    -i, --index <index>            Message index [default: iota_rspammer]
    -m, --msg_size <msg>           Message Size (bytes) [default: 10]
    -n, --n_threads <n-threads>    Number of Spammer Threads [default: 1]
    -t, --timeout <timeout>        Set Timeout (seconds) [default: 500]
    -u, --url <url>                Node URL [default: http://api.hornet-1.testnet.chrysalis2.com]
                                   (Note: You might need to specify the api port e.g. <URL>:14265)
$ cargo run --release -- -n 3 -m 32 -i rspammer_index -u http://api.hornet-1.testnet.chrysalis2.com/
Starting iota_rspammer with the following parameters:
message payload size: 32 bytes
message index: rspammer_index
node url: http://api.hornet-1.testnet.chrysalis2.com//
local PoW: false

Created IOTA Client 1.
Created IOTA Client 0.
thread n: 1, messageId: 112201254220a5322877ea31c4bc91d5fc3563737ac1d42930bfdb0751e3e636, confirmation time: 5557 ms, global average mps: 0.17995321216483715
thread n: 0, messageId: 623720ef043c0c8f653dff6cfcd1eb129c9c6c1a5b336608b02b0c6bc36ccb5f, confirmation time: 8799 ms, global average mps: 0.13931457230426303