A realtime, decentralized, offline-first, graph database engine
Mark Nadal fa8a03c3ff check & optimize 3 days ago
examples no subtleossl 3 weeks ago
hooks Made the Docker Hub Automated build hook usable offline via 'npm docker' 1 year ago
lib let NodeJS be a browser-like peer 4 days ago
sea I did NOT merge SEA into master! 1 month ago
src let NodeJS be a browser-like peer 4 days ago
test wire mesh! 5 days ago
.dockerignore * Sanitized /examples dependency management 1 year ago
.gitignore Minor modification to support browser storage better in NodeJS/testing 5 months ago
.travis.yml Update .travis.yml 2 weeks ago
CHANGELOG.md Update CHANGELOG.md 3 months ago
Dockerfile Dockerfile use apk nodejs-npm module. 1 month ago
LICENSE.md chore(license): Adding triple license 3 years ago
Procfile test heroku? 3 weeks ago
README.md Update README.md 1 week ago
app.json BasicDocker Button deployment with template app.json file 1 year ago
as.js distributed HTTPS crypto PANIC test 1 month ago
bower.json fix path, map, set, load, load, ws & escape todo + bump 3 years ago
gun.js check & optimize 3 days ago
gun.min.js let NodeJS be a browser-like peer 4 days ago
index.js Massive directory cleanup, more reliable transport 3 years ago
nts.js some quick fixes 8 months ago
package-lock.json update inert deps 1 month ago
package.json check & optimize 3 days ago
sea.js Fixed recall issues. 2 weeks ago


npm Travis FOSSA Status Gitter

GUN is a realtime, distributed, offline-first, graph database engine. Doing 20M+ ops/sec in just ~9KB gzipped.


  • Realtime - You might use socketio for realtime updates, but what happens if you reload the page? GUN solves state synchronization for you, no matter what, on reloads, across all your users, and even on conflicting updates.
  • Distributed - GUN is peer-to-peer by design, meaning you have no centralized database server to maintain or that could crash. This lets you sleep through the night without worrying about database DevOps - we call it "NoDB". From there, you can build decentralized, federated, or centralized apps.
  • Offline-first - GUN works even if your internet or cell reception doesn't. Users can still plug away and save data as normal, and then when the network comes back online GUN will automatically synchronize all the changes and handle any conflicts for you.
  • Graph - Most databases force you to bend over backwards to match their storage constraints. But graphs are different, they let you have any data structure you want. Whether that be traditional tables with relations, document oriented trees, or tons of circular references. You choose.


  • Try the interactive tutorial in the browser (5min ~ average developer).
  • Or npm install gun and run the examples with cd node_modules/gun && npm start (5min ~ average developer).

Note: If you don't have node or npm, read this first. If the npm command line didn't work, you may need to mkdir node_modules first or use sudo.