An open API service indexing awesome lists of open source software.

https://github.com/bsv-blockchain/go-alert-system

Lightweight Go RPC alerting service for BitcoinSV nodes
https://github.com/bsv-blockchain/go-alert-system

alert-system bitcoin bitcoinsv bsv go node rpc

Last synced: 2 months ago
JSON representation

Lightweight Go RPC alerting service for BitcoinSV nodes

Awesome Lists containing this project

README

          

# 🚨  go-alert-system

**Lightweight Go RPC alerting service for Bitcoin SV nodes.**


Release
Go Version
License




CI / CD   


Build
Last Commit


     Quality   


Go Report
Coverage



Security   


Scorecard
Security


     Community   


Contributors
Sponsor




### Project Navigation



📦 Installation


🧪 Examples & Tests


📚 Documentation




🤝 Contributing


🛠️ Code Standards


⚡ Benchmarks




🤖 AI Usage


📝 License


👥 Maintainers


## 📦 Installation

### Run from source
**go-alert-system** requires a [supported release of Go](https://golang.org/doc/devel/release.html#policy).

To run the application, clone this repository locally and run:
```shell script
export ALERT_SYSTEM_ENVIRONMENT=testnet && go run cmd/go-alert-system/main.go
```

To run this application with a custom configuration file, run:
```shell script
export ALERT_SYSTEM_CONFIG_FILEPATH=path/to/file/config.json && go run cmd/go-alert-system/main.go
```

Configuration files can be found in the [config](app/config/envs) directory.


### Container Environment
**Note:** to use a custom settings file, it needs to be mounted and the appropriate environment variables set. Running it as below will run an ephemeral database but the container should sync up from the peers on the network on startup.
### podman
```
$ podman run -u root -e ALERT_SYSTEM_ENVIRONMENT=testnet --expose 9906 docker.io/bsvb/alert-key:latest
```


## 📚 Documentation
- **API Reference** – Dive into the godocs at [pkg.go.dev/github.com/bsv-blockchain/go-alert-system](https://pkg.go.dev/github.com/bsv-blockchain/go-alert-system)


Development Build Commands

Get the [MAGE-X](https://github.com/mrz1836/mage-x) build tool for development:
```shell script
go install github.com/mrz1836/mage-x/cmd/magex@latest
```

View all build commands

```bash script
magex help
```

Repository Features

This repository includes 25+ built-in features covering CI/CD, security, code quality, developer experience, and community tooling.

**[View the full Repository Features list →](.github/docs/repository-features.md)**

Library Deployment

This project uses [goreleaser](https://github.com/goreleaser/goreleaser) for streamlined binary and library deployment to GitHub. To get started, install it via:

```bash
brew install goreleaser
```

The release process is defined in the [.goreleaser.yml](.goreleaser.yml) configuration file.

Then create and push a new Git tag using:

```bash
magex version:bump push=true bump=patch branch=master
```

This process ensures consistent, repeatable releases with properly versioned artifacts and citation metadata.

Pre-commit Hooks

Set up the Go-Pre-commit System to run the same formatting, linting, and tests defined in [AGENTS.md](.github/AGENTS.md) before every commit:

```bash
go install github.com/mrz1836/go-pre-commit/cmd/go-pre-commit@latest
go-pre-commit install
```

The system is configured via [`.github/env/`](.github/env/README.md) and provides 17x faster execution than traditional Python-based pre-commit hooks. See the [complete documentation](http://github.com/mrz1836/go-pre-commit) for details.

GitHub Workflows

All workflows are driven by modular configuration in [`.github/env/`](.github/env/README.md) — no YAML editing required.

**[View all workflows and the control center →](.github/docs/workflows.md)**

Updating Dependencies

To update all dependencies (Go modules, linters, and related tools), run:

```bash
magex deps:update
```

This command ensures all dependencies are brought up to date in a single step, including Go modules and any tools managed by [MAGE-X](https://github.com/mrz1836/mage-x). It is the recommended way to keep your development environment and CI in sync with the latest versions.


## 🧪 Examples & Tests

All unit tests and [examples](examples) run via [GitHub Actions](https://github.com/bsv-blockchain/go-alert-system/actions) and use [Go version 1.25.x](https://go.dev/doc/go1.25). View the [configuration file](.github/workflows/fortress.yml).

Run all tests (fast):

```bash script
magex test
```

Run all tests with race detector (slower):
```bash script
magex test:race
```


## ⚡ Benchmarks

Run the Go benchmarks:

```bash script
magex bench
```


## 🛠️ Code Standards
Read more about this Go project's [code standards](.github/CODE_STANDARDS.md).


## 🤖 AI Usage & Assistant Guidelines
Read the [AI Usage & Assistant Guidelines](.github/tech-conventions/ai-compliance.md) for details on how AI is used in this project and how to interact with AI assistants.


## 👥 Maintainers
| [Siggi](https://github.com/icellan) | [Galt](https://github.com/galt-tr) | [MrZ](https://github.com/mrz1836) |
|:--------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------:|
| [Siggi](https://github.com/icellan) | [Dylan](https://github.com/galt-tr) | [MrZ](https://github.com/mrz1836) |


## 🤝 Contributing
View the [contributing guidelines](.github/CONTRIBUTING.md) and please follow the [code of conduct](.github/CODE_OF_CONDUCT.md).

### How can I help?
All kinds of contributions are welcome :raised_hands:!
The most basic way to show your support is to star :star2: the project, or to raise issues :speech_balloon:.

[![Stars](https://img.shields.io/github/stars/bsv-blockchain/go-alert-system?label=Please%20like%20us&style=social&v=1)](https://github.com/bsv-blockchain/go-alert-system/stargazers)


## 📝 License

[![License](https://img.shields.io/badge/license-OpenBSV-blue?style=flat&logo=springsecurity&logoColor=white)](LICENSE)