-
Notifications
You must be signed in to change notification settings - Fork 6
/
WEB_api.txt
449 lines (408 loc) · 29.2 KB
/
WEB_api.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
ВАЖНО! АРГУМЕНТЫ В ЗАПРОСАХ ДОЛЖНЫ БЫТЬ УКАЗАНЫ В СТРОГОЙ ОЧЕРЁДНОСТИ, В СООТВЕТСТВИИ С ТЕМ, КАК ОПИСАНО НИЖЕ
(GET) "/api/balance/" - текущий баланс токена
Аргументы:
1)address - адрес аккаунта
2)token - короткое название токена(его аббревиатура)
Пример запроса:
/api/balance/?address=57LkviK66Hfx8TmSc3CzwQ66omHcqTAa1dKNKC7eTsJK&token=ORBC
Возвращает:
"wallet" - адрес аккаунта
"token" - короткое название токена(его аббревиатура)
"balance" - текущий баланс токена
(GET)"/api/create/cryptocontainer/" - создание нового криптоконтейнера
Аргументы:
1)pass - пароль(не менее 6-ти символов)
Пример запроса:
/api/create/cryptocontainer/?pass=123123
Возвращает:
"address" - адрес созданного криптоконтейнера
"words" - 47 слов для восстановления созданного криптоконтейнера. Сохраните их и не сообщайте никому!
(GET) "/api/create/transaction/" - Создание транзакции
Аргументы:
1)address - адрес кошелька
2)pass - пароль
3)to - адрес аккаунта-получателя
4)symbol - короткое название токена(аббревиатура)
5)amount - количество
Пример запроса:
/api/create/transaction/?address=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup&pass=123123&to=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup&token=ORBC&amount=12
Возвращает:
В случае успешного создания транзакции:
"success" = True - успешность создания транзакции
"owner_sign" - хэш транзакции, подписанный приватным ключом создателя транзакции
В случае ошибки:
"success" = False
"error" - описание ошибки(недостаточно средств, несуществующий токен и т.д.)
(GET) "/api/check/transaction/" - Проверка статуса транзакции
Аргументы:
1)owner_sign - хэш транзакции, подписанный приватным ключом создателя транзакции
Пример запроса:
/api/check/transaction/?owner_sign=2p3e8kpdTwRgbjVbfb9BCKGToQ3eizFkKYY2e3rvYDG9jAL8apT7PQKeP7Wnix87345Sb3riYKMA2rdnrDjYs7X
Возвращает:
Если транзакция была подтверждена:
"status" = "confirmed"
"owner_sign" - хэш транзакции, подписанный приватным ключом создателя транзакции
"unix_time" - дата и время транзакции(в формате Unix)
"from" - адрес аккаунта-отправителя
"to" - адрес аккаунта-получателя
"amount" - количество отправленных средств
"token" - токен(короткое название)
Если транзакции с указанным хэшем не существует или она ещё не была подтверждена:
"status" = "not confirmed or does not exist"
(GET) "/api/create/token/" - Создание токена
Аргументы:
1)address - адрес кошелька
2)pass - пароль
3)name - полное название токена(не более 32-х латинских символов, пробелы и знаки запрещены)
4)symbol - короткое название токена(аббревиатура, от 2-х до 4-х латинских букв, пробелы и знаки запрещены)
5)emission - максимальный объём выпуска(целое положительное число больше 1-го)
6)capacity - разрядность(количество знаков после запятой, от 2 до 8 включительно)
Пример запроса:
/api/create/token/?address=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup&pass=123123name=ORBISCoin&symbol=ORBC&emission=21000000&capacity=5
Возвращает:
В случае успешного создания токена:
"success" = True - успешность создания транзакции
"name" - полное название созданного токена
"symbol" - короткое название созданного токена
"emission" - максимальный объём выпуска созданного токена
"capacity" - разрядность созданного токена
В случае ошибки:
"success" = False
"error" - описание ошибки(такой токен уже существует и т.д.)
(GET) "/api/buy/OM/" - покупка OM
Внимание! Перед выполнением команды убедитесь, что Вы уже не являетесь держателем OM и что на Вашем счёте достаточно ORBC для его покупки(1 OM = 10000 ORBC)
Аргументы:
1)address - адрес кошелька
2)pass - пароль
Пример запроса:
/api/buy/OM/?address=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup&pass=123123
Возвращает:
В случае успешной покупки OM:
"success" = True - успешность покупки OM
В случае ошибки:
"success" = False
"error" - описание ошибки(не выполнен вход в кошелёк, OM уже был куплен, недостаточно ORBC для покупки и др.)
(GET) "/api/checkom/" - проверка, является ли указанный аккаунт держателем OM
Аргументы:
1)address - адрес аккаунта
Пример запроса:
/api/checkom/?address=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup
Возвращает:
"success" - успешность отработки запроса
"om_holder" - булево значение владения OM указанным аккаунтом
В случае success = false:
"error" - описание ошибки(указан несуществующий адрес и др.)
(GET)"/api/create/service/" - Создание сервиса
Аргументы:
1)address - адрес кошелька
2)pass - пароль
3)name - уникальное название сервиса(длина от 1 до 32-х символов. Только латинские буквы и знаки(исключая &). Должно начинаться с латинской буквы. Регистр имеет значение)
Пример запроса:
/api/create/service/?address=37tBiV8btkNUHTk6Q9bnYZRVyW7XWSseWw4REtsznWgS&pass=123123&name=My$ervIce
Возвращает:
В случае успешного создания сервиса:
"result" = True - успешность создания сервиса
В случае ошибки:
"result" = False
"error" - описание ошибки(не выполнен вход в кошелёк, сервис с таким именем уже существует, некорректное имя сервиса и др.)
(GET)"/api/service/set_data/" - Запись данных в сервис
Аргументы:
1)address - адрес кошелька
2)pass - пароль
3)name - название сервиса
4)data - данные в виде набора байтов(не более 100 байтов, в кодировке Base64)
Пример запроса:
/api/service/set_data/?address=37tBiV8btkNUHTk6Q9bnYZRVyW7XWSseWw4REtsznWgS&pass=123123&name=My$ervIce&data=0KXRg9C70Lgg0YLRg9GCINGC0LDQuiDQvNCw0LvQvj8g0K3RgtC+INC90LDRiNCwINGC0L7Rh9C60LAg0LHQu9GP0YLRjCEg0KLRiyDQvdCwINC/0LXQvdGR0Log0YHQtdC70L
Возвращает:
В случае успешной записи данных в сервис:
"result" = True - успешность записи данных
В случае ошибки:
"result" = False
"error" - описание ошибки(сервис с таким именем не существует, некорректное имя сервиса и др.)
(GET)"/api/service/get_data/" - Чтение данных из сервиса
Аргументы:
1)name - название сервиса
Пример запроса:
/api/service/get_data/?name=My$ervIce
Возвращает:
В случае ошибки:
"result" = False
"error" - описание ошибки(сервис с таким именем не существует и др.)
В случае успешного чтения данных из сервиса:
"result" = True - успешность чтения данных
"data_array" - массив данных из сервиса, каждый элемент которого имеет следующие поля:
"id" - ID аккаунта, создавшего запись в сервис
"unix_time" - дата и время создания записи(в формате Unix)
"data" - записанные данные(в кодировке ANSI)
(GET)"/api/service_info/" - Запрос данных о сервисе
Аргументы:
1)name - название сервиса
Пример запроса:
/api/create/service/?name=My$ervIce
Возвращает:
В случае успешного запроса:
"result" = True
"name" - название сервиса
"owner_id" - ID аккаунта-создателя сервиса
"unix_time" - дата и время создания сервиса(в формате Unix)
В случае ошибки:
"result" = False
"error" - описание ошибки(сервис с таким именем не существует и др.)
(GET) "/api/address_balances/" - Запрос данных о токенах аккаунта с их текущим балансом
Аргументы:
1)address - адрес аккаунта
Пример запроса:
/api/address_balances/?address=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup
Возвращает:
"balances" - массив из следующих пар:
"symbol" - короткое название токена(аббревиатура)
"value" - текущий баланс токена
(GET)"/api/restore/cryptocontainer/keys/" - Восстановление криптоконтейнера с помощью 47-ми слов
Аргументы:
1)keys - список ключей(перечисление через нижнее подчёркивание)
2)pass - новый пароль для доступа к восстанавливаемому криптоконтейнеру
Пример запроса:
/api/restore/cryptocontainer/keys/?keys=GRASS_JOIN_FRUIT_VIRUS_COIL_KNOW_HINT_WILL_HOVER_TRULY_PIGEON_PHONE_BROOM_NOSE_BUBBLE_TICKET_INCREASE_INTO_WISDOM_MINUTE_OMIT_MERGE_DESIGN_KIWI_BICYCLE_PELICAN_RAW_FALSE_EXTEND_MISS_RAIN_FUEL_MOUSE_MUSIC_MIMIC_STYLE_DOOR_SPEED_SEMINAR_ELDER_SONG_MASTER_ELECTRIC_RETREAT_FESTIVAL_SPATIAL_WOMAN&pass=111111
Возвращает:
"success" - успешность выполнения операции
"address" - адрес восстановленного криптоконтейнера(в случае "success" = "true")
(GET)"/api/address_info/" - Запрос данных о конкретном аккаунте с количеством транзакций по указанным токенам
Аргументы:
1)address - адрес аккаунта
2)tokens - список токенов(перечисление через нижнее подчёркивание), либо "all" для выбора всех токенов.
Пример запроса:
/api/address_info/?address=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup&tokens=TOROM_QUIPA_FOLEX
/api/address_info/?address=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup&tokens=all
Возвращает:
"address" - адрес аккаунта
"id" - id аккаунта
"trans_count" - общее количество транзакций по указанным токенам
"tokens_count" - общее количество токенов у аккаунта с положительным текущим балансом
Если указан один токен, то ответ сервера дополняется ещё 3-мя полями:
"received" - всего получено токенов
"sent" - всего отправлено токенов
"balance" - баланс токена в данный момент
"symbol" - короткое название токена(аббревиатура)
(GET)"/api/address_info_details/" - Запрос списка транзакций, либо токенов аккаунта за указанный период времени(с "пагинацией" ответа сервера)
Аргументы:
1)tab - указание предмета для списка данных ("transactions" или "tokens")
2)address - адрес аккаунта
3)tokens - список токенов(перечисление через нижнее подчёркивание), либо "all" для выбора всех токенов
4)page - страница
5)pagesize - размерность страницы списка(количество данных на одной странице)
6)date_from - дата начала периода (в формате дд.мм.гггг_чч:мм:сс); по умолчанию равно 30.12.1899; для tab = "tokens" значение игнорируется
7)date_to - дата конца периода (в формате дд.мм.гггг_чч:мм:сс); по умолчанию равно данному моменту времени; для tab = "tokens" значение игнорируется
8)type - тип транзакций ("incoming","outgoing","all"); по умолчанию равно "all"; для tab = "tokens" значение игнорируется
3 вариции запроса:
1-ый вариант: указываются аргументы tab,address,tokens,page,pagesize
Пример запроса:
/api/address_info_details/?tab=tokens&address=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup&tokens=all&page=1&pagesize=10
Возвращает список указанных токенов, фигурирующих в истории транзакций аккаунта за всё время
2-ой вариант: указываются аргументы tab,address,tokens,page,pagesize,type
Пример запроса:
/api/address_info_details/?tab=transactions&address=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup&tokens=all&page=1&pagesize=10&type=incoming
Возвращает список входящих транзакций аккаунта по выбранным токенам за всё время
3-й вариант: указываются аргументы tab,address,tokens,page,pagesize,date_from,date_to,type
Пример запроса:
/api/address_info_details/?tab=transactions&address=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup&tokens=all&page=1&pagesize=10&date_from=23.07.2020_5:06:26&date_to=05.03.2021_16:33:52&type=incoming
Возвращает список входящих транзакций аккаунта по выбранным токенам за период времени с 23.07.2020_5:06:26 по 05.03.2021_16:33:52 включительно
Для tab = "transactions" запрос возвращает следующую информацию:
"trans_count" - количество транзакций в сформированном списке.
Массив "list", состоящий из элементов с полями:
"unix_time" - дата и время транзакции(в формате Unix)
"block_number" - номер блока
"from" - адрес аккаунта-отправителя
"to" - адрес аккаунта-получателя
"hash" - хэш транзакции
"token" - токен(его короткое название)
"sent" - отправлено
"received" - получено
"fee" - комиссия(в процентах, десятичная дробь)
Если "list" не пустой, то ответ дополняется информацией:
"earlier_trans_unix_date" - дата последней транзакции аккаунта в указанном периоде времени по выбранным токенам(в формате Unix)
"latest_trans_unix_date" - дата первой транзакции аккаунта в указанном периоде времени по выбранным токенам(в формате Unix)
"earlier_trans_unix_date_ever" - дата последней транзакции аккаунта по выбранным токенам за всё время(в формате Unix)
"latest_trans_unix_date_ever" - дата первой транзакции аккаунта по выбранным токенам за всё время(в формате Unix)
Для tab = "tokens" запрос возвращает следующую ифнормацию:
"tokens_count" - количество токенов. Если "tokens_count" > 1, то в массиве "list" будут элементы со следующими полями:
"token" - токен(его короткое название)
"balance" - баланс токена в данный момент
"sent" - отправлено
"received" - получено
"trans_count" - количество транзакций с данным токеном
(GET)"/api/address_tokens/" - Запрос списка токенов пользователя, фигурирующих в его истории транзакций
Аргументы:
1)address - адрес аккаунта
Пример запроса:
/api/address_tokens/?address=8QjFv11MGJrZcmaxfp8RRER5aJEB3fLokZdYk78Fdqup
Возвращает:
"tokens" - упорядоченный массив из 26-ти вложенных массивов (на каждую букву латинского алфавита) с данными о токенах, имеющих следующие поля:
"symbol" - короткое название токена(аббревиатура)
"name" - полное название токена
(GET)"/api/general_info/" - Запрос общей информации сети(с "пагинацией" ответа)
2 вариции запроса:
1-ый вариант: указываются аргументы:
1)name - указание предмета для списка данных ("accounts","transactions","tokens","services", "mined" или "mining")
2)pagesize - размерность страницы списка(количество данных на одной странице)
3)page - страница
Пример запроса:
/api/general_info/?name=transactions&page=1&pagesize=10
2-ой вариант: указываются аргументы:
1)name - указание предмета для списка данных ("accounts","transactions","tokens","services", "mined", "mining" или "main_info")
2)sortby - поле сортировки. Возможные значения: (по умолчанию "blocknum" для "name" = "transactions", "address" для "name" = "mining", "main_blocknum" для "name" = "main_info", иначе "datetime")
Для name = accounts: datetime(дата и время создания аккаунта)
Для name = transacions: datetime(дата и время создания транзакции),
blocknum(номер блока),
token(короткое название токена),
sent(количество отправленных токенов);
Для name = tokens: datetime(дата и время создания токена),
ownerid(id создателя токена),
name(полное название токена),
symbol(короткое название токена),
decimals(количество знаков после запятой),
volume(объём выпуска токена);
Для name = services: datetime(дата и время создания сервиса),
ownerid(id создателя сервиса),
name(название сервиса);
Для name = mined: datetime(дата и время состоявшегося майнинга),
blocknum(номер блока, с которого произошёл расчёт);
Для name = mining: address(адрес владельца OM);
Для name = main_info: main_blocknum(id блока главной цепочки);
3)inverse - обратный порядок сортировки. Возможные значения: true или false(по умолчанию false)
4)page - страница
5)pagesize - размерность страницы списка(количество данных на одной странице)
Пример запроса:
/api/general_info/?name=transactions&sortby=token&inverse=false&page=1&pagesize=100
Возвращает:
Для "name" = "accounts":
"amount_list" - общее количество аккаунтов в сети
Массив "list" из элементов со следующими полями:
"address" - адрес аккаунта
"reg_unix_date" - дата и время регистрации акаунта(в формате Unix)
Для "name" = "transactions":
"amount_list" - общее количество транзакций в сети
Массив "list" из элементов со следующими полями:
"unix_time" - дата и время транзакции(в формате Unix)
"block_number" - номер блока
"from" - адрес аккаунта-отправителя
"to" - адрес аккаунта-получателя
"hash" - хэш транзакции
"token" - токен
"sent" - отправлено
"received" - получено
"fee" - комиссия(в процентах, десятичная дробь)
Для "name" = "tokens":
"amount_list" - общее количество токенов в сети
Массив "list" из элементов со следующими полями:
"owner_id" - id аккаунта-владельца токена
"name" - полное название токена
"symbol" - короткое название токена(его аббревиатура)
"decimals" - разрядность токена(количество нулей после запятой)
"volume" - общий объём выпуска токена
"unix_time" - дата создания токена(в формате Unix)
Для "name" = "services":
"amount_list" - общее количество сервисов в сети
Массив "list" из элементов со следующими полями:
"name" - название сервиса
"owner_id" - id аккаунта-создателя сервиса
"unix_time" - дата создания сервиса(в формате Unix)
Для "name" = "mined":
"amount_list" - общее количество прошедших майнингов
Массив "list" из элементов со следующими полями:
"unix_time" - дата и время майнинга(в формате Unix)
"validator_address" - адрес валидатора, подтвердившего майнинг
"block_number" - номер блока, с которого произошёл расчёт
Для "name" = "mining":
"amount_list" - общее количество прошедших майнингов
Массив "list" из элементов со следующими полями:
"address" - адрес владельца OM
Для "name" = "main_info":
"amount_list" - общее количество блоков в главной цепи
Массив "list" из элементов со следующими полями:
"main_chain_block_id" - номер блока в главной цепи
"witness_id" - id валидатора
"owner_sign" - подпись валидатора
"unix_time" - дата создания блока(в формате Unix)
"chain_id" - номер цепи
"block_id" - номер блока в цепи
"hash_block" - хэш транзакции
(GET)"/api/transaction_info/" - Запрос детальной информации о транзакции по его хэшу
Аргументы:
1)hash - хэш транзакции
Пример запроса:
/api/transaction_info/?hash=3nipkywbdx6n3wrs2zq7lkifr7wg
Возвращает:
"unix_time" - дата и время транзакции(в формате Unix)
"block_number" - номер блока
"from" - адрес аккаунта-отправителя
"to" - адрес аккаунта-получателя
"hash" - хэш транзакции
"token" - токен(короткое название)
"sent" - отправлено
"received" - получено
"fee" - комиссия(в процентах, десятичная дробь)
(GET)"/api/token_info/" - Запрос информации по токену
Аргументы:
1)symbol - короткое название токена(его аббревиатура)
Пример запроса:
/api/token_info/?symbol=ORBC
Возвращает:
"owner_id" - id аккаунта-владельца токена
"name" - полное название токена
"symbol" - короткое название токена(его аббревиатура)
"decimals" - разрядность токена(количество нулей после запятой)
"volume" - общий объём выпуска токена
"unix_time" - дата создания токена(в формате Unix)
"trans_count" - общее количество транзакций с этим токеном
"owners_count" - количество аккаунтов с текущим положительным значением баланса данного токена
(GET)"/api/token_info_details/" - Запрос списка транзакций, либо аккаунтов обладателей указанного токена(с "пагинацией" ответа)
Аргументы:
1)tab - указание предмета для списка данных ("transactions" или "owners")
2)symbol - короткое название токена(его аббревиатура)
3)page - страница
4)pagesize - размерность страницы списка(количество данных на одной странице)
Пример запроса:
/api/token_info_details/?tab=transactions&name=ORBC&page=1&pagesize=10
Возвращает:
Если "tab" = "transactions":
Массив "list" из элементов со следующими полями:
"unix_time" - дата и время транзакции(в формате Unix)
"block_number" - номер блока
"from" - адрес аккаунта-отправителя
"to" - адрес аккаунта-получателя
"hash" - хэш транзакции
"token" - токен
"sent" - отправлено
"received" - получено
"fee" - комиссия(в процентах, десятичная дробь)
Если "tab" = "owners":
Массив "list" из элементов со следующими полями:
"id" - id аккаунта
"address" - адрес аккаунта
"reg_unix_date" - дата регистрации аккаунта(в формате Unix)
"balance" - текущий баланс токена
(GET)"/api/statistics/" - Запрос статистики за указанный промежуток времени
Аргументы:
1)tab - указание предмета для списка данных (на данный момент только "validators")
2)date_from - дата начала периода (в формате дд.мм.гггг_чч:мм:сс); по умолчанию равно данный момент времени минус 604800 секунд(7 суток)
3)date_to - дата конца периода (в формате дд.мм.гггг_чч:мм:сс); по умолчанию равно данному моменту времени
4)step - "шаг" выборки; по умолчанию равна 86400 секундам(1 сутки)
2 вариации запроса:
1-ый вариант: указывается аргумент "tab"
Пример запроса:
/api/statistics/?tab=validators
2-ой вариант: указываются все аргументы
Пример запроса:
/api/statistics/?tab=validators&date_from=12.07.2021_5:14:14&date_to=13.07.2021_6:14:14&step=3600
Возвращает:
Массив "list" из элементов(включая пограничные значения) со следующими полями:
"unix_time" - дата
"count" - количество
(GET)"/api/mining_info/" - Запрос информации о последнем майнинге
Аргументы: не ожидаются
Пример запроса:
/api/mining_info/
Возвращает:
"next_mining_date" - дата и время следующего майнинга(в формате Unix)
"OM_count" - количество OM в сети
"ORBC_in_circulation" - количество ORBC в обороте