# CCXT для WX Network
WX Network предоставляет децентрализованную биржу для торговли криптовалютами. Для торговли не нужно переводить свои активы на биржу — они остаются на вашем аккаунте до момента, когда матчер исполнит ордер и создаст транзакцию обмена.
CCXT (CryptoCurrency eXchange Trading) — JavaScript/Python/PHP-библиотека для торговли криптовалютами и получения рыночных данных. Она поддерживает 124 биржи, в том числе WX Network.
Важно: В настоящее время CCXT работает только с seed-аккаунтами. Работа с аккаунтами, привязанными к электронной почте, будет возможна в одном из будущих релизов.
Во избежание мошенничества библиотека CCXT поддерживает только рекомендованные к торговле токены. ID (AssetID) поддерживаемых токенов можно найти в торговых парах в API по ссылке (opens new window).
Исходный код библиотеки доступен на Github: https://github.com/ccxt/ccxt (opens new window).
Подробная информация о CCXT приведена в Руководстве (opens new window).
# Начало работы
# Установка
JavaScript
npm i ccxt
Python
pip install ccxt
PHP
Автоматически загружаемую версию CCXT можно установить с помощью Packagist/Composer (PHP 5.4+).
Другие способы установки см. на странице Install (opens new window).
# Инициализация
Создайте экземпляр класса wavesexchange
, который предоставляет методы WX Network API.
Для торговли необходимо указать открытый и закрытый ключ аккаунта Waves:
- Создайте аккаунт, как описано в разделе Создать акккаунт (opens new window).
- В правом верхнем углу нажмите аватар аккаунта и выберите Настройки.
- В окне Настройки перейдите на вкладку Безопасность.
- Скопируйте открытый (публичный) ключ и закрытый (приватный) ключ.
⚠️ Не сообщайте никому, не публикуйте и не отправляйте по почте закрытый ключ аккаунта. Закрытый ключ используется только локально для подписания запросов и не пересылается в самих запросах.
Перед тем как использовать остальные методы, загрузите список рынков (торговых пар) и валют с помощью метода loadMarkets()
.
JavaScript
const { wavesexchange } = require('ccxt');
const we = new wavesexchange({
apiKey: 'YOUR_PUBLIC_KEY',
secret: 'YOUR_PRIVATE_KEY',
});
(async () => {
await we.loadMarkets();
}) ()
Python
import ccxt
we = ccxt.wavesexchange({
'apiKey': 'YOUR_PUBLIC_KEY',
'secret': 'YOUR_PRIVATE_KEY',
})
we.load_markets()
PHP
date_default_timezone_set('UTC');
include 'ccxt.php';
$we = new \ccxt\wavesexchange (array (
'apiKey' => 'YOUR_PUBLIC_KEY',
'secret' => 'YOUR_PRIVATE_KEY',
));
var_dump ($we->load_markets());
Если вы используете только открытые методы, вы можете создать экземпляр wavesexchange
без указания ключей:
const we = new wavesexchange({
});
# Методы
В JavaScript-версии библиотеки CCXT все методы асинхронные и возвращают Promise (opens new window), который разрешается в JSON.
CCXT для Python 3.5+ поддерживает асинхронный режим с синтаксисом async/await. Асинхронная Python-версия использует чистый asyncio (opens new window) с aiohttp (opens new window). В асинхронном режиме доступны те же самые свойства и методы, только большинство методов помечены ключевым словом async
. Чтобы использовать асинхронный режим, используйте субпакет ccxt.async_support
(см. пример (opens new window) в руководстве по CCXT).
В PHP-версии все методы синхронные.
Все методы могут быть вызваны как в нотации camelcase, так и в нотации с подчеркиванием:
fetchOrderBook('WAVES/USDN')
fetch_order_book('WAVES/USDN')
# Загрузка
# loadMarkets
loadMarkets([reload = true])
Загружает список доступных рынков и валют с WX Network и кеширует данные в свойствах .markets
, .symbols
и .currencies
экземпляра wavesexchange
.
Метод также возвращает список доступных рынков. Достаточно вызвать этот метод один раз. Последующие вызовы возвращают данные из локального кэша. Если вам нужно обновить список рынков, укажите параметр reload = true
.
Примеры использования
JavaScript
(async () => {
await we.loadMarkets(); // Предзагрузка списка рынков и валют
const currencies = we.currencies; // Словарь валют
const symbols = we.symbols; // Словарь торговых пар
const wavesUsdn = we.markets['WAVES/USDN']; // Получение параметров рынка по обозначению
}) ()
Python
we.load_markets() # Предзагрузка списка рынков и валют
currencies = we.currencies # Словарь валют
symbols = we.symbols # Словарь торговых пар
waves_usdn = we.markets['WAVES/USDN'] # Получение параметров рынка по обозначению
PHP
var_dump ($we->load_markets()); // Предзагрузка списка рынков и валют
$currencies = $we->currencies; // Словарь валют
$symbols = $we->symbols; // Словарь торговых пар
$waves_usdn = $we->markets['WAVES/USDN']; // Получение параметров рынка по обозначению
Пример результата
{
"WAVES/USDN": {
"limits": {
"amount": {},
"price": {},
"cost": {}
},
"precision": {
"amount": 8,
"price": 6
},
"symbol": "WAVES/USDN",
"id": "WAVES/DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p",
"base": "WAVES",
"quote": "USDN",
"baseId": "WAVES",
"quoteId": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p",
"info": {
"symbol": "WAVES/USDN",
"amountAssetID": "WAVES",
"amountAssetName": "Waves",
"amountAssetDecimals": 8,
"amountAssetTotalSupply": "102091054.00000000",
"amountAssetMaxSupply": "102091054.00000000",
"amountAssetCirculatingSupply": "102091054.00000000",
"priceAssetID": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p",
"priceAssetName": "USD-N",
"priceAssetDecimals": 6,
"priceAssetTotalSupply": "999999999778.651398",
"priceAssetMaxSupply": "999999999778.651398",
"priceAssetCirculatingSupply": "13365276.476510",
"24h_open": "1.1235",
"24h_high": "1.1307",
"24h_low": "1.1012",
"24h_close": "1.13",
"24h_vwap": "1.11756591068791",
"24h_volume": "106629.05589757",
"24h_priceVolume": "119164.997960",
"timestamp": 1594017751938
}
},
...
}
Поле | Описание |
---|---|
symbol | Общепринятое обозначение торговой пары |
id | Идентификаторы ассетов на блокчейне Waves |
base | Обозначение базовой валюты (amount-ассета) |
quote | Обозначение валюты котировки (price-ассета) |
baseId | Идентификатор amount-ассета |
quoteId | Индентификатор price-ассета |
precision | Количество знаков после десятичной точки. См. раздел Precision and Limits (opens new window) в руководстве по CCXT |
precision.amount | Количество знаков после десятичной точки для amount-ассета |
precision.price | Количество знаков после десятичной точки для price-ассета |
info | Информация о паре ассетов в формате WX Network |
# Рыночные данные
# fetchOrderBook
fetchOrderBook(symbol[, limit = undefined[, params = {}]])
Получает список открытых ордеров для торговой пары. Для WX Network список ордеров агрегирован по уровням цены, результат такой же, как для fetchL2OrderBook
.
# fetchL2OrderBook
fetchL2OrderBook (symbol[, limit = undefined[, params = {}]])
Получает список открытых ордеров для торговой пары, агрегированный по уровням цены (Level 2).
Пример результата
{
"bids": [
[
1.1415,
739.00335952
],
[
1.1401,
119.821299
],
[
1.1394,
931.87014129
],
....
],
"asks": [
[
1.1474,
28
],
[
1.1485,
872.71515731
],
[
1.149,
281.9881125
],
...
],
"timestamp": 1593676495294,
"datetime": "2020-07-02T07:54:55.294Z"
}
Поле | Описание |
---|---|
bids | Список ордеров на покупку в формате [ price, amount ] , отсортированный по убыванию цены |
asks | Список ордеров на продажу в формате [ price, amount ] , отсортированный по возрастанию цены |
timestamp | Unix-время в миллисекундах, когда сгенерирован ответ WX Network |
datetime | Дата и время в формате ISO-8601 с миллисекундами |
Цены указаны в валюте котировки (price-ассете). Количества указаны в базовой валюте (amount-ассете). Все числа являются float.
Максимальная глубина каждого списка — 100.
# fetchTicker
fetchTicker (symbol[, params = {}])
Получает статистические данные по торговой паре за последние 24 часа.
Пример использования
fetchTicker('WAVES/USDN')
Пример результата
{
"symbol": "WAVES/USDN",
"high": 1.1318,
"low": 1.1012,
"vwap": 1.11767514038472,
"open": 1.1253,
"close": 1.1281,
"last": 1.1281,
"change": 0.0028000000000001357,
"percentage": 0.2488225362125776,
"average": 1.1267,
"baseVolume": 106815.19696756,
"quoteVolume": 119384.69026594,
"info": {
"__type": "pair",
"data": {
"firstPrice": 1.1253,
"lastPrice": 1.1281,
"low": 1.1012,
"high": 1.1318,
"weightedAveragePrice": 1.11767514038472,
"volume": 106815.19696756,
"quoteVolume": 119384.69026594,
"volumeWaves": 106815.19696756,
"txsCount": 924
},
"amountAsset": "WAVES",
"priceAsset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
}
}
Поле | Описание |
---|---|
symbol | Обозначение торговой пары |
high | Максимальная цена |
low | Минимальная цена |
vwap | Средневзвешенная цена |
open | Цена открытия |
close | Цена последней сделки |
last | То же, что close |
change | Абсолютное изменение, last - open |
percentage | Относительное изменение, change / open × 100 |
average | Средняя цена, (last + open) /2 |
baseVolume | Объем сделок в базовой валюте (amount-ассете) |
quoteVolume | Объем сделок в валюте котировки (price-ассете) |
info | Информация по паре ассетов в формате WX Network |
Цены указаны в валюте котировки (price-ассете). Все числа являются float.
# fetchTrades
fetchTrades(symbol[, since = undefined[, limit = undefined[, params = {}]]])
Получает транзакции обмена по торговой паре.
Матчер WX Network исполняет ордера и создает транзакции обмена. Каждая транзакция обмена содержит ордер на покупку и ордер на продажу. Ордер может быть исполнен по частям, посредством нескольких транзакций обмена. Подробнее см. в разделе Алгоритм матчинга.
Сейчас вы можете получить до 100 последних транзакций обмена. Если вы указываете более раннюю дату в параметре since
, она игнорируется.
Пример использования
fetchTrades('ETH/BTC')
Пример результата
{
"info": {
"__type": "transaction",
"data": {
"id": "5Pbj2fyEZHANahwbLJhAcn7wJ3Q2yuug5Urta1i4vs1B",
"timestamp": "2020-07-02T13:25:02.069Z",
"height": 2132848,
"type": 7,
"version": 2,
"proofs": [
"5ENaPtB6KuAHpM5PZbW3nvcmYA1MhunCnHPB684RafbmX9VdF2T4prFub8hWPQNRUspce29GTxMMPNGD8x4KCHBA"
],
"fee": 0.003,
"sender": "3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu",
"senderPublicKey": "9cpfKN9suPNvfeUNphzxXMjcnn974eme8ZhWUjaktzU5",
"buyMatcherFee": 0.00299999,
"sellMatcherFee": 0.00299999,
"price": 0.02487665,
"amount": 0.12155697,
"order1": {
"id": "FqXxVTzDtxozRHzjj7q2mWXyZUvg9XCZ9oHFEQNTBZV7",
"senderPublicKey": "Au6avw8iaNj8e3F9Gwj2BR3CWNkwvADT3xvJnSocWjZV",
"matcherPublicKey": "9cpfKN9suPNvfeUNphzxXMjcnn974eme8ZhWUjaktzU5",
"assetPair": {
"amountAsset": "474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu",
"priceAsset": "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"
},
"orderType": "buy",
"price": 0.02487665,
"sender": "3PQznCuKfvsUeF5Jtja6cVmDeGkXes3Xbfk",
"amount": 0.12155706,
"timestamp": "2020-07-02T13:25:02.042Z",
"expiration": "2020-07-03T06:21:42.042Z",
"matcherFee": 0.003,
"signature": "4rRaB1kNidDwfcEoWDHr79JLJENK53QdGgAWNvf1ToSHtYAHDdvaMkxD3RKR9tBmUkBjDDFGeYfyYYJh2BWJy7Ub",
"matcherFeeAssetId": null
},
"order2": {
"id": "9on2bnrjQm6UZXBWV6gRXXdxEm2QnfHiRtpwUskC5LdW",
"senderPublicKey": "8hJheLKw2MFtRLmutxj5BGSfNmDrUMFGC4dciGuzscnB",
"matcherPublicKey": "9cpfKN9suPNvfeUNphzxXMjcnn974eme8ZhWUjaktzU5",
"assetPair": {
"amountAsset": "474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu",
"priceAsset": "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"
},
"orderType": "sell",
"price": 0.02487665,
"sender": "3P7m7XGnHd7QmV7V9av2vZ2NMRWSxjP4ZHv",
"amount": 0.12155706,
"timestamp": "2020-07-02T13:25:01.943Z",
"expiration": "2020-07-03T06:21:41.943Z",
"matcherFee": 0.003,
"signature": "3BRhtq1XuwM14oJbP9Qy1Xt9F3US6Kjo7qvJjFefhcnpPvm3Wo1pD6XTjHk6AxoskKLJAqD6h9HPbdRqk6TA2qM1",
"matcherFeeAssetId": null
}
}
},
"timestamp": 1593696302069,
"datetime": "2020-07-02T13:25:02.069Z",
"symbol": "ETH/BTC",
"id": "5Pbj2fyEZHANahwbLJhAcn7wJ3Q2yuug5Urta1i4vs1B",
"order": "9on2bnrjQm6UZXBWV6gRXXdxEm2QnfHiRtpwUskC5LdW",
"side": "sell",
"price": 0.02487665,
"amount": 0.12155697,
"cost": 0.0030239301977505,
"fee": {
"cost": 0.003,
"currency": "WAVES"
}
},
...
]
Поле | Описание |
---|---|
info | Транзакция обмена в формате блокчейна Waves |
timestamp | Unix-время в миллисекундах |
datetime | Дата и время в формате ISO-8601 с миллисекундами |
symbol | Обозначение торговой пары |
id | Идентификатор транзакции. Вы можете найти транзакцию по идентификатору в Waves Explorer (opens new window) |
order | ID ордера на продажу. Примечание: оба ордера можно найти в структуре info |
side | sell |
price | Цена сделки в валюте котировки (price-ассете) |
amount | Количество базовой валюты (amount-ассета) |
cost | Количество в пересчете на валюту котировки |
fee | Комиссия за транзакцию: 0.003 WAVES |
Транзакции отсортированы по возрастанию временной метки.
# fetchOHLCV
fetchOHLCV (symbol[, timeframe = '1m'[, since = undefined[, limit = undefined[, params = {}]]]])
Получает цены и объемы для графика свечей OHCLV (open-high-low-close-volume).
Обратите внимание: данные последней (текущей) свечи могут быть неполными до ее закрытия (пока не начнется следующая свеча).
Максимальное количество свечей в ответе — 1440. Чтобы получить исторические данные, используйте постраничную выборку с помощью параметров since
и limit
, см. примеры в разделе Pagination (opens new window) руководства по CCXT.
Параметр | Тип | Описание |
---|---|---|
symbol | string | Обозначение торговой пары |
timeframe | string | Интервал свечи. Одно из значений 1M , 1w , 1d , 12h , 6h , 4h , 3h , 2h , 1h , 30m , 15m , 5m , 1m . Доступные интервалы также представлены в свойстве wavesexchange.timeframes |
since | string | Unix-время в миллисекундах |
limit | integer | Максимальное количество свечей в ответе, не более 1440 |
Пример использования
fetchOHLCV('WAVES/USDN', '1h', 1593561600000, 24)
Output example
[
[
1593561600000,
1.1217,
1.1241,
1.117,
1.1223,
3603.75266221
],
[
1593565200000,
1.1242,
1.1293,
1.1221,
1.1293,
698.67756469
],
...
]
Каждая свеча представлена в виде массива [ timestamp, open, high, low, close, volume ]
. Цены указаны в валюте котировки (price-ассете). Объемы указаны в базовой валюте (amount-ассете). Все числа являются float. Свечи отсортированы по возрастанию временной метки.
# Торговля
Для торговли необходимы ключи аккаунта, см. подраздел Инициализация.
# fetchBalance
Получает сумму средств, доступных для торговли, и сумму средств, заблокированных в ордерах, для вашего аккаунта.
fetchBalance ([params = {}])
Пример результата
{
"BTC": {
"free": 0.00159392,
"used": 0,
"total": 0.00159392
},
"WEST": {
"free": 6e-8,
"used": 0,
"total": 6e-8
},
"USDN": {
"free": 2.3482,
"used": 0,
"total": 2.3482
},
"WAVES": {
"free": 82.66924596,
"used": 0.009003,
"total": 82.67824896
},
"free": {
"BTC": 0.00159392,
"WEST": 6e-8,
"USDN": 2.3482,
"WAVES": 82.66924596
},
"used": {
"BTC": 0,
"WEST": 0,
"USDN": 0,
"WAVES": 0.009003
},
"total": {
"BTC": 0.00159392,
"WEST": 6e-8,
"USDN": 2.3482,
"WAVES": 82.67824896
}
}
Поле | Описание |
---|---|
free | Средства, доступные для торговли |
used | Средства, заблокированные в ордерах |
total | Общая сумма средств |
Все числа являются float.
# createOrder
createOrder(symbol, type, side, amount, price[, params = {}])
Сейчас доступны только лимитные ордера.
Комиссия WX Network за исполнение ордера составляет 0.003 WAVES, как для покупки, так и для продажи, независимо от количества. Если ордер исполнен частично, комиссия пропорциональна исполненному количеству.
Если на балансе аккаунта недостаточно WAVES, комиссия указывается в одном из ассетов BCH, BSV, BTC, DASH, ETH, LTC, USDN, USDT, WEST, XMR, ZEC, который есть на балансе. Курсы валют, используемые для расчета комиссии, возвращает метод GET /matcher/settings/rates API матчера.
Параметр | Тип | Описание |
---|---|---|
symbol | string | Обозначение торговой пары |
type | string | Только limit |
side | string | buy или sell |
amount | float | Количество в базовой валюте (amount-ассете) |
price | float | Цена в валюте котировки (price-ассете) |
Пример использования
createOrder('WAVES/USDN', 'limit', 'buy', 0.5, 1.05)
Пример результата
{
"info": {
"version": 3,
"id": "ANAfXHJemsaCmSvq2jszVWiFeVhnr3aiMrWPRFFMg59j",
"sender": "3P8pGyzZL9AUuFs9YRYPDV3vm73T48ptZxs",
"senderPublicKey": "FuChbN7t3gvW5esgARFytKNVuHSCZpXSYf1y3eDSruEN",
"matcherPublicKey": "9cpfKN9suPNvfeUNphzxXMjcnn974eme8ZhWUjaktzU5",
"assetPair": {
"amountAsset": null,
"priceAsset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
},
"orderType": "sell",
"amount": 50000000,
"price": 1150000,
"timestamp": 1594634571018,
"expiration": 1597053771018,
"matcherFee": 300000,
"matcherFeeAssetId": null,
"signature": "3Gxt5xiyFn8aEK72M2QPoxSenPzfLYcyyo6pG5cZ4kABxPw9neHGScvFF3huXmcN8hFsyaaWQQfj2JdkE7F4tHJ4",
"proofs": [
"3Gxt5xiyFn8aEK72M2QPoxSenPzfLYcyyo6pG5cZ4kABxPw9neHGScvFF3huXmcN8hFsyaaWQQfj2JdkE7F4tHJ4"
]
},
"id": "ANAfXHJemsaCmSvq2jszVWiFeVhnr3aiMrWPRFFMg59j",
"timestamp": 1594634571018,
"datetime": "2020-07-13T10:02:51.018Z",
"symbol": "WAVES/USDN",
"type": "limit",
"side": "sell",
"price": 1.15,
"amount": 0.5,
"cost": 0.575,
"fee": {
"currency": "WAVES",
"fee": 0.003
}
}
Поле | Описание |
---|---|
info | Ордер в формате блокчейна Waves. Подробное описание см. в разделе Matcher API |
id | Идентификатор ордера |
timestamp | Временная метка размещения ордера: Unix-время в миллисекундах |
datetime | Дата и время в формате ISO-8601 с миллисекундами |
symbol | Обозначение торговой пары |
type | limit |
side | buy или sell |
price | Цена в валюте котировки (price-ассете) |
amount | Количество в базовой валюте (amount-ассете) |
cost | Количество в пересчете на валюту котировки |
fee | Комиссия WX Network |
# createLimitBuyOrder
createLimitBuyOrder(symbol, amount, price[, params = {}])
То же самое, что createOrder с type = limit
и side = buy
.
# createLimitSellOrder
createLimitSellOrder (symbol, amount, price[, params = {}])
То же самое, что createOrder с type = limit
и side = sell
.
# cancelOrder
cancelOrder (id, [symbol[, params = {}]])
Отменяет ордер. Выбрасывает исключение OrderNotFound
, если ордер уже выполнен или отменен.
Пример использования
cancelOrder('4EEuqGMNbK25K9VeU8PT5QQePj65Z5j554yLwxemczfk')
Пример результата
{
"info": {
"success": true,
"message": [
[
{
"orderId": "4EEuqGMNbK25K9VeU8PT5QQePj65Z5j554yLwxemczfk",
"success": true,
"status": "OrderCanceled"
}
]
],
"status": "BatchCancelCompleted"
},
"id": "4EEuqGMNbK25K9VeU8PT5QQePj65Z5j554yLwxemczfk",
"symbol": "WAVES/BTC"
}
# fetchOrders
fetchOrders(symbol[, since = undefined[, limit = undefined[, params = {}]]])
Получает ордера, размещенные с вашего аккаунта.
Параметр | Тип | Описание |
---|---|---|
symbol | string | Обозначение торговой пары |
since | string | Unix-время в миллисекундах |
limit | integer | Максимальное количество ордеров в ответе |
Вы можете использовать параметры since
и limit
для постраничной выборки, см. примеры в разделе Pagination (opens new window) руководства по CCXT.
Пример использования
fetchOrders('WAVES/USDN')
fetchOrders('WAVES/USDN',1593550800000,20)
Пример результата
[
{
"info": {
"id": "Bahhckt2eq9N1KgqMZS5dJf5Zfsee7MGbqAtWhwbCeXx",
"type": "sell",
"orderType": "limit",
"amount": 2014233920,
"fee": 300000,
"price": 14894,
"timestamp": 1584357963949,
"filled": 2014227425,
"filledFee": 299999,
"feeAsset": "WAVES",
"status": "Filled",
"assetPair": {
"amountAsset": null,
"priceAsset": "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"
},
"avgWeighedPrice": 14894
},
"id": "Bahhckt2eq9N1KgqMZS5dJf5Zfsee7MGbqAtWhwbCeXx",
"timestamp": 1584357963949,
"datetime": "2020-03-16T11:26:03.949Z",
"symbol": "WAVES/BTC",
"type": "limit",
"side": "sell",
"price": 0.00014894,
"amount": 20.1423392,
"cost": 0.0030000000004479998,
"average": 0.00014894,
"filled": 20.14227425,
"remaining": 0.0000649499999987313,
"status": "closed",
"fee": {
"currency": "WAVES",
"fee": 299999
}
},
...
]
Поле | Описание |
---|---|
info | Ордер в формате блокчейна Waves. Подробное описание см. в разделе Matcher API |
id | Идентификатор ордера |
timestamp | Временная метка размещения ордера: Unix-время в миллисекундах |
datetime | Дата и время в формате ISO-8601 с миллисекундами |
symbol | Обозначение торговой пары |
type | limit или market |
side | buy или sell |
price | Цена в валюте котировки (price-ассете) |
amount | Количество в базовой валюте (amount-ассете) |
cost | Количество в пересчете на валюту котировки |
average | Средневзвешенная цена исполнения в валюте котировки |
filled | Исполненное количество в базовой валюте |
remaining | Оставшееся количество |
status | open , closed или canceled |
fee | Комиссия WX Network за исполненное количество |
Ордера отсортированы по возрастанию временной метки.
# fetchOpenOrders
fetchOpenOrders([symbol = undefined[, since = undefined[, limit = undefined[, params = {}]]]])
Получает открытые ордера, размещенные с вашего аккаунта.
Параметры и результат те же, что у fetchOrders.
Пример использования
fetchOpenOrders()
fetchOpenOrders('WAVES/USDN',1593550800000,20)
# fetchClosedOrders
fetchClosedOrders([symbol = undefined[, since = undefined[, limit = undefined[, params = {}]]]])
Получает закрытые и отмененные ордера, размещенные с вашего аккаунта.
Параметры и результат те же, что у fetchOrders.
# fetchMyTrades
fetchMyTrades(symbol[, since = undefined[, limit = undefined[, params = {}]]])
Получает транзакции обмена для вашего аккаунта по торговой паре.
Параметры и результат те же, что у fetchTrades.
Сейчас вы можете получить до 100 последних транзакций обмена. Если вы указываете более раннюю дату в параметре since
, она игнорируется.
# Прочее
# fetchDepositAddress
Необходимы ключи аккаунта, см. подраздел Инициализация.
fetchDepositAddress(code, params = {})
WX Network предоставляет возможность переводить криптовалюты между Waves и другими блокчейнами. Этот метод предоставляет адрес на внешнем блокчейне, соответствующий вашему аккаунту Waves. Когда вы переводите криптовалюту на этот адрес, ваш аккаунт Waves получает соответствующее количество криптовалюты за вычетом комиссии. Расчет комиссии описан в разделе Условия внесения.
Поддерживаются следующие валюты: ERGO, WEST, BTC, ETH, BNT, USDT, XTN, WAVES, USDFL, FL, NSBT, USDC, LTC, BSV, BCH, XMR, ZEC, DASH, CRV.
Пример использования
fetchDepositAddress('BTC')
Пример результата
{
"address": "1A76iWzNbnSftqnGEucJSM456ewGtnfAbX",
"code": "BTC",
"info": {
"type": "deposit_addresses",
"currency": {
"type": "deposit_currency",
"id": "BTC",
"waves_asset_id": "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS",
"decimals": 8,
"status": "active",
"allowed_amount": {
"min": 0.0001,
"max": 1000
},
"fees": {
"flat": 0,
"rate": 0
}
},
"deposit_addresses": [
"1A76iWzNbnSftqnGEucJSM456ewGtnfAbX",
"bc1qlk7km9dvedj7nq5kyduy8gsr2g5t09mq2akrp5"
]
}
}
Поле | Описание |
---|---|
code | Обозначение валюты |
address | Адрес на внешнем блокчейне, на который нужно перевести криптовалюту для последующего зачисления на аккаунт Waves |
info.currency | Условия внесения |