readme notes
This commit is contained in:
79
README.md
79
README.md
@@ -39,13 +39,10 @@ Build a bundle using webpack:
|
|||||||
The bundle can be found in `dist/`. Altough usage should be largely consistent, smaller differences will exist. Documentation is still TODO.
|
The bundle can be found in `dist/`. Altough usage should be largely consistent, smaller differences will exist. Documentation is still TODO.
|
||||||
|
|
||||||
### Inverse Contracts
|
### Inverse Contracts
|
||||||
#### Rest client
|
Since inverse and linear (USDT) contracts don't use the exact same APIs, the REST abstractions are split into two modules. To use the inverse REST APIs, import the `InverseClient`:
|
||||||
```javascript
|
|
||||||
const { RestClient } = require('bybit-api');
|
|
||||||
|
|
||||||
const API_KEY = 'xxx';
|
```javascript
|
||||||
const PRIVATE_KEY = 'yyy';
|
const { InverseClient } = require('bybit-api');
|
||||||
const useLivenet = false;
|
|
||||||
|
|
||||||
const restInverseOptions = {
|
const restInverseOptions = {
|
||||||
// override the max size of the request window (in ms)
|
// override the max size of the request window (in ms)
|
||||||
@@ -68,7 +65,11 @@ const restInverseOptions = {
|
|||||||
parse_exceptions?: boolean;
|
parse_exceptions?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
const client = new RestClient(
|
const API_KEY = 'xxx';
|
||||||
|
const PRIVATE_KEY = 'yyy';
|
||||||
|
const useLivenet = false;
|
||||||
|
|
||||||
|
const client = new InverseClient(
|
||||||
API_KEY,
|
API_KEY,
|
||||||
PRIVATE_KEY,
|
PRIVATE_KEY,
|
||||||
|
|
||||||
@@ -88,9 +89,67 @@ client.changeUserLeverage({leverage: 4, symbol: 'ETHUSD'})
|
|||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
See inverse [rest-client.ts](./src/rest-client.ts) for further information.
|
See inverse [inverse-client.ts](./src/inverse-client.ts) for further information.
|
||||||
|
|
||||||
|
### Linear Contracts
|
||||||
|
To use the Linear (USDT) REST APIs, import the `LinearClient`:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
const { LinearClient } = require('bybit-api');
|
||||||
|
|
||||||
|
const restInverseOptions = {
|
||||||
|
// override the max size of the request window (in ms)
|
||||||
|
recv_window?: number;
|
||||||
|
|
||||||
|
// how often to sync time drift with bybit servers
|
||||||
|
sync_interval_ms?: number | string;
|
||||||
|
|
||||||
|
// Default: false. Disable above sync mechanism if true.
|
||||||
|
disable_time_sync?: boolean;
|
||||||
|
|
||||||
|
// Default: false. If true, we'll throw errors if any params are undefined
|
||||||
|
strict_param_validation?: boolean;
|
||||||
|
|
||||||
|
// Optionally override API protocol + domain
|
||||||
|
// e.g 'https://api.bytick.com'
|
||||||
|
baseUrl?: string;
|
||||||
|
|
||||||
|
// Default: true. whether to try and post-process request exceptions.
|
||||||
|
parse_exceptions?: boolean;
|
||||||
|
};
|
||||||
|
|
||||||
|
const API_KEY = 'xxx';
|
||||||
|
const PRIVATE_KEY = 'yyy';
|
||||||
|
const useLivenet = false;
|
||||||
|
|
||||||
|
const client = new LinearClient(
|
||||||
|
API_KEY,
|
||||||
|
PRIVATE_KEY,
|
||||||
|
|
||||||
|
// optional, uses testnet by default. Set to 'true' to use livenet.
|
||||||
|
useLivenet,
|
||||||
|
|
||||||
|
// restInverseOptions,
|
||||||
|
// requestLibraryOptions
|
||||||
|
);
|
||||||
|
|
||||||
|
client.changeUserLeverage({leverage: 4, symbol: 'ETHUSD'})
|
||||||
|
.then(result => {
|
||||||
|
console.log(result);
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
console.error(err);
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
### WebSockets
|
||||||
|
|
||||||
|
Inverse & linear WebSockets can be used via a shared `WebsocketClient`.
|
||||||
|
|
||||||
|
Note: to use the linear websockets, pass "linear: true" in the constructor options when instancing the `WebsocketClient`.
|
||||||
|
|
||||||
|
To connect to both linear and inverse websockets, make two instances of the WebsocketClient:
|
||||||
|
|
||||||
#### Websocket client
|
|
||||||
```javascript
|
```javascript
|
||||||
const { WebsocketClient } = require('bybit-api');
|
const { WebsocketClient } = require('bybit-api');
|
||||||
|
|
||||||
@@ -123,7 +182,7 @@ const wsConfig = {
|
|||||||
// config options sent to RestClient (used for time sync). See RestClient docs.
|
// config options sent to RestClient (used for time sync). See RestClient docs.
|
||||||
// restOptions: { },
|
// restOptions: { },
|
||||||
|
|
||||||
// config for axios to pass to RestClient. E.g for proxy support
|
// config for axios used for HTTP requests. E.g for proxy support
|
||||||
// requestOptions: { }
|
// requestOptions: { }
|
||||||
|
|
||||||
// override which URL to use for websocket connections
|
// override which URL to use for websocket connections
|
||||||
|
|||||||
Reference in New Issue
Block a user