Practical overview
When it fits
Use Dbfs as a learning or code-study project when exploring blockchain-based file storage in Elixir. Its README explicitly advises against production use.
Who it is for
- Developers studying blockchain internals through an Elixir project.
- Readers exploring how a private, multi-node blockchain might be applied to file storage.
Documented uses
- Explore a simple blockchain-backed approach to distributed file storage.
- Inspect an architecture in which an Elixir backend handles storage and node consensus while a React client provides operations and node statistics.
- Prepare the documented backend, frontend and example node databases for further experimentation.
Requirements & limits
The repository is public and identifies the code as MIT-licensed.
- The project calls itself a very naïve experiment and says it should not be used in production.
- The documented stack uses older, specifically listed dependency versions: Erlang/OTP 20.1, Elixir 1.5.2, PostgreSQL 9.4, Node.js 9.6.1 and Ruby 2.3.3.
- The README says the author does not plan further work on the project.
- File uploads and downloads are described as requiring encryption with a private key.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up the Dbfs backend and web client
Install the documented backend and frontend dependencies and prepare the project components.
Before you start
- Erlang/OTP 20.1
- Elixir 1.5.2
- PostgreSQL 9.4
- Node.js 9.6.1 and Yarn
- Ruby 2.3.3 for Sass
Steps
Clone the Dbfs backend repository, enter its directory, and run
mix deps.getfollowed bymix compile.Clone the separate
dbfs-webfrontend repository and runyarn installin its directory.
Expected outcome
The documented backend dependencies are fetched and compiled, and the frontend dependencies are installed.
Guide limitations
- These steps cover setup only, not starting or validating the application.
- The project is experimental and its README says it should not be used in production.
Prepare the documented node databases
Create and initialize the database instances for the three example nodes.
Before you start
- The Dbfs backend and its documented dependencies
- A
sys.configthat defines the example nodes
Steps
From the backend directory, run
NODE=newyork PRIMARY=1 mix do ecto.create, ecto.migrate, ecto.seedfor the first node.Run
NODE=london PRIMARY=0 mix do ecto.create, ecto.migrate, ecto.seedfor the second node.Run
NODE=singapore PRIMARY=0 mix do ecto.create, ecto.migrate, ecto.seedfor the third node.
Expected outcome
The README's example database instances are created and seeded, with the first node designated to initialize the blockchain database.
Guide limitations
- The README's next stage is to start the backend nodes; this guide does not cover that stage.
- For nodes on separate machines, setup is required on each and the hosts file must map the configured domains to their IP addresses.
- The project is experimental and its README says it should not be used in production.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 18 October 2026
- Original website title
- sheharyarn/dbfs · Official homepage title · retained in its source language

