Code Monkey home page Code Monkey logo

rafiki's Introduction

Rafiki

Rafiki

What is Rafiki?

Rafiki is open source software that allows an Account Servicing Entity to enable Interledger functionality on its users' accounts.

This includes

  • sending and receiving payments (via SPSP and Open Payments)
  • allowing third-party access to initiate payments and view transaction data (via Open Payments)

❗ Rafiki is intended to be run by Account Servicing Entities only and should not be used in production by non-regulated entities.

Rafiki is made up of several components, including an Interledger connector, a high-throughput accounting database called TigerBeetle, and several APIs:

Additionally, this package also includes a reference implementation of a GNAP authorization server, which handles the access control for the Open Payments API. For more information on the architecture, check out the Architecture documentation.

New to Interledger?

Never heard of Interledger before? Or would you like to learn more? Here are some excellent places to start:

Contributing

Please read the contribution guidelines before submitting contributions. All contributions must adhere to our code of conduct.

Planning Calls

Our planning calls are open to our community. We have them every Tuesday at 14:30 GMT, via Google Meet.

Google Meet joining info

Video call link: https://meet.google.com/sms-fwny-ezc

Or dial: ‪(GB) +44 20 3956 0467‬ PIN: ‪140 111 239‬#

More phone numbers: https://tel.meet/sms-fwny-ezc?pin=5321780226087

Add to Google Calendar

Local Development Environment

Prerequisites

Environment Setup

# install node 18
nvm install lts/hydrogen
nvm use lts/hydrogen

# install pnpm
corepack enable

# if moving from yarn run
pnpm clean

# install dependencies
pnpm i

Local Development

The Rafiki local environment is the best way to explore Rafiki locally. The localenv directory contains instructions for setting up a local playground. Please refer to the README for each individual package for more details.

Useful commands

# build all the packages in the repo:
pnpm -r build

# build specific package (e.g. backend):
pnpm --filter backend build

# generate types from specific package GraphQL schema:
pnpm --filter backend generate

# run individual tests (e.g. backend)
pnpm --filter backend test

# run all tests
pnpm -r --workspace-concurrency=1 test

# format and lint code:
pnpm format

# check lint and formatting
pnpm checks

# verify code formatting:
pnpm check:format

# verify lint
pnpm check:lint

rafiki's People

Contributors

renovate[bot] avatar wilsonianb avatar sabineschaller avatar mkurapov avatar njlie avatar cairin avatar raducristianpopa avatar rluckom-coil avatar traviscrist avatar sentientwaffle avatar blaircurrey avatar alexlakatos avatar omertoast avatar joblerstune avatar donchangfoot avatar huijing avatar matdehaast avatar sublimator avatar dclipp avatar barnarddt avatar dragosp1011 avatar rico191013 avatar cioraz avatar melissahenderson avatar beniaminmunteanu avatar kit-t avatar jpsousa78 avatar sirlaughalot90 avatar tymmmy avatar shubham2503 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.