Rust-based IOTA 1.5 Client Spammer (Post Chrysalis pt.2)
Uses asynchronous message passing between spammer tasks, 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.
- 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
$ 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
$ 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