1 unstable release
0.4.2 | Feb 24, 2024 |
---|
#31 in #document-database
8KB
DB3 Network
DB3 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:
- Using DB3 Network as a JSON document database.
- Periodically rolling up the JSON document to the Arweave at a very low cost.
Have a try

Set up self-hosted Node
1. Start docker container
sudo docker run -p 26639:26639 -p 26619:26619 -p 26629:26629 \
-e ADMIN_ADDR=0xF78c...29679 \ # use your own wallet address
-it ghcr.io/dbpunk-labs/db3:latest
you should see the following output
start store node...
start index node...
the ar account address e_i_JLA8toEr5HaHCpkZJUIXp3kypCAd5NNAvfWNOgE
start ar testnet ...
10000000000000Start the local db3 nodes successfully
The storage node url: http://127.0.0.1:26619
The index node url: http://127.0.0.1:26639
The console url: http://127.0.0.1:26629
2. Setup the node
- open the
http://127.0.0.1:26629/
to setup your node for the first time - open the
http://127.0.0.1:26629/database
to create database or collection - open the
http://127.0.0.1:26629/node/dashboard
to vist the dashboard
3. Playground
open the http://127.0.0.1:26629/database
to create database or collection, then go the playgound
// create a account
const account = createRandomAccount()
// create the client
const client = createClient('http://127.0.0.1:26619',
'http://127.0.0.1:26639',
account)
// get the collection
// please replace the database address and collection name with yours
const collection = await getCollection("0xF7..79", "book", client)
// add a document
const {id} = await addDoc(collection, {
name:"The Three-Body Problem",
author:"Cixin-Liu",
rate:"4.8"} as Book)
// query the document
const resultSet = await queryDoc<Book>(collection, "/[author=Cixin-Liu]")
if you have any questions, please feel free to ask us for help and you can find more detail about the example
- the doc for createClient
- the doc about queryDoc
Try the testnet
Try the testnet console
https://testnet.db3.network/home
Try the sdk
Public Chains | Testnet | Mainnet |
---|---|---|
zksync | data rollup node:https://zksync.rollup.testnet.db3.network data index node: https://zksync.index.testnet.db3.network |
🔜 |
scroll | data rollup node:https://scroll.rollup.testnet.db3.network data index node: https://scroll.index.testnet.db3.network |
🔜 |
You can connect to the Data Rollup Node and Data Index Node with db3.js Note: the cloud sandbox is just for testing and unstable
How it works
The DB3 Network has two roles:
- The Data Rollup Node accepts write operations, compresses the data, rolls it up to Arweave, and stores the metadata in the smart contract.
- 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.
To prevent tampering, every JSON document must be signed by its owner. Only the owner can update or delete the JSON document.
The Plan to support public chain list
Public Chains | Testnet | Mainnet |
---|---|---|
Arweave | ✔️ | ✔️ |
Polygon | ✔️ Mumbai | 🔜 |
Zksync | ✔️testnet | 🔜 |
Scroll | ✔️ alpha | 🔜 |
Arbitrum | 🔜 | 🔜 |
Optimism | 🔜 | 🔜 |
Linea | ✔️ testnet | 🔜 |
If you want us to support the other public chains, just give us an issue
What can we build with the db3 network?
Now 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.
FAQ
Q: Is the DB3 Network a blockchain?
A: 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.
Q: What are the differences between MongoDB and DB3 Network?
A: MongoDB uses centralized data storage, whereas DB3 Network uses decentralized data storage. Additionally, DB3 Network ensures that data is permanently available.
Q: Will my data be lost if the Data Rollup Node or Data Index Node is not available?
A: No, you can set up your data index node and recover your data from the blockchain.
License
Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. See CONTRIBUTING.md.
Dependencies
~6–13MB
~142K SLoC