Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/rene78/address-balance-change-notifier

Azure Function in node.js which monitors the balance of a Bitcoin address and triggers an email notification if the balance has changed within the last 2 days.
https://github.com/rene78/address-balance-change-notifier

address azure-timer-functions bitcoin bitcoin-address-balances blockcypher-api email-notifier monitoring-tool nodejs nodemailer

Last synced: 5 days ago
JSON representation

Azure Function in node.js which monitors the balance of a Bitcoin address and triggers an email notification if the balance has changed within the last 2 days.

Awesome Lists containing this project

README

        

# Address Balance Change Notifier
This script monitors the balance of a Bitcoin address every 24 hours and triggers an email notification if the balance has changed in the last 2 days. This Node.js script has been written to work on Microsofts Functions-as-a-Service (FaaS) offering, specifically [Azure Functions Timer Trigger](https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer). Rewriting it for a vanilla Node.js backend shouldn't require much effort though. Just implement a ```setIntervall()``` method to call the function at specific time intervalls.
![Intro Pic][screenshot-email]

# Configuration Variables
To customize the functionality, you may adjust the following private variables in a ```local.settings.json``` file:

- **"BTCAddressToMonitor":** Bitcoin address to monitor, e.g. `bc1q3vdf3np392k28hze3zjffk4mk2ka8z9r593jxn`
- **"eMailHost":** Your email host, e.g. `smtp.office365.com`
- **"eMailUserName":** Your email address, e.g. `[email protected]`
- **"eMailPassword":** Email password, e.g. `password123`
- **"eMailFrom":** Text that appears in the from field of the email, e.g. `'John Doe' `
- **"eMailTo":** The email address to which the notification mail is sent, e.g. `[email protected]`

Here is an example of such a ```local.settings.json``` file

```
{
"IsEncrypted": false,
"Values": {
"BTCAddressToMonitor": "bc1q3vdf3np392k28hze3zjffk4mk2ka8z9r593jxn",
"eMailHost": "smtp.office365.com",
"eMailUserName": "[email protected]",
"eMailPassword": "password123",
"eMailFrom": "'John Doe' ",
"eMailTo": "[email protected]"
}
}
```
[screenshot-email]: screenshot.png "Screenshot of email"