1. Введение в JSON-RPC
JSON-RPC — это межъязыковой протокол удаленного вызова на основе JSON. Данные для передачи текста небольшие, их легко отлаживать и расширять.
2. Запрос
JSON-RPC очень прост, формат данных, передаваемых на сервер при запросе, следующий (на основе JSON2.0)
«jsonrpc» : 2.0, «method» : «sayHello», «params» : [«Hello JSON-RPC»], «id» : 1 >
- jsonrpc: определяет версию JSON-RPC.
- method: имя вызываемого метода.
- params: параметры, переданные методом, или значение null, если параметры отсутствуют.
- id: идентификатор звонка. Может быть строкой, не рекомендуется содержать десятичные дроби (нельзя точно преобразовать в двоичную форму) или нулем (может вызвать путаницу).
3. Ответ
Формат данных, возвращаемых сервером, также является JSON, и его формат следующий:
«jsonrpc» : 2.0, «result» : «Hell JSON-RPC», «error» : null, «id» : 1 >
- jsonrpc: определяет версию JSON-RPC.
- результат: возвращаемое значение метода. При успешном вызове оно не может быть пустым. Если вызов неверен, оно должно быть пустым.
- error: во время вызова произошла ошибка, null возвращается, если ошибки нет, объект ошибки возвращается, когда есть ошибка.
- id: идентификатор вызова, который согласуется с идентификатором, переданным вызывающей стороной. Если при проверке идентификатора в запросе возникает ошибка (ошибка преобразования / недопустимый запрос), он должен возвращать значение null.
4. Ошибка
4.1. Объект ошибки
«code» : 1, «message» : «Nothing found», «data»:null >
- код: число, указывающее тип ошибки.
- сообщение: описание ошибки.
- data: Дополнительная информация, которая может быть нулевой.
4.2. Код ошибки
Коды ошибок от -32768 до -32000 зарезервированы для предопределенных ошибок. Любые неопределенные коды в этом диапазоне зарезервированы для использования в будущем.
-32700 | Ошибка разбора | Сервер получил недопустимый JSON; сервер обнаружил ошибку при синтаксическом анализе текста JSON. |
-32600 | Неверный запрос | Отправленный JSON не является действительным запросом. |
-32601 | Метод не найден | Метод не существует или не отображается. |
-36602 | Неверный параметр | Неверный параметр метода. |
-36603 | внутренняя ошибка | Внутренняя ошибка JSON-RPC. |
От -32000 до -32099 | Ошибка на стороне сервера | Зарезервировано для ошибок конкретной реализации на стороне сервера. |
5. Пакетный вызов
Клиент может отправить массив объектов запроса для выполнения пакетных вызовов. Когда все запросы получены, сервер должен ответить массивом, и каждый запрос должен соответствовать объекту запроса. Сервер может обрабатывать вызов RPC одновременно пакетами с любой шириной параллелизма в любом порядке. Клиент может сопоставить запрос и ответ по идентификатору.
6. Примеры
6.1. Список параметров
«jsonrpc»:»2.0″, «method»: «subtract», «params»:[42, 23], «id»: 1 >
Источник: russianblogs.com
Json Rpc Error Code Enum
Namespace: StreamJsonRpc.Protocol Assembly: StreamJsonRpc.dll Package: streamjsonrpc vD:a1sdotnetnue-out_pacman5d493StreamJsonRpc.2.0.208 Package: streamjsonrpc vD:a1sdotnetnue-out_pacmana13caStreamJsonRpc.2.1.74 Package: streamjsonrpc vD:a1sdotnetnue-out_pacman29ef6StreamJsonRpc.2.2.53 Package: streamjsonrpc vD:a1sdotnetnue-out_pacmanc61caStreamJsonRpc.2.3.112 Package: streamjsonrpc vD:a1sdotnetnue-out_pacman810ceStreamJsonRpc.2.4.48 Package: streamjsonrpc vD:a1sdotnetnue-out_pacmanb9d67StreamJsonRpc.2.5.46 Package: streamjsonrpc vD:a1sdotnetnue-out_pacman90a9cStreamJsonRpc.2.6.121 Package: streamjsonrpc vD:a1sdotnetnue-out_pacman01f82StreamJsonRpc.2.7.76 Package: streamjsonrpc vD:a1sdotnetnue-out_pacmaned549StreamJsonRpc.2.8.28 Package: streamjsonrpc vD:a1sdotnetnue-out_pacmanada9cStreamJsonRpc.2.9.85
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Error codes laid out in the JSON-RPC spec or this library.
public enum JsonRpcErrorCode
type JsonRpcErrorCode =
Public Enum JsonRpcErrorCode
Источник: docs.microsoft.com
Ошибка MetaMask RPC? «MetaMask — Ошибка RPC: внутренняя ошибка JSON-RPC».
Я разрабатываю интерфейс для приложения, которое пытаюсь протестировать. Однако MetaMask продолжает выдавать мне эту ошибку? Я попытался изменить лимит газа, как было предложено ранее, но ничего. Любые идеи?
Ошибка: MetaMask — Ошибка RPC: внутренняя ошибка JSON-RPC.
Комментарии (4)
Похоже, что транзакция отменяется (превышение лимита газа на такое количество маловероятно). Отредактируйте свой вопрос и опубликуйте код Solidity функции (и ее зависимостей, таких как переменные класса и другие функции), которые вызывает эта транзакция.
Я предполагаю, что ошибка будет в некотором коде Solidity, который вы изменили (Pancakeswap — это устоявшийся проект, и вероятность того, что их сопровождающие отправят ошибочный код в репо, мала). Поэтому при отладке вы должны сосредоточиться на коде, который вы изменили.
Источник: reddeveloper.ru
Блог
Выполнение ошибки JSON RPC при развертывании контракта тестовой сети смарт-цепочки Binance Отменено
- Post author: admin
- Запись опубликована: 20 января, 2022
- Post category: Вопросы по программированию
#blockchain #smartcontracts #binance-smart-chain
Вопрос:
Я распечатал смарт-контракт MasterChef.sol по адресу 0x852741C58ca084154201691CeB5B9D3312415C18 в тестовой сети Bsc. Когда я вызываю любую другую функцию, кроме владельца, она выдает ошибку «вызов MasterChef.poolLength ошибка: Ошибка: Внутренняя ошибка JSON-RPC. < «код»: -32000, «сообщение»: «выполнение отменено» >». Я использую для этого IDE remix и не могу понять, в чем проблема. Это как-то связано со стоимостью газа, но я не понимаю, в чем дело. Это код контракта https://github.com/sushiswap/sushiswap/blob/master/contracts/MasterChef.sol
при развертывании контракта я сначала развернул SushiToken.sol на BSC, а затем скопировал его адрес, чтобы передать в качестве первого аргумента конструктору, второй аргумент dev был моим скопированным адресом метамаски буфера обмена, третьим был 1000000000000000000000, четвертым был 0, а пятым был 1000000000000000000000 для конструктора MasterChef.sol.
Комментарии:
Вам также может понравиться
Потребляющий Asp.Net Основной api локально
27 августа, 2022
JavaPsiFacade.FindClass не находит класс
8 января, 2022
Как избежать сбоя текстового файла, когда txt продолжает открываться и закрываться за миллисекунды
6 января, 2022
- О нас
- Онлайн игры
- Конвертеры
- Base64 конвертер онлайн
- Оформление кода JavaScript CSS HTML Онлайн
- URL Encoder (кодировщик) / Decoder (декодировщик) онлайн
- Конвертер регистров
- Рассчитать количество дней между датами
- Генератор ключей и паролей
- Генератор QR кодов
- Преобразование времени
- Преобразование микросекунд в секунды
- Преобразование микросекунд в миллисекунды
- Преобразование миллисекунд в микросекунды
- Преобразование миллисекунд в секунды
- Преобразование миллисекунд в минуты
- Преобразование миллисекунд в часы
- Преобразователь миллисекунд в дату
- Преобразование секунд в миллисекунды
- Преобразование секунд в минуты
- Преобразование секунд в часы
- Преобразование секунд в дни
- Преобразование минут во время
- Преобразование минут в миллисекунды
- Преобразование минут в секунды
- Преобразование минут в часы
- Преобразование часов в миллисекунды
- Преобразование часов в секунды
- Преобразование часов в минуты
- Преобразование часов в дни
- Преобразование дней в часы
- Преобразование из часы в недели
- Конвертация из недели в часы
- Через несколько часов калькулятор
- Преобразование времени AM/PM в 24-часовое
- Преобразование Военного Времени
- Время до десятичного калькулятора
- Безопасность
- Финансы
- Энциклопедия
Источник: programbox.ru