Fluree, Now in JavaScript

Redefine application efficiency with Fluree’s embeddable JavaScript library. Simple but powerful, Fluree’s JavaScript server gets data to the consumer securely and efficiently.

Get started quickly by running Fluree within a ReactJS app:

npx create-react-app my-app --template fluree  
cd my-app

New to Fluree? Get started here.

What is Fluree's JavaScript Library?

We have packaged up a version of Fluree’s query server into a JavaScript file, embeddable and deployable alongside your code as a resident query peer within your application. You can essentially run Fluree as an in-memory data layer that sits directly alongside your code and serves up lightning-quick response times.

  • Build apps that are less buggy with reliable data
  • Leverage real-time data subscriptions with no-fetch code
  • Automatically secure front-end apps (data-centric security)
  • Increase server availability with more resilient CDN
  • Decrease time-to-deploy and save on developer overhead

Build Powerful Full Stack Applications

Secure

Bypass security layers and efficiently deliver trusted data directly to your clients. Fluree’s SmartFunctions protect data permissions as embeddable, co-resident security logic, allowing data to ‘defend itself.’

Efficient

Queries won’t need to leave your app, but can interface point-blank with an in-memory database state. With Fluree-React, you can wrap direct UI components with queries, effectively powering a real-time data-driven front end with no additional overhead.

Scalable

Fluree's edge servers linearly scale to any level of demand. Because query peers are detached from ledger servers, Fluree can act as a CDN (Content Delivery Network) to deliver data with incredible speed.

See How Fluree Fits in Your Application

Connecting an additional query peer server to your Fluree ledger has never been easier, now that it can run as a client-side service worker directly from your JavaScript app. In this pattern, the Fluree Service Worker gives your React app access to your database at in-memory speed, as the ledger will continue to push the latest database state to your embedded query server as new blocks are transacted. Even more, the Fluree React library functions as a state management tool for your React app in the form of a Context Wrapper, provisioning your components with immediate access to query-specific data. If a newly transacted block means a different set of data returned from your registered queries, the relevant component will receive that updated data at in-memory speed, allowing lightning-fast re-renders of your UI as your database state changes.

Regardless of how you are using a NodeJS/Express app—whether it be to power an individual web app or serve as a broader API for other platforms—using the Fluree NodeJS library allows your app to query database state at in-memory speeds without the additional network latency of an external API call. In this pattern, the entire query peer server and its current database state are available through internal API calls to the JavaScript object exported by the Fluree NodeJS Library. Simply import the library at the top of your code, connect it to a running ledger group, and you’re ready to go!

Even without the Fluree JavaScript libraries, it’s still easy to power a React app with Fluree data. Just have your app make HTTP POST requests to Fluree as it would to any external API. Remember that when you run Fluree locally, a query peer server is automatically made available at the default port specified in your config file (e.g. 8080). For more information on this legacy pattern, see our API documentation.

Even without the Fluree JavaScript libraries, it’s still easy to power a NodeJS app with Fluree data. Just have your app make HTTP POST requests to Fluree as it would to any external API. Remember that when you run Fluree locally, a query peer server is automatically made available at the default port specified in your config file (e.g. 8080). For more information on this legacy pattern, see our API documentation.

Modern Tools for Modern Developers

Fluree React

Directly wrap components with queries for functional UI development, powered by React.

Asset 2

GraphQL

Ask for what you need with declarative data fetching via GraphQL.

Node.JS

Build a fully functioning query peer with the Node.JS library and tool.

Fluree Web Worker

Create a local query peer as a service worker within the browser, making trusted data readily available.

Time Travel

Every version of your data available. "Rewind” time to dynamically render screens “as-of” any point in time.

CLI Tool

Terminal-based tool that allows users to verify Fluree ledger files, read consensus state, and more.

Do More With Fluree

All of Fluree’s power, directly at your application’s fingertips.

Immutable Data

Every version of your data recorded, stored, and available — allowing your apps to “lock” in any moment of time for any query and dynamically trace back data through time.Fluree’s blockchain-grade immutability means your applications have access to traceable and trusted data.

Rich, Semantic Graph Query

Stop the endless joins. Ask what SQL or NoSQL simply cannot ask. GraphQL, SPARQL, and JSON-based FlureeQL allow for rich declarative insights across all data sources. Dynamically combine multiple RDF data sources in a single query, and uncover hidden semantic insights.

Data-Centric Permission Access

Embed permission logic directly at the data layer as executable co-resident metadata for a singular and scalable security model. No more API discover layer bloat to manage: automatic and highly custom read filtering allows your apps to focus on a great front-end experience. 

Designed to get you started

Your complete Fluree resource hub

Access our getting started guide, documentation, videos, & tutorials designed to get you up and running with Fluree in no time.

Get Started with Fluree

Fluree Anywhere

Fluree runs on the JVM (Java 8 or later). The .zip file contains a convenient startup shell script to get you started quickly. 

By downloading Fluree, you agree to our license agreement.

Fluree On-Demand

Use Fluree instantly; we’ll handle things under the hood. Enter your email address and we’ll send you an activation link.

Join the Fluree Newsletter

Stay up-to-date on new features, blog posts, and more when you subscribe to the Fluree newsletter.