Hi everyone
Currently there’s no real standard for talking to Orchestrators. The ERC i’m looking for feedback for is an attempt to try and define a minimum standard of a request from an app / dapp / service etc (that is looking for solution(s) to a problem(s)) to an Orchestrator.
The request being made to Solver Service is incorporated inside the Ethereum JSON-RPC API specification for wider compatibility and adoption.
Below is an excerpt from the HackMD document.
Abstract
“Hey Google, swap my SHIB for Pillar”
“Alexa, how much USDC can i buy with what’s in my wallet?”
“Siri, send 10 OP to Vitalik and 5 PEPE to Deimantas”
The Minimal Orchestrator RPC aims to standardise the minimum shape and requirements of a request for a solution from an arbitrary system managing an Ethereum wallet to, ultimately, an Orchestrator.
An arbitrary system could be a website, app, a server program etc - anything that manages an Ethereum wallet that speaks Ethereum JSON-RPC and is looking to request solutions from an Orchestrator.
Motivation
Data model standards can be written in any shape. A system will often expose their external interface but require that the request to the aforementioned interface is modelled in a way that the service understands. This creates a huge level of inconsistency and in turn makes Orchestrator interoperability more difficult.
Orchestrators will become more widespread and numerous over time. This is especially true with the advent of Artificial Intelligence (AI) driven systems and the continued advancement of Human Computer Interaction (HCI) devices, especially those that are voice controlled.
Standardising the request object that an Orchestrator can understand from a wallet will drive adoption and make decentralised app development easier for developers that don’t know how to make on-chain transactions or have the required technical understanding of block building systems.
Todo:
- DONE: More JSON-RPC API examples: as many scenarios as possible should be covered
- DONE: Solver Service response examples: needs to be able to support a user interface as much as possible whilst providing the necessary transactions to allow the solution to be executed on-chain
- Specifcation review: Are the key word interpretations (RFC 2119 and RFC 8174) correct?
- DONE: Security considerations: how to handle this
This has been reviewed internally by a few people but now opening up for wider review before opening a PR in the EIPs repository.
Any feedback / suggestions / comments would be appreciated
Thanks in advance!