See docs.
Exposes an HTTP endpoint with a JSON RPC to interact with Bitcoin. It's primarily intented to be used by the IPC Subnet Manager. It listens on the port configurable by PROVIDER_PORT, defaulting to 3030. It requires an Authorization header with a bearer token to be set to the value of PROVIDER_AUTH_TOKEN.
It signs all Bitcoin multisig transactions using the private key set in the VALIDATOR_SK_PATH environment variable, which defines the path to the private key file.
Monitors the Bitcoin network for new blocks and transactions. It processes transactions with IPC-related data. It saves the data in a local database, configurable by DATABASE_URL environment variable.
Deleting the database and rerunning monitor should not cause any issues, as only side-effects it has is importing new address as watch-only in Bitcoin Core. It should rebuild the database from the Bitcoin blockchain.
See .env.example for the list of environment variables. Example .env files can be found in internal/demo.ipc.
