{"id":13421668,"url":"https://github.com/dbpunk-labs/db3","last_synced_at":"2025-10-05T16:49:36.908Z","repository":{"id":37045098,"uuid":"473865424","full_name":"dbpunk-labs/db3","owner":"dbpunk-labs","description":" a Lightweight, Permanent JSON document database","archived":false,"fork":false,"pushed_at":"2024-06-10T15:47:19.000Z","size":16120,"stargazers_count":346,"open_issues_count":36,"forks_count":44,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-06-21T22:50:13.855Z","etag":null,"topics":["blockchain","database","decentralized","document","ethereum","filecoin","firebase","firebase-database","firestore","json","jsonstorage","layer2","mongodb","rust","web3"],"latest_commit_sha":null,"homepage":"https://docs.db3.network/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dbpunk-labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-25T04:15:34.000Z","updated_at":"2024-08-05T19:34:16.297Z","dependencies_parsed_at":"2024-04-29T06:45:33.282Z","dependency_job_id":"73a45ee6-cc3c-4be2-bd9a-a0d33642a7af","html_url":"https://github.com/dbpunk-labs/db3","commit_stats":null,"previous_names":["db3-teams/db3"],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbpunk-labs%2Fdb3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbpunk-labs%2Fdb3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbpunk-labs%2Fdb3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbpunk-labs%2Fdb3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dbpunk-labs","download_url":"https://codeload.github.com/dbpunk-labs/db3/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312081,"owners_count":20918344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","database","decentralized","document","ethereum","filecoin","firebase","firebase-database","firestore","json","jsonstorage","layer2","mongodb","rust","web3"],"created_at":"2024-07-30T23:00:27.946Z","updated_at":"2025-10-05T16:49:31.842Z","avatar_url":"https://github.com/dbpunk-labs.png","language":"Rust","readme":"\u003cp align=\"center\"\u003e\n \u003cimg width=\"300px\" src=\"./docs/images/db3_logo.svg\" align=\"center\"/\u003e\n\n![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/dbpunk-labs/db3/ci.yml?branch=main\u0026style=flat-square)\n![coverage](https://img.shields.io/codecov/c/github/dbpunk-labs/db3?style=flat-square)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/w/db3-teams/db3?style=flat-square)\n![contribution](https://img.shields.io/github/contributors/dbpunk-labs/db3?style=flat-square)\n![GitHub issues](https://img.shields.io/github/issues/db3-teams/db3?style=flat-square)\n[![GitHub issues by-label](https://img.shields.io/github/issues/dbpunk-labs/db3/good%20first%20issue?style=flat-square)](https://github.com/dbpunk-labs/db3/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/dbpunk-labs/db3?color=green\u0026display_name=tag\u0026label=db3\u0026logo=db3\u0026logoColor=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F102341693%3Fs%3D96%26v%3D4\u0026style=flat-square)[![Twitter Follow](https://img.shields.io/twitter/follow/Db3Network?style=flat-square)](https://twitter.com/Db3Network)\n[![GitPOAP Badge](https://public-api.gitpoap.io/v1/repo/dbpunk-labs/db3/badge)](https://www.gitpoap.io/gh/dbpunk-labs/db3)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord\u0026label)](https://discord.gg/sz3bmZx2uh)\n![Java SDK](https://img.shields.io/maven-central/v/network.db3/sdk)\n![npm](https://img.shields.io/npm/dw/db3.js?style=flat-square)\n\n\n# DB3 Network\n\nDB3 Network is a Lightweight, *Permanent* JSON document database for Web3. It is designed to store and retrieve data for decentralized applications built on blockchain technology. DB3 Network has two core features:\n\n1. Using DB3 Network as a JSON document database. \n2. Periodically rolling up the JSON document to the [Arweave](https://www.arweave.org/) at a very low cost.\n\n# Have a try\n\n\u003cimg width=\"1200\" src=\"./docs/images/986shots_so.jpg\" align=\"center\"\u003e\n\n## Set up self-hosted Node\n\n**1. Start docker container**\n\n```shell\nsudo docker run -p 26639:26639 -p 26619:26619 -p 26629:26629 \\\n                -e ADMIN_ADDR=0xF78c...29679 \\ # use your own wallet address\n                -it ghcr.io/dbpunk-labs/db3:latest \n```\n\nyou should see the following output\n```\nstart store node...\nstart index node...\nthe ar account address e_i_JLA8toEr5HaHCpkZJUIXp3kypCAd5NNAvfWNOgE\nstart ar testnet ...\n10000000000000Start the local db3 nodes successfully\nThe storage node url: http://127.0.0.1:26619\nThe index node url: http://127.0.0.1:26639\nThe console url: http://127.0.0.1:26629\n```\n\n**2. Setup the node**\n\n* open the `http://127.0.0.1:26629/` to setup your node for the first time\n* open the `http://127.0.0.1:26629/database` to create database or collection\n* open the `http://127.0.0.1:26629/node/dashboard` to vist the dashboard\n\n**3. Playground**\n\nopen the `http://127.0.0.1:26629/database` to create database or collection, then go the playgound\n\n```typescript\n// create a account\nconst account = createRandomAccount()\n// create the client\nconst client = createClient('http://127.0.0.1:26619',\n                            'http://127.0.0.1:26639', \n                             account)\n\n// get the collection\n// please replace the database address and collection name with yours\nconst collection = await getCollection(\"0xF7..79\", \"book\", client)\n\n// add a document\nconst {id} = await addDoc(collection, {\n                name:\"The Three-Body Problem\"，\n                author:\"Cixin-Liu\",\n                rate:\"4.8\"} as Book)\n// query the document\nconst resultSet = await queryDoc\u003cBook\u003e(collection, \"/[author=Cixin-Liu]\")\n```\n\nif you have any questions, please feel free to ask us for help and you can find more detail about the example\n* the doc for [createClient](https://docs.db3.network/functions/createClient.html)\n* the doc about [queryDoc](https://docs.db3.network/functions/queryDoc.html)\n\n\n# Try the testnet\n\n## Try the testnet console\n[https://testnet.db3.network/home](https://testnet.db3.network/home)\n\n## Try the sdk\n| Public Chains   |      Testnet      |  Mainnet |\n|----------|:-------------:|:------:|\n| zksync   |data rollup node:`https://zksync.rollup.testnet.db3.network` \u003cbr\u003e data index node:`https://zksync.index.testnet.db3.network`  | :soon: |\n| scroll   |data rollup node:`https://scroll.rollup.testnet.db3.network` \u003cbr\u003e data index node:`https://scroll.index.testnet.db3.network`  | :soon: |\n\n\nYou can connect to the Data Rollup Node and Data Index Node with db3.js\nNote: the cloud sandbox is just for testing and unstable\n\n\n# How it works\n\nThe DB3 Network has two roles:\n\n1. The **Data Rollup Node** accepts write operations, compresses the data, rolls it up to Arweave, and stores the metadata in the smart contract.\n2. The **Data Index Node** synchronizes data from the Data Rollup Node in real-time or recovers the index with metadata in the smart contract and files in Arweave. It serves the index as a queryable API.\n\nTo prevent tampering, every \nJSON document must be signed by its owner. Only the owner can update or delete the JSON document.\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"800px\" src=\"./docs/images/db3_arch.png\"/\u003e\n\n## The Plan to support public chain list \n\n| Public Chains   |      Testnet      |  Mainnet |\n|----------|:-------------:|:------:|\n| Arweave |  :heavy_check_mark: | :heavy_check_mark:|\n| Polygon |   :heavy_check_mark: [Mumbai](https://mumbai.polygonscan.com/address/0xb9709cE5E749b80978182db1bEdfb8c7340039A9) |   :soon: |\n| Zksync | :heavy_check_mark:[testnet](https://goerli.explorer.zksync.io/address/0xB4Ec19674A67dB002fFDeB83e14f9849DA3D1020) |   :soon: |\n| Scroll | :heavy_check_mark: [alpha](https://scroll.l2scan.co/address/0x91B4BB6c2e6F70F93D89B04c049bFB2D36839d9A) |   :soon: |\n| Arbitrum | :soon: |   :soon: |\n| Optimism | :soon: |   :soon: |\n| Linea| :heavy_check_mark: [testnet](https://goerli.lineascan.build/address/0xfFe5128735D2EFC1bFDF2eD18A99D1eD8d096D94) | :soon: |\n\nIf you want us to support the other public chains, just give us an [issue](https://github.com/dbpunk-labs/db3/issues/new?assignees=\u0026labels=enhancement\u0026projects=\u0026template=feature_request.md\u0026title=)\n\n# What can we build with the db3 network?\n\nNow building a fully on-chain application is an easy thing. You can create a fully on-chain game or a fully on-chain social network, or any other application you desire.\n\n# FAQ\n\nQ: Is the DB3 Network a blockchain?\n\nA: No, the DB3 Network is not a blockchain. It is simply a developer tool that can be hosted locally or used through our cloud service.\n\nQ: What are the differences between MongoDB and DB3 Network?\n\nA: MongoDB uses centralized data storage, whereas DB3 Network uses decentralized data storage. Additionally, DB3 Network ensures that data is permanently available.\n\nQ: Will my data be lost if the Data Rollup Node or Data Index Node is not available?\n\nA: No, you can set up your data index node and recover your data from the blockchain.\n\n# License\n\nApache License, Version 2.0\n([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n\n# Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n","funding_links":[],"categories":["Software Development","Databases","Applications","Roadmap","Uncategorized","blockchain","Database","NoSQL Databases"],"sub_categories":["Database","Uncategorized","Security","Peer-to-Peer"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbpunk-labs%2Fdb3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdbpunk-labs%2Fdb3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbpunk-labs%2Fdb3/lists"}