/ArbitrumAirdrop

Set of scripts for participate in arbitrum airdrop company on 23 Mar 2023. Stay tuned, be Arbinaut!

Primary LanguageRuby

Arbitrum airdrop scripts

All responsibility for running scripts lies entirely on your shoulders No warranties

TG channel and chat (rare answers, sorry, public)

Features

  • 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

Scripts set

Main notes

  • 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

Requirements:

  • ruby 3.1.3

Environment installation guide

For Windows

  • 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

For Mac/Linux

  • 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

Claimer

Use to claim tokens

Logic:

  • 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

Run command

ruby claimer.rb

Required:

  • fill claimer/wallets.txt by private keys (one per line)
  • check claimer/claimer_settings.yml ensure its correct
    • l1_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

Transferer

Use to transfer tokens

Logic:

  • 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

Notes:

  • You can add two lines for transferring like this (wallet1(minter) -> wallet2(proxy) -> wallet3(exchange))

Required:

  • 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 correct
    • eth_border - to ensure what u wallets have amount of ETH for claim/transfer fee

Run command

ruby transferer.rb

Seeder

Use to transfer native ETH coins to wallets when specified L1 block will be created

Notes:

  • 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.

Required:

  • fill seeder/wallets.txt by private_keys for seeder and addresses to transfer
  • check seeder/seeder_settings.yml ensure its correct
    • amount_to_send eth amount to sending in WEI
    • l1_block_start_period claim will be started at 16890400 block (Ethereum mainnet)

Run command

ruby seeder.rb

1inchDrainer

Use to fast swap tokens

Notes:

  • 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).

Required:

  • check one_inch_drainer/one_inch_drainer_settings.yml ensure its correct
    • private_key private key
    • approve_address - 1inch spender can take it from https://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 not
    • amount_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

Run command

ruby one_inch_drainer.rb
Run for test (i.e. swap DAI -> USDT, ensure DAI balance)
ruby one_inch_drainer.rb test
Donations. If u satisfy u can send some tips to 0xAB3966f0BDCB6D67a35C99F383C23c7350FB8943