mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-10-07 22:57:07 +00:00
12
README.md
12
README.md
@@ -15,14 +15,12 @@ OrbitDB provides various types of databases for different data models and use ca
|
||||
- **[keyvalue](https://github.com/orbitdb/orbitdb/blob/master/API.md#orbitdbkeyvaluenameaddress)**: a key-value database just like your favourite key-value database.
|
||||
- **[keyvalue-indexed](https://github.com/orbitdb/orbitdb/blob/master/API.md#orbitdbkeyvaluenameaddress)**: key-value data indexed in a Level key-value database.
|
||||
|
||||
All databases are [implemented](https://github.com/orbitdb/orbitdb/tree/main/src/storage/) on top of OrbitDB's [OpLog](https://github.com/orbitdb/orbitdb/tree/amin/src/oplog/), an immutable, cryptographically verifiable, operation-based conflict-free replicated data structure ([CRDT](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type)) for distributed systems. OpLog is formalized in the paper [Merkle-CRDTs](https://arxiv.org/abs/2004.00107). You can also easily extend OrbitDB by [implementing and using a custom data model](https://github.com/orbitdb/orbitdb/blob/main/docs/DATABASES.md#building-a-custom-database) benefitting from the same properties as the default data models provided by the underlying Merkle-CRDTs.
|
||||
All databases are [implemented](https://github.com/orbitdb/orbitdb/tree/main/src/databases/) on top of OrbitDB's [OpLog](https://github.com/orbitdb/orbitdb/tree/main/src/oplog/), an immutable, cryptographically verifiable, operation-based conflict-free replicated data structure ([CRDT](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type)) for distributed systems. OpLog is formalized in the paper [Merkle-CRDTs](https://arxiv.org/abs/2004.00107). You can also easily extend OrbitDB by [implementing and using a custom data model](https://github.com/orbitdb/orbitdb/blob/main/docs/DATABASES.md#building-a-custom-database) benefitting from the same properties as the default data models provided by the underlying Merkle-CRDTs.
|
||||
|
||||
#### Project status & support
|
||||
This is the Javascript implementation and it works both in **Browsers** and **Node.js** with support for Linux, OS X, and Windows.
|
||||
|
||||
***NOTE!*** *[js-ipfs](https://github.com/ipfs/js-ipfs) and related packages are now superseded by IPFS's [Helia](https://github.com/ipfs/helia) project and are no longer being maintained. As part of this migration, OrbitDB will be soon [switching to Helia](https://github.com/ipfs/helia).*
|
||||
|
||||
This is the Javascript implementation and it works both in **Browsers** and **Node.js** with support for Linux, OS X, and Windows. Node version 16 is supported.
|
||||
|
||||
A Go implementation is developed and maintained by the [Berty](https://github.com/berty) project at [berty/go-orbit-db](https://github.com/berty/go-orbit-db).
|
||||
|
||||
## Installation
|
||||
@@ -54,7 +52,7 @@ import { createOrbitDB } from '@orbitdb/core'
|
||||
|
||||
const address = db.address
|
||||
console.log(address)
|
||||
// "/orbitdb/hash"
|
||||
// "/orbitdb/zdpuAkstgbTVGHQmMi5TC84auhJ8rL5qoaNEtXo2d5PHXs2To"
|
||||
// The above address can be used on another peer to open the same database
|
||||
|
||||
// Listen for updates from peers
|
||||
@@ -84,7 +82,7 @@ Use the **[Getting Started](https://github.com/orbitdb/orbitdb/blob/main/docs/GE
|
||||
|
||||
### API
|
||||
|
||||
See [api.orbitdb.org](https://api.orbitdb.org) for the full API documentation.
|
||||
See [https://api.orbitdb.org](https://api.orbitdb.org) for the full API documentation.
|
||||
|
||||
## Development
|
||||
|
||||
@@ -137,7 +135,7 @@ The development of OrbitDB has been sponsored by:
|
||||
* [Maintainer Mountaineer](https://maintainer.io)
|
||||
* [OrbitDB Open Collective](https://opencollective.com/orbitdb)
|
||||
|
||||
If you want to sponsor developers to work on OrbitDB, please reach out to [@haadcode](https://github.com/haadcode).
|
||||
If you want to sponsor developers to work on OrbitDB, please donate to our [OrbitDB Open Collective](https://opencollective.com/orbitdb) or reach out to [@haadcode](https://github.com/haadcode).
|
||||
|
||||
## License
|
||||
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
import path from 'path'
|
||||
import webpack from 'webpack'
|
||||
|
||||
export default (env, argv) => {
|
||||
return {
|
||||
entry: './examples/browser/browser-webpack-example/index.js',
|
||||
output: {
|
||||
filename: '../examples/browser/browser-webpack-example/bundle.js'
|
||||
},
|
||||
target: 'web',
|
||||
devtool: 'none',
|
||||
node: {
|
||||
Buffer: true,
|
||||
mkdirp: 'empty',
|
||||
fs: 'empty'
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
NODE_ENV: JSON.stringify(process.env.NODE_ENV)
|
||||
}
|
||||
})
|
||||
],
|
||||
resolve: {
|
||||
modules: [
|
||||
'node_modules',
|
||||
path.resolve(__dirname, '../node_modules')
|
||||
]
|
||||
},
|
||||
resolveLoader: {
|
||||
modules: [
|
||||
'node_modules',
|
||||
path.resolve(__dirname, '../node_modules')
|
||||
],
|
||||
moduleExtensions: ['-loader']
|
||||
}
|
||||
}
|
||||
}
|
||||
14
package.json
14
package.json
@@ -6,7 +6,7 @@
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/orbitdb/orbit-db"
|
||||
"url": "https://github.com/orbitdb/orbitdb"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
@@ -48,18 +48,12 @@
|
||||
"webpack-cli": "^5.0.1"
|
||||
},
|
||||
"scripts": {
|
||||
"examples:events": "node examples/events.js",
|
||||
"examples:keyvalue": "node examples/keyvalue.js",
|
||||
"examples:browser": "open-cli examples/browser/browser.html",
|
||||
"examples:browser-webpack": "open-cli examples/browser/browser-webpack-example/index.html",
|
||||
"lint:docs": "remark -qf -u validate-links .",
|
||||
"test:all": "npm run test:browser-multiple-tabs && npm run test",
|
||||
"test": "cross-env mocha --config test/.mocharc.json",
|
||||
"test:ci": "cross-env c8 mocha --config test/.mocharc.json",
|
||||
"test:browser": "npm run build:tests && mocha-headless-chrome -t 360000 -f ./test/browser/index.html -a no-sandbox",
|
||||
"test:browser-multiple-tabs": "npm run build:dist && cpy dist/orbitdb.min.js ./test/browser/ --rename=orbitdb.js --flat && cpy node_modules/ipfs/dist/index.min.js ./test/browser --rename=ipfs.js --flat && mocha ./test/browser/concurrent.spec.js",
|
||||
"build": "npm run build:dist && npm run build:debug",
|
||||
"build:examples": "webpack --config conf/webpack.example.config.js",
|
||||
"build:dist": "webpack --config conf/webpack.config.js",
|
||||
"build:debug": "webpack --config conf/webpack.debug.config.js",
|
||||
"build:docs": "jsdoc -c ./conf/jsdoc/jsdoc.json -r src/** -d ./docs/api -R ./docs/jsdoc/README.md",
|
||||
@@ -76,16 +70,10 @@
|
||||
],
|
||||
"ignore": [
|
||||
"out/**",
|
||||
"examples/**",
|
||||
"test/fixtures/**",
|
||||
"test/browser/**"
|
||||
]
|
||||
},
|
||||
"localMaintainers": [
|
||||
"haad <haad@haja.io>",
|
||||
"shamb0t <shams@haja.io>",
|
||||
"hajamark <mark@haja.io>"
|
||||
],
|
||||
"keywords": [
|
||||
"crdt",
|
||||
"merkle-crdt",
|
||||
|
||||
Reference in New Issue
Block a user