Erlang API for FoundationDB

Clone this repo:
  1. 1f93752 Add newline to end of file by Jesse Stimpson · 9 months ago main
  2. 11938e1 Fix C prototype declaration to match implementation by Jesse Stimpson · 9 months ago v1.3.6
  3. 46af08f Install FDB synchronously by Adam Kocoloski · 2 years, 5 months ago v1.3.5
  4. 651631d Fix issues caused by breakage by Adam Kocoloski · 2 years, 5 months ago
  5. 20ae851 Update URL for FDB packages by Adam Kocoloski · 2 years, 5 months ago

An Erlang Binding to FoundationDB


This project is a NIF wrapper for the FoundationDB C API. Documentation on the main API can be found here.

This project also provides a conforming implementation of the Tuple and Directory layers.


Assuming you have installed the FoundationDB C API library, building erlfdb is as simple as:

$ make

Alternatively, adding erlfdb as a rebar dependency should Just Work ®.

Documentation for installing FoundationDB can be found here for macOS or here for Linux.

Quick Example

A simple example showing how to open a database and read and write keys:

Eshell V9.3.3.6 (abort with ^G) 1> Db = erlfdb:open(<<"/usr/local/etc/foundationdb/fdb.cluster">>). {erlfdb_database,#Ref<0.2859661758.3941466120.85406>} 2> ok = erlfdb:set(Db, <<"foo">>, <<"bar">>). ok 3> erlfdb:get(Db, <<"foo">>). <<"bar">> 4> erlfdb:get(Db, <<"bar">>). not_found

Binding Tester

FoundationDB has a custom binding tester that can be used to test whether changes have broken compatibility. See the BINDING_TESTER documentation for instructions on building and running that system.