Я думаю о том, чтобы попытаться реализовать клиента для конкретной службы json-rpc 2.0, которая могла бы дать пользователю некоторые гарантии статической типизации. Рассматриваемый API очень большой, поэтому написание вручную полнофункционального клиента со всей необходимой информацией о типах - слишком сложная задача, чтобы меня беспокоить. Однако я обнаружил через недокументированную конечную точку http большую схему на основе json, которая, кажется, полностью описывает всю службу json-rpc. Я уверен, что смог бы написать какой-нибудь генератор кода, используя эту спецификацию. Оно слишком велико, чтобы вставлять его сюда.
У меня вопрос: есть ли стандартная спецификация для описания службы json-rpc? Я поискал и нашел много мертвых ссылок, а в официальной спецификации [1] для json-rpc не упоминается стандартное определение схемы для такой службы. Схема, которую я нашел, похоже, по крайней мере частично, основана на спецификации json-schema [2].





Схема JSON отлично подходит для определения форматов полезной нагрузки (вы даже можете использовать ее для REST API в OpenAPI), но на самом деле она не поможет описать часть «RPC» с методами и точками входа.
OpenRPC, созданный в начало 2019, кажется наиболее перспективным.
The Ethereum Classic Labs Core (ECLC) team recently created the OpenRPC Specification, aiming to improve all blockchain dapp development. The specification emulates OpenAPI, the successful and widely adopted specification for REST APIs.
The OpenRPC Specification defines a standard, programming language-agnostic interface description for JSON-RPC 2.0 APIs.
Другие подходы
Модуль Drupal JSON-RPC предоставляет конечную точку обнаружения и коллекцию Postman
The available RPC services along with documentation and usage details can be discovered by sending an HTTP GET request to /jsonrpc/methods.
You can use this Postman Collection with examples and tests.
Также могут быть интересные вещи, которые можно получить от AsyncAPI, gRPC, GraphQL.
мертв
Также цитирую некоторые другие варианты, на которые я наткнулся, но которые мертвы:
JSON-WSP кажется устаревшим, страница Википедии ожидает удаления (на странице обсуждения, похоже, говорится, что это никогда не было стандартом)
JSON-WSP (JavaScript Object Notation Web-Service Protocol) is a web-service protocol that uses JSON for service description, requests and responses. It is inspired from JSON-RPC, but the lack of a service description specification with documentation in JSON-RPC sparked the design of JSON-WSP.
Дескриптор службы схемы JSON вроде так и остался черновиком
A JSON Schema service descriptor is simply a JSON Schema with the additional definition for methods.