I understand BTP has to be more complex than ILP-over-HTTP because it needs to link responses to requests. This justifies the Request ID part of BTP, and I guess also the Message, Response and Error message types.
But first, what motivates the Transfer message type? If we can already do transfers with ILP's message types, do we still need BTP-level transfers?
And second, I understand how BTP Subprotocols can be handy, but if we think that such a feature is useful and we allow connectors to rely on it for their operation, then why don't we add it to other link protocols too? It seems a bit surprising that BTP has this extra functionality but ILP-over-HTTP doesn't.
Could we define a version of BTP that is as minimal as it can be, comparable to the current ILP-over-HTTP protocol?
The stated motivation of BTP is to be a link-layer protocol like ILP-over-HTTP but using WebSockets instead of HTTP POST.
I understand BTP has to be more complex than ILP-over-HTTP because it needs to link responses to requests. This justifies the
Request ID
part of BTP, and I guess also theMessage
,Response
andError
message types.But first, what motivates the
Transfer
message type? If we can already do transfers with ILP's message types, do we still need BTP-level transfers?And second, I understand how BTP Subprotocols can be handy, but if we think that such a feature is useful and we allow connectors to rely on it for their operation, then why don't we add it to other link protocols too? It seems a bit surprising that BTP has this extra functionality but ILP-over-HTTP doesn't.
Could we define a version of BTP that is as minimal as it can be, comparable to the current ILP-over-HTTP protocol?