wallet-bot

0.8.1 • Public • Published

Wallet Bot

Self-custody, headless wallet service that runs as a daemon process within your data center. It manages your software operation's private keys so that your apps can securely send payments on any peer to peer payments network.

Installation and Setup

The application runs as a long-running process which should be managed by k8s, docker, or your system service manager such as systemd or similar. It may be run in a node.js environment or as an isolated docker container. The single process requires no additional services such as database servers to be run.

docker pull anypay/wallet-bot

Setting Up Wallet Keys

Rather than managing your own private key generation and backup, allow wallet bot to generate keys offline and automatically output a wallet-bot.json config file for you. Simply save a copy of this file to your organizations' vaults to restore funds in case of a machine failure.

docker run anypay/wallet-bot new_wallet > wallet-bot.json

You may view with cat wallet-bot.json that one private key has been created for each of the supported coins.

Alternatively you may provide your own wallet keys using the Wallet Import Format (WIF) inside wallet-bot.json.

Running the Service

To run with wallet-bot.json config file:

docker run \
  -v /path/to/wallet-bot.json:/etc/wallet-bot/wallet-bot.json \
  anypay/wallet-bot start

To run with environment variables:

docker run --env-file=/path/to/.env anypay/wallet-bot start

You may also combine some variables from one method with others from the other method.

Configuration

Wallets and system settings may be configured by a combination of json config files, environment variables, and command line flags. All variables may be provided by either of the config variations.

Environment Variables

*required

Variable name Description
ANYPAY_API_TOKEN * https://anypayx.com/dashboard/developer/wallet-bot
SLACK_WEBHOOK_URL Will receive Slack-formatted messages on certain events
WEBHOOK_URL Will receive messages on certain events
LOG_LEVEL [error, debug, info, warn] defaults to info
BSV_PRIVATE_KEY Private signing key to BSV wallet
BTC_PRIVATE_KEY Private signing key to BTC wallet
BCH_PRIVATE_KEY Private signing key to BCH wallet
DASH_PRIVATE_KEY Private signing key to DASH wallet
DOGE_PRIVATE_KEY Private signing key to DOGE wallet
LTC_PRIVATE_KEY Private signing key to LTC wallet
ZEC_PRIVATE_KEY Private signing key to ZEC wallet

Configuration should be provided by a file mounted at /etc/wallet-bot/wallet-bot.json

Testing

To run tests run npm run test

Development

To commit new code run npm run commit

Readme

Keywords

none

Package Sidebar

Install

npm i wallet-bot

Weekly Downloads

0

Version

0.8.1

License

none

Unpacked Size

455 kB

Total Files

206

Last publish

Collaborators

  • stevenzeiler