Questions about "interactions" in ILP Addresses

In response to a new contribution in the ILP Core Java library, I’m wondering if anyone has an opinion here.

IL-RFC-15 includes a section about “interactions” which uses a ~ character as a separator.

I’m wondering the following:

  1. Is there anything normative about interactions? Put another way, does ~ have any special meaning, or is what’s shown in the RFC just an example of how one might implement something like interactions?

  2. Put another way: could someone represent interactions using - or even _ ?

  3. Per the question above, would the following addresses include valid “interactions”?

    1. g.foo.~ (ends with a ~)
    2. g.foo~foo~bar (more than 1 ~)
    3. g.foo.~.foo
  4. Should this be an invalid ILP valid address: g.~.foo

  5. The RFC indicates that the interactions of this address (~ipr.cdfa5e16-e759-4ba3-88f6-8b9dc83c1868.2) are ~ipr, cdfa5e16-e759-4ba3-88f6-8b9dc83c1868 and 2. However, if the ~ is meant to indicate an interaction, then shouldn’t the interactions instead be: ipr, cdfa5e16-e759-4ba3-88f6-8b9dc83c1868 and 2

  6. If the answer directly above is “no”, then I would assume this would be the preferred way to indicate 3 separate interactions: ~ipr.~cdfa5e16-e759-4ba3-88f6-8b9dc83c1868.~2?

I don’t see much value in mandating or disallowing any particular use of ~, -, or _. The only special character is ., which everyone must have the same understanding of. It’s useful to provide various separators that implementations and higher level protocols can use without lower-level components trying to divine any special meaning from them.

No

Yes

Doesn’t really matter

No

Also don’t think it matters much

Up to the implementations

1 Like

Thanks @emschwartz that’s very helpful!