Command-line tool for mass sending coins in Nano-based networks.
- Auto-detecting of nano/banano nodes, auto rai/ban conversion to raw and back
- Uses
id
of RPCSend
command, no more double-sends, guaranteed by Node itself (see Send command description) - Cross-platform (install .NET Core SDK for your OS)
- New: Check for account open/balance (without sending anything)
- Results (account status, block hashes) are written to output file
- Download and install .NET Core SDK 2.2 or above (but not ".NET Framework"!)
- Clone this repo
cd NanoBatchSender
dotnet build
(should see green "Build succeeded" text)
- Edit
appsettings.json
:- Put you node RPC endpoint
- For
send
, also put your wallet id and account
- Prepare input file (see syntax below)
- Run
dotnet run send <inputfile>
ordotnet run balance <inputfile>
from console
Lines starting with #
and empty lines are ignored;
Line should contain one or several fields, separated by tab (\t
) or space (
) or comma (,
) or semicolon (;
)
For send
operation line must contain exactly 3 fields: account, amount and uniqueId:
ban_3pa1m3g79i1h7uijugndjeytpmqbsg6hc19zm8m7foqygwos1mmcqmab91hh 1.5 FooBar
ban_3pa1m3g79i1h7uijugndjeytpmqbsg6hc19zm8m7foqygwos1mmcqmab91hh 254 FooBar2
For balance
operation, line may contain any number of fields, only first field wil be used (must be account to check):
ban_3pa1m3g79i1h7uijugndjeytpmqbsg6hc19zm8m7foqygwos1mmcqmab91hh and any you want
ban_3pa1m3g79i1h7uijugndjeytpmqbsg6hc19zm8m7foqygwos1mmcqmab91hh
Note: line format for send
operation is valid for balance
operation! You can prepare one file (for send
) and run balance
with it, without any change.
Important! For non-integer amounts use dot as delimiter: 12345.67
Attention! No more than 3 decimal places in amounts! Contact me if you need more.
Attention 2! Make sure you id
are unique across node database! There is no info about "new block created" or "id already used before, skipped" in node answer (V17.1).
File is always appended, not overwritten.
File names are fixed: send_done.txt
and balance_done.txt
for send
and balance
respectively.
File will contain some header and footer lines with useful info and time elapsed, you need to manually remove them before importing output file into your database(s).
Once again! There is no info about "new block created" or "id already used before, skipped" in node answer (V17.1). If you provide non-unique id
in input file - node will return hash of old/previous block, no payment will be made, and there is no any sign of this in node response and in output file.