【问题标题】:IPFSAccessController.save ERROR: Error: Deprecated, use .toString()IPFSAccessController.save 错误:错误:已弃用,使用 .toString()
【发布时间】:2021-11-09 02:51:53
【问题描述】:

我只是想启动应用套件 OrbitDB 的示例,它是:

import OrbitDB from "orbit-db";
import IPFS from "ipfs";

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)

  // Create database instance
  const db = await orbitdb.keyvalue('ipfs_db')
}

main()  

你可以在这里找到它:https://github.com/dappkit/aviondb#using-nodejs

但问题是当我启动它时,我得到了这些错误:

Swarm listening on /ip4/127.0.0.1/tcp/4002/p2p/12D3KooWM7D9NdMhtxyiWiKH4XVpuZW5oDu9MbWxFmEzLsG9UynM
Swarm listening on /ip4/192.168.1.53/tcp/4002/p2p/12D3KooWM7D9NdMhtxyiWiKH4XVpuZW5oDu9MbWxFmEzLsG9UynM
Swarm listening on /ip4/127.0.0.1/tcp/4003/ws/p2p/12D3KooWM7D9NdMhtxyiWiKH4XVpuZW5oDu9MbWxFmEzLsG9UynM
IPFSAccessController.save ERROR: Error: Deprecated, use .toString()
    at CID.get toBaseEncodedString [as toBaseEncodedString] (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/multiformats/cjs/src/cid.js:94:11)
    at Object.writeCbor [as write] (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/aviondb/node_modules/orbit-db-access-controllers/node_modules/orbit-db-io/index.js:62:14)
    at async IPFSAccessController.save (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/aviondb/node_modules/orbit-db-access-controllers/src/ipfs-access-controller.js:46:13)
    at async Function.create (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/aviondb/node_modules/orbit-db-access-controllers/src/access-controllers.js:68:20)
    at async OrbitDB._determineAddress (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/aviondb/node_modules/orbit-db/src/OrbitDB.js:331:37)
(node:8397) UnhandledPromiseRejectionWarning: Error: `undefined` is not supported by the IPLD Data Model and cannot be encoded
    at undefinedEncoder (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/@ipld/dag-cbor/cjs/index.js:47:9)
    at objectToTokens (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/cborg/cjs/lib/encode.js:175:20)
    at Object (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/cborg/cjs/lib/encode.js:149:9)
    at objectToTokens (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/cborg/cjs/lib/encode.js:184:10)
    at Object (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/cborg/cjs/lib/encode.js:149:9)
    at objectToTokens (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/cborg/cjs/lib/encode.js:184:10)
    at encodeCustom (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/cborg/cjs/lib/encode.js:214:18)
    at Object.encode (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/cborg/cjs/lib/encode.js:236:10)
    at Object.encode (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/@ipld/dag-cbor/cjs/index.js:85:41)
    at put (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/ipfs-core/src/components/dag/put.js:35:25)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:8397) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:8397) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

我真的不知道该怎么办,我试图清除缓存,删除node_modulespackage-lock.json,然后执行npm install,但没有任何改变,我得到了同样的错误,你有有什么办法解决这个问题吗?

【问题讨论】:

  • 我今天遇到了完全相同的问题,如果您找到答案,请告诉我们。
  • 我会哈哈! @丹尼尔怀特
  • 你现在使用的js-ipfs是什么版本的?
  • 这里是:ipfs --version : ipfs version 0.9.1
  • 我指的是你通过 npm 安装的 js-ipfs 版本。你可以在package.json找到它

标签: javascript npm ipfs orbitdb


【解决方案1】:

这个错误清楚地表明 IPFS 和 OrbitDB 之间不兼容。

OrbitDB v0.26.1 支持的js-ipfs 的最新版本是0.55.4。 您应该将package.json 中的ipfs(或ipfs-core)版本更改为^0.55.4


注意:The upcoming OrbitDB v0.27, will support the latest IPFS version.

【讨论】:

    猜你喜欢
    • 2012-07-03
    • 2023-04-05
    • 1970-01-01
    • 2023-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多