- Install
node
version>=16
andyarn
version1
. - Install node packages:
yarn
- Log in NEAR wallet:
yarn near login
Or, if you have near-cli
installed globally:
near login
This command uses testnet
network by default. If you want to log in NEAR wallet in mainnet
, set environment variable by following this instruction.
-
Create a file with comma-separated values (check this example for reference) in
receiverAccountId,amount
format. Amount is specified in regular tokens, not yocto. -
Run the script specifying all the desired options:
yarn create-roketo-mass-streaming [options] [filename]
csv
: relative path to a csv-file with receivers and amounts (can also be specified as a default option);speed
: shared speed for all created streams in yocto tokens per second (mutually exclusive withendTimestamp
option);endTimestamp
: Unix timestamp with shared end date for all created streams (mutually exclusive withspeed
option);senderAccountId
: your account ID from step 3 of usage guide;tokenAccountId
: FT account id of a token you want to create mass streaming with.
network
:mainnet
ortestnet
(default);locked
: check this flag to prevent created streams from being paused or stopped prematurely;cliffTimestamp
: Unix timestamp with shared cliff date for all created streams;dryRun
: check this flag for a dry run without any valuables transfer;delimiter
: delimiter in csv (default value is,
);skipExistenceChecks
: check this flag to allow script to create streams to receivers, which weren't explicitly created.
The script creates a cache file ending with .cache.json
extension near a specified csv-file for caching accounts existence, FT storage registration and created streams. After all streams are successfully created, the cache file can be safely deleted.
E.g. if lebedev.testnet
is to dry run locked streams creation with token dai.fakes.testnet
in testnet
ending on December 31st with cliff date set to September 1st:
Timestamp for end date:
new Date('12/31/2022, 11:59:59 PM').getTime() // 1672509599000
Timestamp for cliff date:
new Date('09/01/2022, 11:59:59 PM').getTime() // 1662055199000
The final command:
yarn create-roketo-mass-streaming --endTimestamp=1672509599000 --cliffTimestamp=1662055199000 --senderAccountId=lebedev.testnet --tokenAccountId=dai.fakes.testnet --dryRun --locked --delimiter=';' example/example.csv
Tested on Ubuntu Linux.
If you experience any issues, you can write to https://t.me/angly or https://t.me/dcversus for support.