All responsibility for running scripts lies entirely on your shoulders No warranties
- Random changable proxy (also can work without proxy) (see
proxy_list:
) - Random changable rpc (if bad response received from RPC - it will be randomly changed to unused) (see
rpcs_list:
) - Multithreading (threads count can be set by settings) (see
threads_count:
) - Gas limit adaptation strategy (through request, or will be used from settings) Be aware, if set by settings will not be changeable (restart script)
- Gas price adaptation strategy (initial can be set in settings)
- You can stop/start program in any time. It will not affect anything
- If something went wrong - you start script again. But see output, maybe some actions needed
- Claimer (for claim tokens)
- Transferer (for transfer tokens)
- Seeder (for seeding native coins)
- 1inchDrainer (for drain tokens in 1inch aggregation protocol v5)
- Script can be launched at any time
- If script dropped - analyze log - and run it again
- If you want to stop script execution - use
CTRL+C
hotkey - Proxy takes randomly - every request - random proxy
- Use
production:
settings section for run
- ruby 3.1.3
- Install Sublime Merge
- Install RubyInstaller (3.1.3) (dowloads page)
- Clone this repository
https://github.com/d4mk0/ArbitrumAirdrop.git
by Sublime Merge - Open folder with this project and open PowerShell window inside folder
- Run
bundle
- Open terminal and run inside
- Install brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> $HOME/.zshrc
eval $(/opt/homebrew/bin/brew shellenv)
- Install git through brew
brew install git
- Clone repository
git clone https://github.com/d4mk0/ArbitrumAirdrop.git
- Go to folder
cd ArbitrumAirdrop
- Install rvm
gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash
source $HOME/.rvm/scripts/rvm
echo 'source ~/.rvm/scripts/rvm' >> $HOME/.zsh_profile
- Install ruby
rvm install 3.1.3
- Run
bundle
Use to claim tokens
- Script checks current wallets situation and displays it on screen.
- When we have < 3 blocks (~30 seconds) before claim - displaying stopped and current block info only showed
- When we reach start block - script will try execute claim function if wallet have correct amount of eth
ruby claimer.rb
- fill
claimer/wallets.txt
by private keys (one per line) - check
claimer/claimer_settings.yml
ensure its correctl1_block_start_period
claim will be started at 16890400 block (Ethereum mainnet)eth_border
- to ensure what u wallets have amount of ETH for claim/transfer fee
Use to transfer tokens
- Script checks current wallets token and eth balances and displays it on screen.
- When some tokens available on wallet and eth for fee - present. It will try make transfer tokens to presented wallet
- You can add two lines for transferring like this (wallet1(minter) -> wallet2(proxy) -> wallet3(exchange))
- fill
transferer/wallets.txt
by list of private_key and address to transfer (one private key per line, one address for send per line) - check
transferer/transferer_settings.yml
ensure its correcteth_border
- to ensure what u wallets have amount of ETH for claim/transfer fee
ruby transferer.rb
Use to transfer native ETH coins to wallets when specified L1 block will be created
- If you set one private key multiple times - it can cause bad nonce error (its ok, it will be retryable, but sending can take longer time). Best - use 1 private key one time.
- fill
seeder/wallets.txt
by private_keys for seeder and addresses to transfer - check
seeder/seeder_settings.yml
ensure its correctamount_to_send
eth amount to sending in WEIl1_block_start_period
claim will be started at 16890400 block (Ethereum mainnet)
ruby seeder.rb
Use to fast swap tokens
- Script will do swap until it have correct conditions (it can stop only if amount to swap higher than wallet balance)
- Sorry only can works with 1 account. If u need 2+ - clone script into another path and run it together.
- Script will give approve for 1inch spender contract automatically.
- You can start script in any time, and stop it ofk. It will make swap when swap conditions will be true (also correct balance).
- check
one_inch_drainer/one_inch_drainer_settings.yml
ensure its correctprivate_key
private keyapprove_address
- 1inch spender can take it fromhttps://api.1inch.io/v5.0/42161/approve/spender
swap_if_price_higher
- if price will higher than entered - swap will be executed, or no if notamount_to_swap
- amount for swap (ensure correct)slippage
- percent of slippage (if token new - higher, maybe better, max 50)swap_to_token
- address of token to swap (i.e. USDT)eth_border
- to ensure what u wallets have amount of ETH for swap fee
ruby one_inch_drainer.rb
ruby one_inch_drainer.rb test