A modular ILP connector with stand-alone settlement engine and router
Image Credit: Felicia Ray
This is a BETA. There are still TODO's:
- Thorough code review
- CI/CD and some automation around commit checks
- Get/set own address when child
- Update config schemas and/or support old schemas
- HTTP/2 endpoint reconnect logic
- Support unsolicited peer connections
- Pluggable settlement and/or alternative settlement engines
- Synchronous/atomic settlement model (alternative balance rule and settlement engine)
- Exchange rate rules
- Connector control-plane service
- Consider creating mono-repo including endpoints and router
Changes required in other projects that we've worked around for now.
More details coming soon, some major differences from
- Stand-alone routing table and route manager
- Stand-alone settlement engine
- Endpoints replace plugins and are built in for major transports
- Rules and protocols replace middleware and controllers and are instantiated per peer
We designed Rafiki to be modular and therefor easy for work to be done on individual components in isolation. We encourage contributions especially in the form of new rules, protocols or settlement engines.
If you are keen to contribute please look at the issues, especially those labelled 'Good First Issue'.
All source code is expected to be TypeScript and is placed in the
src folder. Tests are put in the
The NPM package will not contain any TypeScript files (
*.ts) but will have typings and source maps.
clean: Cleans the build folder and test output
build: Build the project
lint: Run the linter over the project
test: Run the unit tests and produce a code coverage report
doc: Build the docs