p2p、分布式,区块链笔记:基于IPFS实现的数据库orbitdb笔记

orbitdb

特性 说明
特点 无服务器、分布式、p2p
编程语言 JavaScript
对其他语言的支持 A python client for the Orbitdb HTTP APIgo-orbit-db让我们了解一下谁在使用 js-ipfs!
是否为区块链 不是区块链。使用强最终一致性模型,而非强一致性模型。
许可 MIT 软件许可证
支持的数据库类型 事件、文件、键/值、索引键/值
底层分布式数据结构 无冲突复制数据类型 (CRDT)。IPFS pubsub协议自动使各对等方的数据库保持最新。https://www.zxch3n.com/crdt-intro/crdt-intro/

安装

node命令

$ npm init --yes # use npm defaults, you can edit this later
$ npm install @orbitdb/core helia
# 这是老版本的安装方式 $ npm install --save orbit-db ipfs     # --save 选项的作用是将安装的包添加到 package.json 文件的 dependencies 部分。在较新的 npm 版本中(从 npm 5.0.0 开始),--save 选项是默认的
# Helia 是一种精简、模块化和现代的 IPFS TypeScript 实现,适用于多产的 JS 和浏览器环境。https://helia.io/

cdn方式安装

  • OrbitDB 可以使用带有 tag 的分布式 js 文件在浏览器中加载<script>/path/to/orbitdb.min.js</script>
<script src="https://unpkg.com/ipfs@0.55.1/dist/index.min.js"></script>
<script src="https://unpkg.com/orbit-db@0.26.1/dist/orbitdb.min.js"></script>

创建数据库示例代码

安装所需的依赖

npm install helia @orbitdb/core @chainsafe/libp2p-gossipsub @libp2p/identify libp2p

确保 Node.js 支持 ES 模块

  • import 是 ES6(ECMAScript 2015)引入的模块导入语法,用于从一个模块中引入特定的功能、对象或变量。

  • type: "module" 是在 package.json 文件或 HTML 文件中指定 JavaScript 模块的方式。它告诉 JavaScript 引擎这个文件或所有相关文件应该被当作 ES6 模块来处理。

  • 在 Node.js 项目中,可在 package.json 文件中指定 "type": "module",这样就可以在项目中使用 ES6 模块语法(即 importexport,importexport 是 ES6 模块系统的核心,实现在不同的 JavaScript 文件中共享代码。)。

  • 打开 package.json 文件,添加 "type": "module"

{
   
  "name": "my-project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值