Skip to content

script(s) used to airdrop EVR to satori members for the purpose of sending SATORI tokens on the Evrmore network.

License

Notifications You must be signed in to change notification settings

SatoriNetwork/AirdropEVR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Evrmore Airdrop Script

This Python script automates airdropping EVR (Evrmore cryptocurrency) to addresses holding the SATORI asset on the Evrmore blockchain. It uses the Evrmore node's RPC interface to fetch holders, check balances, and send transactions in batches, with features like concurrency, error retries, and progress persistence.

Features

  • Batch Processing: Processes addresses in configurable batches for balance checks and transactions.
  • Concurrency: Uses ThreadPoolExecutor for parallel execution to speed up operations.
  • Error Handling: Retries failed RPC calls and handles mempool limits with configurable retry logic.
  • Progress Persistence: Saves processed addresses to airdrop_progress.json to resume after interruptions.
  • Logging: Detailed logging for monitoring and debugging.
  • Configurable: Adjustable parameters via config.py or .env file.

Requirements

  • Python 3.6+
  • Evrmore node with RPC access
  • Dependencies: requests, python-dotenv
  1. Set Up a Virtual Environment (Optional but recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install Dependencies
pip install requests python-dotenv
  1. Configure the Environment Create a .env file in the root directory with your Evrmore node RPC details:
RPC_URL=http://your-node-ip:8766
RPC_USER=your-rpc-username
RPC_PASS=your-rpc-password

Usage

  1. Edit Configuration (Optional) Modify config.py or .env to adjust airdrop amount, batch sizes, pause times, etc.

  2. Run the Script

python main.py

Output is logged to the console. Redirect to a file if desired: python main.py > airdrop.log 3. Monitor Progress - Check airdrop_progress.json for processed addresses. - The script resumes from the last saved state if interrupted.

Configuration Options

All configurable parameters are in config.py and can be overridden in .env:

SATORI_ASSET_NAME: Asset to filter holders (default: "SATORI")
TEST_AIRDROP_AMOUNT: Amount of EVR to airdrop per address (default: 0.1)
BALANCE_CHECK_BATCH_SIZE: Addresses per balance check batch (default: 10000)
TX_PROCESSING_BATCH_SIZE: Addresses per transaction batch (default: 300)
BALANCE_CHECK_PAUSE_TIME: Pause between balance batches (seconds, default: 30)
TX_PROCESSING_PAUSE_TIME: Pause between transaction batches (seconds, default: 120)
MAX_WORKERS: Max concurrent threads (default: 40, capped by CPU count)
MAX_RETRIES: Max retries for failed operations (default: 5)

Notes

Ensure your wallet has sufficient EVR (e.g., 4,000+ EVR for 40,000 addresses at 0.1 EVR each, plus fees).
Adjust batch sizes and pauses based on your node's capacity to avoid overloading.
Delete airdrop_progress.json to start a fresh airdrop.

About

script(s) used to airdrop EVR to satori members for the purpose of sending SATORI tokens on the Evrmore network.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages