docs
FAQ

Frequently Asked Questions

General Questions

What is GSwarm?

GSwarm is a dedicated Go-based Telegram monitoring service for Gensyn AI that provides real-time notifications about blockchain activity, including votes, rewards, and balance changes. It monitors the GenRL-Swarm contract (0xFaD7C5e93f28257429569B854151A1B8DCD404c2) and sends updates via Telegram.

Is GSwarm affiliated with the official Gensyn team?

No. GSwarm is NOT affiliated with or endorsed by the official Gensyn team. This is an independent, community-developed Telegram monitoring service designed to enhance the user experience of monitoring Gensyn AI node activity.

What can GSwarm do?

GSwarm can:

  • Monitor blockchain activity via smart contract queries
  • Track votes, rewards, and balance changes
  • Send real-time notifications via Telegram
  • Provide detailed per-peer breakdown
  • Store configuration and data locally
  • Automatically detect and monitor all peer IDs associated with your EOA address

What can GSwarm NOT do?

GSwarm cannot:

  • Modify training algorithms
  • Change blockchain smart contracts
  • Alter model architectures
  • Modify core Gensyn functionality
  • Change the official Gensyn protocol

Installation & Setup

What are the system requirements?

  • Go 1.24+ (for building the Telegram monitoring service)
  • Network connectivity for blockchain queries and Telegram API
  • Telegram Bot Token (from @BotFather)
  • Telegram Chat ID (your chat ID or group chat ID)

How do I install GSwarm?

Option 1: Install with Go (Recommended)

go install github.com/Deep-Commit/gswarm/cmd/gswarm@latest

Option 2: Build from source

git clone https://github.com/Deep-Commit/gswarm.git
cd gswarm
make build
make install

Why can't I find the gswarm command after installation?

Make sure your Go bin directory is in your PATH:

For bash/zsh:

export PATH=$PATH:$(go env GOPATH)/bin

For fish:

set -gx PATH $PATH (go env GOPATH)/bin

Add this to your shell configuration file to make it permanent.

Telegram Setup

How do I create a Telegram bot?

  1. Start a chat with @BotFather (opens in a new tab) on Telegram
  2. Send /newbot and follow the instructions
  3. Choose a name for your bot (e.g., "GSwarm Monitor")
  4. Choose a username (must end with 'bot', e.g., "gswarm_monitor_bot")
  5. Save the bot token provided by BotFather

How do I get my Telegram Chat ID?

  1. Start a chat with your bot by clicking the link or searching for it
  2. Send any message to the bot (e.g., "Hello")
  3. Visit this URL in your browser (replace YOUR_BOT_TOKEN with your actual token):
    https://api.telegram.org/botYOUR_BOT_TOKEN/getUpdates
  4. Find your chat ID in the response (look for "chat":{"id":123456789})

How do I get my EOA address?

  1. Log into your Gensyn dashboard (opens in a new tab)
  2. Navigate to your account settings or profile section
  3. Copy your Ethereum address (EOA) - this is required for monitoring your blockchain activity

Usage

How do I start GSwarm?

Simply run:

gswarm

The service will guide you through the setup process interactively.

How often does GSwarm check for updates?

GSwarm checks for blockchain updates every 5 minutes by default.

Will I get notifications for every check?

No, GSwarm only sends notifications when there are actual changes detected. This prevents spam and ensures you only get meaningful updates.

What information is included in notifications?

Notifications include:

  • Total votes and rewards
  • Per-peer breakdown with individual vote and reward counts
  • Change indicators (📈 for increases, 📉 for decreases)
  • Timestamp of the last check
  • EOA address being monitored

Can I monitor multiple addresses?

Currently, GSwarm monitors one EOA address per instance. You can run multiple instances with different configuration files to monitor multiple addresses.

Can I use GSwarm in a group chat?

Yes, you can use a group chat ID instead of a personal chat ID. All members of the group will receive the notifications.

Configuration

Where are configuration files stored?

Configuration files are stored in:

~/.gswarm/
├── telegram-config.json      # Telegram configuration
└── telegram_previous_data.json # Previous blockchain data

Can I use a custom configuration path?

Yes, use the --telegram-config-path flag:

gswarm --telegram-config-path /path/to/custom/config.json

How do I update my configuration?

Use the --update-telegram-config flag to force re-entry of configuration:

gswarm --update-telegram-config

Can I use environment variables for configuration?

Yes, all flags can be set via environment variables with the GSWARM_ prefix:

export GSWARM_TELEGRAM_CONFIG_PATH=/path/to/config.json
export GSWARM_UPDATE_TELEGRAM_CONFIG=true
gswarm

Troubleshooting

"Bot token invalid" error

  • Verify your bot token from @BotFather
  • Make sure the token is copied correctly without extra spaces
  • Use --update-telegram-config to re-enter it

"Chat ID not found" error

  • Make sure you've sent a message to your bot
  • Check the getUpdates URL response
  • Verify the chat ID is correct
  • Use --update-telegram-config to re-enter it

"No notifications received"

  • Check that your bot is active
  • Verify the chat ID is correct
  • Ensure you have blockchain activity to monitor
  • Confirm your EOA address is correct

"EOA address not found"

  • Get your EOA address from the Gensyn dashboard
  • Make sure the address starts with "0x" and is 42 characters long
  • Verify the address is correct

"No peer IDs found"

  • Ensure your EOA address is correct
  • Check that you have active peer IDs on the Gensyn network
  • The service will automatically detect and monitor all your peer IDs

"gswarm command not found"

  • Ensure Go 1.24+ is installed and $GOPATH/bin is in your PATH
  • Reinstall with: go install github.com/Deep-Commit/gswarm/cmd/gswarm@latest

"Go version too old"

Security

Is my data secure?

  • Local Storage: All configuration stored locally
  • No Cloud Storage: No data transmitted to external services
  • Read-Only: Only reads blockchain data, never modifies anything
  • No Private Keys: Never requires or stores private keys

What data does GSwarm access?

GSwarm only accesses:

  • Your Telegram bot token (for sending messages)
  • Your chat ID (for sending messages)
  • Your EOA address (for blockchain queries)
  • Public blockchain data (votes, rewards, balances)

Can others see my notifications?

Only people in the chat where you configured the bot will see the notifications. Make sure to use a private chat or a trusted group.

Performance

How much resources does GSwarm use?

GSwarm is very lightweight:

  • Memory: Typically uses <50MB RAM
  • CPU: Minimal CPU usage for monitoring
  • Network: Periodic API calls every 5 minutes
  • Storage: Small config files (<1KB)

Can I run GSwarm on a server?

Yes, GSwarm can run on servers. Consider using:

  • Systemd service for automatic startup
  • Docker container for isolation
  • Cron jobs for periodic monitoring

How do I run GSwarm as a service?

Create a systemd service file:

[Unit]
Description=GSwarm Telegram Monitoring Service
After=network.target
 
[Service]
Type=simple
User=gswarm
WorkingDirectory=/home/gswarm
ExecStart=/usr/local/bin/gswarm
Restart=always
RestartSec=10
 
[Install]
WantedBy=multi-user.target

Support & Community

Where can I get help?

  • Documentation: Check the Telegram Monitoring guide
  • FAQ: This page for common questions
  • Issues: Report bugs on GitHub
  • Community: Join discussions on GitHub

How do I report a bug?

When reporting issues, please include:

  • GSwarm version (gswarm --version)
  • Operating system and version
  • Go version (go version)
  • Error messages and logs
  • Steps to reproduce the issue

How do I request a feature?

For feature requests:

  • Describe the feature clearly
  • Explain the use case
  • Consider if it fits within the project's scope
  • Check if similar features already exist

Legal & Licensing

What license does GSwarm use?

This project is licensed under the MIT License.

Can I use GSwarm commercially?

Yes, the MIT License allows commercial use.

How can I support the project?

You can support the project by making a donation to:

0xA22e20BA3336f5Bd6eCE959F5ac4083C9693e316

Your support helps us maintain and improve the monitoring service, add new features, and keep the project free and open source.

Technical Details

Which blockchain does GSwarm monitor?

GSwarm monitors the GenRL-Swarm contract (0xFaD7C5e93f28257429569B854151A1B8DCD404c2) on the Gensyn network.

What APIs does GSwarm use?

  • Telegram Bot API: For sending notifications
  • Alchemy API: For blockchain data queries
  • GenRL-Swarm Contract: For vote and reward data

How does change detection work?

GSwarm stores previous blockchain data locally and compares it with new data. Notifications are only sent when values actually change.

Can I customize the monitoring interval?

Currently, the 5-minute interval is hardcoded. This may be configurable in future versions.

What happens if the service crashes?

If running as a service, it will automatically restart. If running manually, you'll need to restart it manually.

Can I run multiple instances?

Yes, you can run multiple instances with different configuration files to monitor different addresses or send notifications to different chats.