-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
Complete guide to installing and configuring ScarpShield on your local machine.
Before you begin, ensure you have the following installed:
| Requirement | Version | Notes |
|---|---|---|
| Python | 3.11+ | Required for async features and type hints |
| pip | Latest | Usually bundled with Python |
| git | Latest | For cloning the repository |
Verify your Python version:
python --versionThe fastest way to get ScarpShield is via pip:
pip install scarpshieldAfter installation, the scarpshield CLI is available globally:
scarpshield --version| Package | Version | Purpose |
|---|---|---|
web3 |
>= 6.0.0 | Ethereum RPC interaction and event decoding |
typer |
>= 0.9.0 | Rich CLI interface with commands and options |
flask |
>= 3.0.0 | Web dashboard server |
If you want to run from source or contribute:
git clone https://github.com/RunTimeAdmin/ScarpShield.git
cd ScarpShield
pip install -r requirements.txtThe recommended way to generate a fresh configuration file:
scarpshield initThis creates a config.json in the project root with sensible defaults:
- Pre-configured RPC endpoints for Ethereum, Polygon, BSC, Arbitrum, and Base
- Console alerts enabled by default
- Email, Discord, Slack, and Telegram alerts disabled by default
- 15-second polling interval
If you prefer to edit the config manually:
cp config.example.json config.jsonThen open config.json in your editor and customize the values.
ScarpShield supports loading credentials from environment variables for better security (they take priority over values in config.json).
cp .env.example .envOpen .env and edit the following variables:
| Variable | Description | Example |
|---|---|---|
SCARPSHIELD_SMTP_HOST |
SMTP server hostname | smtp.gmail.com |
SCARPSHIELD_SMTP_PORT |
SMTP server port | 587 |
SCARPSHIELD_SMTP_USER |
SMTP username | alerts@yourdomain.com |
SCARPSHIELD_SMTP_PASSWORD |
SMTP password or app-specific password | your-app-password |
SCARPSHIELD_EMAIL_FROM |
Sender email address | alerts@yourdomain.com |
SCARPSHIELD_EMAIL_TO |
Comma-separated recipient addresses | admin@yourdomain.com,ops@yourdomain.com |
SCARPSHIELD_DISCORD_WEBHOOK_URL |
Discord webhook URL | https://discord.com/api/webhooks/... |
SCARPSHIELD_SLACK_WEBHOOK_URL |
Slack incoming webhook URL | https://hooks.slack.com/services/... |
SCARPSHIELD_TELEGRAM_BOT_TOKEN |
Telegram Bot API token | 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 |
SCARPSHIELD_TELEGRAM_CHAT_ID |
Telegram chat or channel ID | -1001234567890 |
Tip: For Gmail, use an App Password instead of your regular password. Enable 2FA first.
Run the status command to confirm everything is working:
scarpshield statusExpected output:
==================================================
ScarpShield v1.0.1
Powered by CounterScarp.io
==================================================
Contracts: 0
Alerts: console
Poll rate: 15s
Chains: none
If you see this output, ScarpShield is installed and ready to use.
To update to the latest version:
pip install --upgrade scarpshieldReview the GitHub releases page for any breaking changes before upgrading.
- Quick Start Guide — start monitoring in 5 minutes
- CLI Reference — full command documentation