Git Product home page Git Product logo

ledger's Introduction

Formance Ledger test goreportcard discord codecov

Formance Ledger (fka Numary) is a programmable financial ledger that provides a foundation for money-moving applications. The ledger provides atomic multi-postings transactions and is programmable in Numscript, a built-in language dedicated to money movements. It will shine for apps that require a lot of custom, money-moving code, e.g:

  • E-commerce with complex payments flows, payments splitting, such as marketplaces
  • Company-issued currencies systems, e.g. Twitch Bits
  • In-game currencies, inventories and trading systems, e.g. Fortnite V-Bucks
  • Payment gateways using non-standard assets, e.g. learning credits
  • Local currencies and complementary finance

Getting started

Numary works as a standalone binary, the latest of which can be downloaded from the releases page. You can move the binary to any executable path, such as to /usr/local/bin. Installations using brew, apt, yum or docker are also available.

numary server start

# Submit a first transaction
echo "
send [USD/2 599] (
  source = @world
  destination = @payments:001
)

send [USD/2 599] (
  source = @payments:001
  destination = @rides:0234
)

send [USD/2 599] (
  source = @rides:0234
  destination = {
    85/100 to @drivers:042
    15/100 to @platform:fees
  }
)
" > example.num

numary exec quickstart example.num

# Get the balances of drivers:042
curl -X GET http://localhost:3068/quickstart/accounts/drivers:042

# List transactions
curl -X GET http://localhost:3068/quickstart/transactions

Documentation

You can find the complete Numary documentation at docs.numary.com

Dashboard

A simple dashboard is built in the ledger binary, to make it easier to visualize transactions. It can be started with:

numary ui

control-screenshot

Alternatively, you can use the dashboard by heading to control.numary.com which provides a hosted version that can connect to any ledger instance.

Roadmap & Community

We keep an open roadmap of the upcoming releases and features here.

If you need help, want to show us what you built or just hang out and chat about ledgers you are more than welcome on our Discord - looking forward to see you there!

Frame 1 (2)

Quick deploy

Want to give a shot to the latest version? You can easily deploy a test instance with Heroku and the button below:

Deploy

How to contribute

Want to contribute to the project? Please read the CONTRIBUTING.md file.

We are using Task to easily lint or test the project locally. You can install it with:

go install github.com/go-task/task/v3/cmd/task@latest

Then you can run task to run both the linters and the tests. You will find other tasks in the Taskfile.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Alix Bott

πŸ’»

Maxence Maireaux

πŸš‡ πŸ“¦ πŸ’»

Henry Jackson

πŸ’»

Matias Insaurralde

πŸ’» πŸ‘€

David barinas

πŸ’»

David Jimenez

πŸ’»

ClΓ©ment SalaΓΌn

πŸ€”

Karmanyaah Malhotra

πŸ““

Antoine Gelloz

πŸ’»

jdupas22

πŸ’»

Edward Poot

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

ledger's People

Contributors

allcontributors[bot] avatar altitude avatar antoinegelloz avatar azorlogh avatar djimnz avatar edwardmp avatar flemzord avatar gfyrag avatar henry-jackson avatar jdupas22 avatar matiasinsaurralde 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.