StarLabs
TelegramChatGitHub
  • ๐Ÿ‘‹Welcome
  • Software
    • CampNetwork
      • RU
      • ENG
    • Somnia
      • RU
      • ENG
    • MegaETH
      • RU
      • ENG
    • 0G
      • RU
      • ENG
  • Monad
    • RU
    • ENG
  • Discord
    • RU
    • ENG
  • Twitter
    • RU
    • ENG
  • ๐Ÿ‘€Other
    • โš ๏ธCommon errors + fixes
Powered by GitBook
On this page
  • โš™๏ธ Installation
  • ๐Ÿ“ Preparation (data folder)
  • ๐Ÿ“ Config.yaml
  • ๐Ÿ’พ Database
  • โ–ถ๏ธ Usage
  • Attention! Loyalty quests work only on static proxies. You can use resident proxies, but without IP address rotation.
  • โœ… Tasks
  1. Software
  2. CampNetwork

ENG

https://github.com/0xStarLabs/StarLabs-CampNetwork

โš™๏ธ Installation

Requirements:

  • Python version 3.11.6 - 3.11.11

Downloading:

1 | Clone a repository

git clone https://github.com/0xStarLabs/StarLabs-CampNetwork.git
cd StarLabs-CampNetwork

2 | Create a virtual environment

python -m venv venv
venv\Scripts\activate

3 | Install dependencies

pip install -r requirements.txt

4 | Start (after customization)

python main.py

๐Ÿ“ Preparation (data folder)

Here you can find all user's data necessary for work.

private_keys.txt - private keys from wallets. 1 line = 1 key.

proxies.txt - proxies. 1 line = 1 proxy, or if there are less proxies than accounts, then they will be repeated one after another to be enough for all accounts. The format of proxies is user:pass@ip:port. ONLY HTTP proxies are supported.

For Loyalty quests proxies should be only STATIC WITHOUT CHANGE OF IP.

discord_tokens.txt - discord tokens. 1 line = 1 token.

twitter_tokens.txt - tweeter tokens. 1 line = 1 token. If there are more tokens than private keys, the bot will replace the non working twitter token with one of the extra ones and overwrite it in the file, provided REPLACE_FAILED_TWITTER_ACCOUNT: true is enabled in the config.

emails.txt - mails. 1 line = 1 mail in email:password format.

๐Ÿ“ Config.yaml

This section will write in detail about each function in the file config.yaml.

SETTINGS
THREADS: 1 - number of threads/single accounts the bot will do.

ATTEMPTS: 5 - on errors, how many times the bot will attempt to perform the action.

ACCOUNTS_RANGE: [0, 0] - the range of accounts to run. 
Example: [3, 6] means the bot will execute accounts starting from the third to the sixth.
The count starts from 1.

EXACT_ACCOUNTS_TO_USE: [] - !Works only if ACCOUNTS_RANGE: [0, 0].
Example: [1, 3, 7] which means the bot will only execute accounts 1 3 and 7.

SHUFFLE_WALLETS: false - shuffle accounts before each run or not.
If true, the bot will execute the accounts in random order each time.

PAUSE_BETWEEN_ATTEMPTS: [0, 0] - pause in seconds between attempts to perform a single action.
Example: [3, 10] - the pause will be 3 to 10 seconds random.

PAUSE_BETWEEN_SWAPS: [0, 0] - pause in seconds between sending transactions.
Example: [3, 10] - the pause will be 3 to 10 seconds random.

RANDOM_PAUSE_BETWEEN_ACCOUNTS: [0, 0] - pause in seconds between accounts.
Example: [3, 10] - the pause will be 3 to 10 seconds random.

RANDOM_PAUSE_BETWEEN_ACTIONS: [0, 0] - pause in seconds between tasks/tasks.
Example: [3, 10] - the pause will be from 3 to 10 seconds random.

RANDOM_INITIALIZATION_PAUSE: [0, 0] - pause in seconds before each account starts.
For example you have 10 threads and the pause is [5, 60]
So each account will count from 5 seconds to a minute before starting.
This is used so that all accounts do not start at the same time.

SEND_TELEGRAM_LOGS: false - whether to send logs about functions to Telegram or not. true/false.

TELEGRAM_BOT_TOKEN: "12317283:lskjalsdfasdfasd-sdfadfasd" - token of the Telegram bot created in @BotFather

TELEGRAM_USERS_IDS: [235123432] - IDs of telegram users, to whom to send logs.
ATTENTION! The bot sends only to users in a message, not in chats.
You can get your account id in the tag bot @GetChatID_IL_BOT.
FLOW
SKIP_FAILED_TASKS: false - skip uncompleted tasks or not.
If false, then the bot will stop working if it failed to complete some task.
If true, then the bot will skip the task and start doing the next one.
CAPTCHA
SOLVIUM_API_KEY: xxxxxxxx - captcha API key from https://t.me/solvium_crypto_bot.
LOYALTY
REPLACE_FAILED_TWITTER_ACCOUNT: true. If a tweet account error occurs or is blocked, the bot will replace this tweet account with another one from the file and overwrite it.
MAX_ATTEMPTS_TO_COMPLETE_QUEST - 15. The number of attempts to confirm the quest. The default is 15, if the platform is performing poorly at the moment, you can put more to give the bot more time to wait for the quest to be confirmed.

Translated with DeepL.com (free version)
RPCS
CAMP_NETWORK: ["https://rpc.basecamp.t.raas.gelato.cloud"] - RPC for the network.
You can specify more than one, the bot will use the one that works.
OTHERS
SKIP_SSL_VERIFICATION: true - skip ssl verification.
If you see errors related to SSL in the console, try to set false.

USE_PROXY_FOR_RPC: true - whether to use proxy for RPC.
CRUSTY_SWAP
Function for exchanging ETH tokens for CAMP test tokens via bridge https://www.crustyswap.com/.

NETWORKS_TO_REFUEL_FROM: ["Arbitrum", "Optimism", "Base"] - networks from which to exchange tokens. If more than one network is specified, the bot will randomly choose one of the networks where there is enough ETH to exchange.

AMOUNT_TO_REFUEL: [0.0002, 0.0003] - the range in ETH tokens to exchange.
MINIMUM_BALANCE_TO_REFUEL: 1000 - if the balance of test tokens is higher than the specified value, the bridge will not start.
WAIT_FOR_FUNDS_TO_ARRIVE: true - wait for tokens to come to the wallet or not.
MAX_WAIT_TIME: 999999 - maximum time (in seconds) to wait for tokens to arrive to the wallet
BRIDGE_ALL: false - whether to bridge the whole balance in ETH or not.
BRIDGE_ALL_MAX_AMOUNT: 0.01 - works only if the previous item is true. 
EXCHANGES
Function for withdrawing ETH tokens from exchanges to wallets.

name: "OKX" - selection of which exchange to withdraw from. OKX and BITGET are supported.
apiKey: โ€œxโ€ - exchange API key.
secretKey: โ€œxโ€ - API secret key of the exchange.
passphrase: 'x' - passphrase-password for the exchange API. 
withdrawals:
- currency: โ€œETHโ€ # ONLY ETH
 networks: [โ€œArbitrumโ€, โ€œOptimismโ€] - networks to which the bot will withdraw tokens from the exchange.
  Supported: "Arbitrum", "Base", "Optimism".

  min_amount: 0.0004 - minimum amount of ETH to withdraw.
  max_amount: 0.0006 - maximum amount of ETH for withdrawal.
  max_balance: 0.005 - if the balance on the wallet in ETH is higher than the specified value, the bot will skip this account. That is, the withdrawal function will run if the wallet has 0.004999 ETH or less.
  
  wait_for_funds: true - wait for tokens to arrive on the wallet or not.
  max_wait_time: 99999 - maximum time (in seconds) to wait for tokens to arrive to
 wallet.

  retries: 3 - number of attempts for withdrawal.

The config can be customized either through a text document in the config.yaml file or through the web interface (example in the screenshot below).

In case the web config from the menu doesn't work for some reason, you can always edit it manually in the config.yaml file. You can also contact us in chat https://t.me/StarLabsChat for help.

To start the web interface you need to run the bot with the command python main.py and select the menu item [2] Edit config. After that the bot will launch the config at URL http://127.0.0.1:3456, which you can open in any browser on your PC and customize the config from there. By default, the bot itself opens a web browser with the desired URL. This config and website is launched and runs locally on your PC. After configuring the functions in the config, click the Save Configuration button in the top right corner of the page.

To exit the config, go back to the console and press CTRL + C several times, or just close the console.

๐Ÿ’พ Database

All work in the bot is managed directly through the database. The database is created and stored in the /data folder under the name accounts.db. You can open it manually through special programs for SQL like DB Browser for SQLite.

To start working and create a database you need to run the bot with the command python main.py and select the menu item [3] ๐Ÿ’พ Database actions. Next I will describe each of the functions.

[1] ๐Ÿ—‘ Create/Reset Database. The most basic function that creates a new database or overwrites an existing one. It should be used when you start the bot for the first time, or when you want to overwrite wallets, proxies, or tasks for wallets. [2] โž• Generate New Tasks for Completed Wallets. Used to generate new tasks for wallets that have completed their previous tasks. Example: it may be that some of your wallets have completed all the actions, but some of them still have unfinished tasks. In order not to overwrite ALL tasks and give part of the wallets a chance to finish their chain, you can select this feature and it will update tasks only for wallets that don't already have tasks. [3] ๐Ÿ“Š Show Database Contents. Displays the contents of the database. Wallets, proxies, tasks, etc. [4] ๐Ÿ”„ Regenerate Tasks for All Wallets. Regenerates tasks for ALL wallets in the database.

[5] ๐Ÿ“ Add Wallets to Database. Adds new wallets to the database. For example, you have 10 wallets in your database, you insert new wallets in data/private_keys.txt and want to add them to the database. To avoid overwriting the entire database, you can use this function and it will simply add the new wallets to the database.

โ–ถ๏ธ Usage

Attention! Loyalty quests work only on static proxies. You can use resident proxies, but without IP address rotation.

Before launching the bot, you need to open the tasks.py file in the main folder of the project and there configure the order of actions as indicated in the example.

After that you can run the bot with the command python main.py In the menu you should select 3 and then the database settings will be opened. For the first run press 1 (Create/Reset Database) and the bot creates a database in the data folder. For each key will be generated routes of actions. Also in this menu you will be able to look at the remaining tasks, recreate the database, etc. Now you can exit the menu with button 6 and start the bot - 1.

It is strongly recommended to run Loyalty quests one by one, i.e. each campaign separately. If you run all the campaigns at once, the chance of your Twitter account being blocked is multiplied, so keep that in mind.

Getting tokens from a faucet requires ETH on the Ethereum network on the wallet, or 3 transactions on the Ethereum network.

โœ… Tasks

Instructions on how to switch modules in the bot

In order to switch a module, you need to find a file called tasks.py in the bot folder, open it with a code editor or a normal notepad, in the file you will see the TASKS variable that looks like this:

TASKS This is a list of presets, a preset is a list of modules that the bot will run. An example of a preset with a module inside it:

As you can see FAUCET is just the name of the preset, which can be anything you want, and inside it is the โ€œfaucetโ€ module, which is responsible for starting the faucet.

You can create your own preset just by writing any name for example:

Inside it you can add which modules you want to use example dusted, total:

Then to run a given preset, you copy its name and paste it into TASKS, total:

You can use different types of randomization in the preset. For example, square brackets will mean that the bot will choose one module from all the modules inside them, in our case either dusted or ambient

The parentheses mean that the bot will execute all the modules that are inside them, but in random order

You can create as many lines as you want, just don't forget to put a comma in it

PreviousRUNextSomnia

Last updated 20 days ago