Appearance
Введение
Aurora RPC - это библиотека, которая реализует обмен информацией в формате клиент ↔ сервер с использованием методологии RPC поверх протокола WebSocket.
Обмен данными осуществляется в формате JSON, протокол обмена данных основан на спецификации JSON-RPC 2.0.
Сходства и различия с JSON-RPC
Протокол Aurora RPC основан на стандарте JSON-RPC 2.0. Он реализует аналогичную структуру запроса и ответа, за исключением отсутствия указания параметра jsonrpc
:
ts
interface Request {
id?: number | string; // Не обязательно для уведомлений
method: string;
params?: object | array; // Не обязательно для уведомлений
}
interface Response {
id: number | string;
result: object | array;
}
При возврате ошибки используется следующий тип:
ts
interface ResponseError {
id: number | string;
error: {
code: number;
message: string;
};
}
Коды ошибок соответствуют тем, что используются в JSON-RPC:
Важно
Коды ошибок от -32768 до -32000 включительно зарезервированы для предварительно определенных ошибок. Любой код в этом диапазоне, но не определенный явным образом ниже, зарезервирован для будущего использования.
Код | Сообщение | Значение |
---|---|---|
-32700 | Parse error | Сервер получил недействительный JSON. На сервере произошла ошибка при разборе текста JSON. |
-32600 | Invalid Request | Отправленный JSON не является действительным объектом запроса. |
-32601 | Method not found | Метод не существует / недоступен. |
-32602 | Invalid params | Неверный параметр(ы) метода. |
-32603 | Internal error | Внутренняя ошибка Aurora RPC. |
-32500 | Response error | Стандартная ошибка запроса. Возвращается если не был определён свой код для ошибки. |