区块链去中心化分散式Web的对等数据库:orbitdb


OrbitDB是无服务器的分布式对等数据库。OrbitDB使用IPFS作为其数据存储,并使用IPFS Pubsub自动将数据库与对等方同步。它是最终一致的数据库,使用CRDT进行无冲突的数据库合并,使OrbitDB成为去中心化应用程序(dApps)、区块链应用程序和离线优先Web应用程序的绝佳选择。
可以在本《入门指南》中阅读有关如何入门的信息
OrbitDB是一个对等数据库,这意味着每个对等都有自己的特定数据库实例。在对等方之间自动复制数据库,从而在从任何对等方进行更新时产生数据库的最新视图。也就是说,数据库被拉到客户端。
这意味着每个应用程序都包含他们正在使用的完整数据库。与客户机/服务器模型相比,这反过来改变了数据模型,在客户机/服务器模型中,通常所有条目都有一个大数据库:在OrbitDB中,应根据数据的访问权限对数据进行存储,“分区”或“分片”。例如,在类似Twitter的应用程序中,tweet不会保存在数百万用户同时写入的全局“ tweets”数据库中,而是每个用户都有自己的tweet数据库。为了关注用户,对等方将订阅用户的供稿,即复制其提要数据库。
OrbitDB和IPFS都可以在Node.js应用程序以及浏览器应用程序中工作。
 
从npm安装orbit-dbipfs

npm install orbit-db ipfs

在程序中需要OrbitDB和IPFS并创建实例:
const IPFS = require('ipfs')
const OrbitDB = require('orbit-db')

async function main () {
  // Create IPFS instance
  const ipfsOptions = { repo : './ipfs', }
  const ipfs = await IPFS.create(ipfsOptions)

  // Create OrbitDB instance
  const orbitdb = await OrbitDB.createInstance(ipfs)
  }

main()

orbitdb 现在是我们可以用来与数据库进行交互的OrbitDB实例。
更多见:Github入门的信息