我只想啟動應用程式套件OrbitDB的例子,它是:
我只想啟動應用程式套件OrbitDB的例子。
import OrbitDB from "orbit-db"/span>;
import IPFS from "ipfs";
async function main () {
//創建IPFS實體。
const ipfsOptions = { repo : './ipfs', }
const ipfs = await IPFS.create(ipfsOptions)。
//創建OrbitDB實體。
const orbitdb = await OrbitDB.createInstance(ipfs)
//創建資料庫實體。
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監聽/ip4/192.168。 1.53/tcp/4002/p2p/12D3KooWM7D9NdMhtxyiWiKH4XVpuZW5oDu9MbWxFmEzLsG9UynM
Swarm監聽/ip4/127.0。 0.1/tcp/4003/ws/p2p/12D3KooWM7D9NdMhtxyiWiKH4XVpuZW5oDu9MbWxFmEzLsG9UynM
IPFSAccessController.save ERROR: Error: Deprecated, use .toString()
在CID。 get toBaseEncodedString [as toBaseEncodedString] (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/multiformats/cjs/cid. js:94:11)
在Object。 writeCbor [as write] (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/aviondb/node_modules/orbit-db-accesscontrollers/node_modules/orbit-db-io/index。 js:62:14)
在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)
在async Function。 create (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/aviondb/node_modules/orbit-db-access-controllers/src/accesscontrollers。 js:68:20)
在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`不被IPLD Data Model支持,不能被編碼。
在undefinedEncoder (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/@ipld/dag-bor/cjs/index. js:47:9)
在objectToTokens (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/cborg/cjs/lib/encode. js:175:20)
在Object(/home/zar/Etna4/SmartContract/db_ipfs/node_modules/cborg/cjs/lib/encode. js:149:9)
在objectToTokens (/home/zar/Etna4/SmartContractdb_ipfs/node_modules/cborg/cjs/lib/encode. js:184:10)
在Object(/home/zar/Etna4/SmartContract/db_ipfs/node_modules/cborg/cjs/lib/encode. js:149:9)
在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)
在Object。 encode (/home/zar/Etna4/SmartContractdb_ipfs/node_modules/cborg/cjs/lib/encode. js:236:10)
在Object。 encode (/home/zar/Etna4/SmartContractdb_ipfs/node_modules/@ipld/dag-bor/cjs/index. js:85:41)
在put (/home/zar/Etna4/SmartContract/db_ipfs/node_modules/ipfs-core/src/components/dag/put. js:35:25)
(使用 `node --trace-warnings ...`來顯示警告是在哪里產生的)
(node:8397) UnhandledPromiseRejectionWarning: Unhandled承諾被拒絕。這個錯誤是由于在of一個asyncfunction中拋出,但沒有catch塊。或者通過拒絕一個沒有被處理的功能的承諾。 catch()。要在未處理的承諾被拒絕時終止節點行程,請使用CLI標志`-unhandled-rejections=strict`(參見https。 //nodejs. org/api/cli.html#cli_unhandled_rejections_mode)。) (rejection id: 2)
(node:8397) [DEP0018] DeprecationWarning: 未處理的承諾拒絕已被廢棄。在未來,未處理的承諾拒絕將終止Node.js行程具有一個非零退出代碼。
我真的不知道該怎么辦,我試著清除快取,洗掉node_modules和package-lock.json,并做了npm install,但沒有任何改變,我得到了同樣的錯誤,你有什么辦法來解決這個問題?
uj5u.com熱心網友回復:
這個錯誤清楚地指出了IPFS和OrbitDB之間的不兼容性。
OrbitDB v0.26.1所支持的js-ipfs的最新版本是0.55.4。
你應該將ipfs(或ipfs-core)的版本在你的package.json中改為^0.55.4。
注意:即將推出的 OrbitDB v0.27,將支持最新的 IPFS 版本。
。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/319801.html
標籤:
