I’ve been exploring the Rust implementation of ILP.
The Accounts abstraction seems to handle a lot of functionality. Accounts can track the owner of a node, other connectors that are peers of node, or users (customers) connected to the node. This brings me to a couple questions:
Who writes the users account to the node? If it’s some sort of wallet, will that wallet need to run an ILP node?
Good question. You’re right that a lot in interledger.rs is based around the Account model.
Right now, the node admin needs to add users’ Accounts with a POST to the /accounts HTTP API endpoint. While that is fine for two nodes who are explicitly peering with one another, it’s a bit of a laborious process.
In the future, we may add functionality for “auto-peering” or “easy peering”, which would make the Account creation process more automatic. For the status of that feature set, see Auto-Peering, Easy Peering, and Open Signup.
So the node admin writes users’ Accounts using a POST request. Then should there be some sort of authorization added to the request body? Or are connectors allowed to write Accounts on other peers.
Considering this, it’s probably useful for some user facing service on ILP to run nodes and peer with a good variety of connectors.