https://github.com/carnesen-archive/bitcoin-service
A Node.js library for managing the bitcoin service `bitcoind`
https://github.com/carnesen-archive/bitcoin-service
bitcoin bitcoind carnesen nodejs typescript
Last synced: 3 months ago
JSON representation
A Node.js library for managing the bitcoin service `bitcoind`
- Host: GitHub
- URL: https://github.com/carnesen-archive/bitcoin-service
- Owner: carnesen-archive
- License: mit
- Created: 2019-02-07T21:51:24.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-02-17T06:15:41.000Z (over 6 years ago)
- Last Synced: 2025-01-14T10:46:04.666Z (5 months ago)
- Topics: bitcoin, bitcoind, carnesen, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 90.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# @carnesen/bitcoin-service [](https://badge.fury.io/js/%40carnesen%2Fbitcoin-service) [](https://travis-ci.com/carnesen/bitcoin-service)
A Node.js library for managing the bitcoin service `bitcoind`. The package includes runtime JavaScript files suitable for Node.js >=8 as well as the corresponding TypeScript type declarations.
## Usage
Here is a little TypeScript Node.js script that starts `bitcoind`:
```ts
// example.ts
import { startService } from '@carnesen/bitcoin-service';
const bitcoinHome = '/usr/local/bitcoin-0.17.1';
(async () => {
try {
await startService({ bitcoinHome });
process.exit(0);
} catch (ex) {
console.log(ex);
process.exit(1);
}
})()
```Running the script looks like:
```
$ ts-node example.ts
Bitcoin server starting
```## API
### `startService(configFilePath, bitcoinHome?): Promise<{changed}>`
Sets `daemon` to `true` in the configuration file and starts `bitcoind` if it's not running already#### `configFilePath`
`string`. Absolute path of a bitcoin configuration file. Will be created if it does not already exist.#### `bitcoinHome`
Optional `string`. Absolute path of a directory where the bitcoin server software is installed. If not provided, `` `${bitcoinHome}/bin` `` must be on your `PATH`.#### `changed`
`boolean`. Is `false` if `bitcoind` was already running, `true` if the service was successfully started.### `stopService(configFilePath): Promise<{changed}>`
Stops `bitcoind` if it's running#### `changed`
`boolean`. Is `false` if `bitcoind` wasn't running. Is `true` if the service was running and successfully stopped.### `restartService(configFilePath, bitcoinHome?): Promise<{changed}>`
Stops and starts `bitcoind` as documented above.### `isServiceRunning(configFilePath): Promise`
The returned promise resolves to `true` if the service is running or `false` if it is not.## More information
Check out [the tests directory](src/__tests__) for more examples of how it works. If you encounter any bugs or have any questions or feature requests, please don't hesitate to file an issue or submit a pull request on this project's repository on GitHub.## Related
- [@carnesen/bitcoin-service-cli](https://github.com/carnesen/bitcoin-service-cli): A Node.js CLI and library for managing the bitcoin server process `bitcoind`- [@carnesen/bitcoin-config](https://github.com/carnesen/bitcoin-config): A Node.js library for bitcoin server software configuration