66 lines
1.9 KiB
Markdown
66 lines
1.9 KiB
Markdown
|
# web3-providers-ws
|
||
|
|
||
|
[![NPM Package][npm-image]][npm-url] [![Dependency Status][deps-image]][deps-url] [![Dev Dependency Status][deps-dev-image]][deps-dev-url]
|
||
|
|
||
|
This is a websocket provider sub-package for [web3.js][repo].
|
||
|
|
||
|
Please read the [documentation][docs] for more.
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
### Node.js
|
||
|
|
||
|
```bash
|
||
|
npm install web3-providers-ws
|
||
|
```
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```js
|
||
|
const Web3WsProvider = require('web3-providers-ws');
|
||
|
|
||
|
const options = {
|
||
|
timeout: 30000, // ms
|
||
|
|
||
|
// Useful for credentialed urls, e.g: ws://username:password@localhost:8546
|
||
|
headers: {
|
||
|
authorization: 'Basic username:password'
|
||
|
},
|
||
|
|
||
|
clientConfig: {
|
||
|
// Useful if requests are large
|
||
|
maxReceivedFrameSize: 100000000, // bytes - default: 1MiB
|
||
|
maxReceivedMessageSize: 100000000, // bytes - default: 8MiB
|
||
|
|
||
|
// Useful to keep a connection alive
|
||
|
keepalive: true,
|
||
|
keepaliveInterval: 60000 // ms
|
||
|
},
|
||
|
|
||
|
// Enable auto reconnection
|
||
|
reconnect: {
|
||
|
auto: true,
|
||
|
delay: 5000, // ms
|
||
|
maxAttempts: 5,
|
||
|
onTimeout: false
|
||
|
}
|
||
|
};
|
||
|
|
||
|
const ws = new Web3WsProvider('ws://localhost:8546', options);
|
||
|
```
|
||
|
|
||
|
Additional client config options can be found [here](https://github.com/theturtle32/WebSocket-Node/blob/v1.0.31/docs/WebSocketClient.md#client-config-options).
|
||
|
|
||
|
## Types
|
||
|
|
||
|
All the TypeScript typings are placed in the `types` folder.
|
||
|
|
||
|
[docs]: http://web3js.readthedocs.io/en/1.0/
|
||
|
[repo]: https://github.com/ethereum/web3.js
|
||
|
[npm-image]: https://img.shields.io/npm/v/web3-providers-ws.svg
|
||
|
[npm-url]: https://npmjs.org/package/web3-providers-ws
|
||
|
[deps-image]: https://david-dm.org/ethereum/web3.js/1.x/status.svg?path=packages/web3-providers-ws
|
||
|
[deps-url]: https://david-dm.org/ethereum/web3.js/1.x?path=packages/web3-providers-ws
|
||
|
[deps-dev-image]: https://david-dm.org/ethereum/web3.js/1.x/dev-status.svg?path=packages/web3-providers-ws
|
||
|
[deps-dev-url]: https://david-dm.org/ethereum/web3.js/1.x?type=dev&path=packages/web3-providers-ws
|