ilp-local-network
This program allows you to specify a topology to create a local ILP network. Payments can then be sent across clients on the network. The purpose of this is to have an easy way to test new ledger plugins on a local network.
ILP local testnet topology
+-------------------+
| |
1 XRP | ilsp | 1 ETH
+-----------| +----------+
| +-------------------+ |
| |
+--------+--------+ +-----------------+
| | | |
| xrpTier2 | | ethTier2 |
| | | |
+--------+--------+ +--------+--------+
| |
+-----+-----+ +-----+-----+
| | | |
| STREAM | | STREAM |
| client | | client |
| | | |
+-----------+ +-----------+
The topology above is defined by the options below. Refer to example.js
as a
starting point.
{
ilsp: {
ilpAddress: 'test.ilsp',
xrpChildren: await xrpAsymServer(ports[0]),
ethChildren: await ethAsymServer(ports[1]),
clientInfo: [0, null] // tier-1 accepts no direct clients, just tier-2 connectors
},
xrpTier2: {
xrpUpstream: await xrpAsymClient(ports[0], 'xrpTier2', 'xrpSecretB'),
xrpLocal: miniAccounts(ports[2], 'XRP', 6),
clientInfo: [1, ports[2]]
},
ethTier2: {
ethUpstream: await ethAsymClient(ports[1], 'ethTier2', 'ethSecretC'),
ethLocal: miniAccounts(ports[3], 'ETH', 9),
clientInfo: [1, ports[3]]
},
...
}