Skip to content
A modular ILP connector with stand-alone settlement engine and router
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
media
scripts
src
test
.dockerignore feat(Docker): Add docker image support Feb 28, 2019
.gitignore
.npmignore feat: initial commit Feb 13, 2019
Dockerfile
README.md
endpoints.md
package-lock.json
package.json
tsconfig.json Code Review: Part 1 (#6) Mar 8, 2019
tslint.json
typedoc.js

README.md

rafiki

A modular ILP connector with stand-alone settlement engine and router

CircleCI codecov

rafiki

Image Credit: Felicia Ray

This is a BETA. There are still TODO's:

  • Thorough code review 😬
  • Documentation
  • 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

Dependencies:

Changes required in other projects that we've worked around for now.

About

More details coming soon, some major differences from ilp-connector below:

architecture

  • 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

Project

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'.

Folders

All source code is expected to be TypeScript and is placed in the src folder. Tests are put in the test folder.

The NPM package will not contain any TypeScript files (*.ts) but will have typings and source maps.

Scripts

  • 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
You can’t perform that action at this time.