Skip to content

jpcummins/satwatch

Repository files navigation

satwatch

sat.watch is a Go application that continuously monitors the Bitcoin blockchain for activity (funds sent or received) on user-specified addresses and will send a notification if a transaction is detected.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

Installation

The recommended way to run sat.watch is using Docker, which provides a complete environment including Bitcoin Core and an Electrum server. For detailed Docker setup instructions, see the Docker README.

Alternative manual installation steps:

git clone https://github.com/jpcummins/sat.watch
cd sat.watch
go build .
go build -o create-user cmd/user/create/main.go

Configuration

sat.watch is configured using environment variables. You can find a minimal example in docker/.env.example. For enhanced security, it's recommended to encrypt your environment variables using dotenvx. Here's an overview of the available configuration options:

Core Settings

  • ENVIRONMENT: Set to "development" (default) or "production"
  • DATABASE_URL: PostgreSQL connection string
  • URL: Base URL used for links in email notifications (e.g., 'http://localhost:8080' for development)

Electrum Server Settings

  • ELECTRUM_HOST: Hostname of your Electrum server
  • ELECTRUM_PORT: SSL port of your Electrum server (typically 50002)

Email Settings

  • SMTP_HOST: SMTP server hostname
  • SMTP_PORT: SMTP server port
  • SMTP_USER: SMTP username
  • SMTP_PASSWORD: SMTP password

Bitcoin Core Setting

  • RPCAUTH: Generated auth string for Bitcoin Core RPC
  • RPCUSER: Bitcoin Core RPC username
  • RPCPASSWORD: Bitcoin Core RPC password

Security

  • SECRET: Used to encrypt session cookies

Usage

Docker (Recommended): The recommended way to run sat.watch is using Docker, which provides a complete environment including Bitcoin Core and an Electrum server. For detailed Docker setup instructions, see the Docker README.

Manual Installation:

Create a new user account:

./create-user -username your_username -password your_password

Start the server:

./satwatch

Browse to http://localhost:8080

About

Real-time Bitcoin transaction monitoring and notifications.

Resources

License

Stars

Watchers

Forks

Contributors