Background
Previous assumptions about Iroha Network and Web API in general were usage of iroha-client with encapsulation of underlying (plain TCP) protocols.
New needs from dependent projects require discussion of these assumptions and decision how to work with iroha network.
Abstract
Iroha Bridge module provides an ability to connect different blockchains together and needs an ability to communicate between both sides via web interface.
Current Iroha approach is a proprietary TCP based protocol encapsulated inside `iroha_network` crate. `iroha_client` crate uses `iroha_network` inside and should be used itself by other applications including another blockchain solutions like `Polkadot`.
It turns out that `Substrate's` off chain workers provides only HTTP (more high level) API for communications with external resources (like Iroha Peer).
In this discussion we should make a decision - will this situation impact our current solution?
Introduction
To make a decision we should formalize the problem, allocate and analyze possible solutions.
Problem
Clients with only high level networking support (HTTP/WebSocket) need to do additional development for Iroha Bridge integration and may even have some runtime specific restrictions which will make it impossible.