{"_id":"ipfs-core","_rev":"282-b5fbaca46f9ac48f1fca54c61912c748","name":"ipfs-core","dist-tags":{"latest":"0.18.1","next":"0.18.0-7b79c1b8"},"versions":{"0.0.0":{"name":"ipfs-core","version":"0.0.0","description":"","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":"","license":"ISC","_id":"ipfs-core@0.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.1","dist":{"integrity":"sha512-8tvFvqbg+8fn1mv9iXy0RW+9FRFhwxPkJcSkimC/HViN0Ik7+U8yWnkHsaPeCz9F/TTbDzlQRSNSGPFV1GI/Yg==","shasum":"5a277d52248fab89af1010acd035c0d6f494d3a9","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.0.tgz","fileCount":1,"unpackedSize":205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevSCGCRA9TVsSAnZWagAAfvQP/1aLvc1M42MRSCGqegX7\nJonl2o30piMnNFgnK5boNMsT4hnUkDbDHBfJJ9h6I8gPHotMPI13kliEN4/D\nc+vWd8RH5F1E27c2+qDrwhFv5Hs4V+PySkoPxbxYzOaPJEfsBE14wVYG3GIG\nbYMDMnQLf/oc7I8CDtCYMXcr9Tf1/pf/Y0nkDGUpPF0QfdYRUc5+U3POWAO8\n50Zllu8lf9z8RbxwWzvQlSwWRVogwzZ5oV37Ws5q7EEvtxc2El9yJMKp36JD\nLiTUDZvCyd+Kg0zzo6kzBc9t81XFLjsIYwiNtBe3H7onOaAzbR4mg7dBxVYy\nrfjri2EO3E5RMANH+pfIXlG4HcPcDedvKrHZhkkZ2m5GiRYHDA756rCd8Ls7\n6tXuSoaLOSAavqEzCoAgHHTHEeDeSvo6XEBThpPGqJAVv3iS/7hnSb3FxHZJ\nua6xCleiix1wrU+qkWbNLgOr3DZsUmGCKXAlArUfyApdnX+Pu1LRX9HDrI+U\newr0tUr5EMwatQY34cF6B9gZG9rs56b/rAjHMEpWo/wu49MOxNFf1/VTBktd\npw2vKxpYyj+m7svUHj5tyHYg6DvYS5aTFKrh70nheg57Kk+xVW5lDnDjaGhT\nyG4X6gvuSYLw5DjKABcAfA4yuPpYwvCa2DEIZs8kcBy5kLD8RkXcisG4Dk4u\nC5EY\r\n=vFgf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDv8tZZ5gnbgnD96jnzCnw1Mg6x51Np5AiOuc1Z0h7whAIhAPzxylMYwUSvy+vzTngZH4hFg7HTllkF6xzclcNler/f"}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.0_1589452933617_0.5317499063761009"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5874":{"name":"ipfs-core","version":"0.0.2-rc.5874","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"abort-controller":"^3.0.0","any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.43+988fd211","ipfs-http-client":"^47.0.2-rc.9+988fd211","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^3.0.0","ipld":"^0.27.1","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^26.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.43+988fd211","ipfsd-ctl":"^7.0.0","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"988fd21191886b9614b97cfec1bce53cc8a83aeb","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5874","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (linux)","dist":{"integrity":"sha512-7Py5AuXIjAcUALlbnIxmNrhtriuO5PwrBAQPZdMlJXrQbSE2Ns7xh8BaBZtlxNjpmB7KCrOuooE33zZu8uKu2w==","shasum":"9c8702d6a79261078a1ad5db0322b04e0ce2e88e","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5874.tgz","fileCount":148,"unpackedSize":279377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffEtNCRA9TVsSAnZWagAABR8QAJ3wlP83v+dcXFb4YBYB\nAEkG3fZfwQWeSgBS5D1gP68qGWTTjmPM95d4ziRNMvvWnigwBr9iden3wvZC\ntlx1RhJZuMraZ/dYeL7oWPIal1+IKEtFKPwG8ifbR/e/smskA0naIB8wyAd4\nVvQP/W/bLoR8cCZ1Za6eY+td1xL5B+PBXf5jsjsal4sLIRZMhpZm8iy3apwc\nytOVa6MjOQeD6QR5fwDabMSyyvFEKliZnEYondosrp22m8c2i18vDMclmkiZ\nThPF5nTIo4CgOvcVNY6OD8uU6/Pq734MUdbW21apkB5YOuECwGYmqhuNnK8Q\nnidFDfBDbwo1/YZK3dqi1mPwg9t0lrEV43/BLTUiIVI8XQYyPsq/VXl3d95A\n+CoGdRoIdxlcPcuBvWx5nYIIVjJ+/0+1uPab3hW/cuZL1QZQxrcxZIa2Rp2u\nYRI1erfImmh3bHtrIhtLHvCXs92XlbP9J0t2epFCr365+fbu2mnp4f2drx88\nd0cQ4oW+XNg0oV0BEQgeA/DV28nBg7XsceN6iD9mnnaBkG4pGTI+DRL1ewYy\niKuQrDaU8wNlCWB9R2mc/VqDdrntsnFkPbGIR8V6leAEXNquYtM5aZACkLOP\nhm/sQrLgkxL4zHwkiZKbqGWSu3cZVYpKATVX0lUy05MBMAfFRgCe4Tx19vT/\nGBvp\r\n=yCq8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCA/X4eCWHUmf4h3KSUhS/g7sxbQI7tgT9oZ1PI5/5imQIhALcSXu78sXMu0WQ63ij2Yhnl13IZTGOBRN5QGmNaV6lt"}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5874_1601981261450_0.8477826783964078"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5875":{"name":"ipfs-core","version":"0.0.2-rc.5875","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"abort-controller":"^3.0.0","any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.44+2d17bba7","ipfs-http-client":"^47.0.2-rc.10+2d17bba7","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^3.0.0","ipld":"^0.27.1","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^27.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.44+2d17bba7","ipfsd-ctl":"^7.0.0","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"2d17bba7136c0a517d2de208ca917b9112d70619","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5875","_nodeVersion":"12.18.4","_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (linux)","dist":{"integrity":"sha512-JGuazwiHLjIqK4m6nMHgpGgDHCGXlGZjNsFAQSnYukqkqwE29B7k0JxsY7gHh0X7iOzVheHEdpyspnfdeiNuVA==","shasum":"ae4c6b5ab0e3dbf6e15c750b9a998246f68f7c3a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5875.tgz","fileCount":148,"unpackedSize":278538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffGZoCRA9TVsSAnZWagAAteUQAKKR6hB8Q/lyyFN1ERu4\nmaULUtw0M2CLAFihU0Ap1tSgqo2dMZr4TBb2oci/xHRn3kO441jgmGlkINce\n2Jbp7/oH2O1Lfax6dwBrGIE//S0AKdrGJYq8elUtiZrbOKDbvAn7Euh5xDGB\ngeV6ODSwyRojyNsVr+4WjJ9HPIeNLShmOi/hvE70qbMd1MKRcnAizgTNuD3B\n55RWg5NUnmhhPiiEikXy7KPiuAeCB8/3ktYvPk3cmMVeOdQbwXIPov5wxGHT\n3L0VbOrTdCNJ/9Go2DQXEZs9BWqzC6naAVK0PvyUtrQUy1cZBHATm5950h7f\ne8q1E+niXkUg1j9aAdgW6oxCdElMHidVIy0TqVLSeoT/AdLC+9w6AGGa12NP\n7bsOO3G1nrbojH36MRxvVAuofNmiwhK60ErQtwgdVE35fhhHE0nMPo9Il/Zr\n1Oo5nf3AsGQa7bJ7M+YkJoclvl5wefbNBoNNfTx/QrVWlUAUOjAJTi29TIuZ\nzYoze/Ja3NU0KUZhcS8nO9ienct18WkcJCY4Oiels0o0bffTChKEs+xOB/Cc\nROMH5s/nFk8tt4p2hexGZ9By4Onq9T//iBfZsReZP7hJFKKX+UBH0zseAqB8\niB6Ln/lqEVRSTxyd50REpLRvr10Jc5Io8bOVqQrTlIPn2RxHElEW8TWV66/m\nO+T1\r\n=ER53\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtXVO6hRV+Rn4MxncxzaaVZRKk0N0rlFIlMzX6xBromwIhAN4fKsQ+BG2mgJCrD4CpgW8rxH3/vrzxI7QJW9jq35k1"}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5875_1601988199934_0.715909083047807"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5876":{"name":"ipfs-core","version":"0.0.2-rc.5876","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"abort-controller":"^3.0.0","any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.45+381d54a5","ipfs-http-client":"^47.0.2-rc.11+381d54a5","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^3.0.0","ipld":"^0.27.1","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^27.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.45+381d54a5","ipfsd-ctl":"^7.0.0","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"381d54a50a855b3f6c408d3ae8f1e3e5f9546598","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5876","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-sLBPD3DZwctXbScyek/T4E0fNIn6hpkGdxMG36Ua/aUIKntYBsrn7FuyngQjjqHQDLxP7wTQVG4gs/gARVjn9A==","shasum":"eac3e818443e5777b7a0c3266d2254bd2d2cb077","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5876.tgz","fileCount":148,"unpackedSize":278538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgW1+CRA9TVsSAnZWagAArSQQAI/kK2/0pG9WexTRcJb+\n1LsDtHs8QZatix5AVjgJ1/Y0z1P10J5/DnOpb5L9WdEVADc7TGChgX8MNdd+\nktI9suucDxLDTsF0tzzjvZnVJuIO7rzXC01A9+gbGvEnoNfM6shywhclVgCA\nJc6rTkfZCzR0yxPXWLB5I8BATmAnWDcpYpbJWHsB4RWVDixVveoWK377JMjv\naH+HqNwvDe6jNT4JkYYYYSIdK4ToBBP/JNblurNTEoVWkieykfLctz2Nx+p4\nAQjuv/VpcLWweSxIXkdMZpt4y8vseeY/hWBRhFd9XxWnbWtX3LOpuIVVlOPJ\nOjZMa2hhq+//2AoZZ39kwQsAtQCIm5Z6NYhzD4tudYcn7LgWedaFeJ0Rz/z8\nuRAqUkGim6qtEuD2FedP+kkWGMCmbAqtz1JMDF6+GuULPl2fbl+zReAPN3jl\nkccIRq+ysYDu5zawgI6mMk5BGb9hc9TWfvaQz/Yvw8whcCYiymIePb5Boxr3\nRssHtmNCuUQ4P5rm59S+JGD0T/XwR1epST+f0LnNoG6lobpRdgviL9p82wtB\nrf82TqyisAVmFl6zzaSqeXoqyx3ZBIpCWlrbEYDLS61p4vIlykK9lTXtE7H2\nADl6kPyB/5v2/CV2P/eWVSCQsfMAeC3l8pTB7rBIBpdZx2Tp7YG/MStBXKCE\nxrqD\r\n=9S2n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgfDxANWcjHW2MOSN4DJt6lRvNGPFng36ruhcGSexW6wIhAOQXKAhQd1uM3Q6mRQ3roXI9KqiO+NHtzqhy2ZdlqoTZ"}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5876_1602317694037_0.8914380431415694"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5877":{"name":"ipfs-core","version":"0.0.2-rc.5877","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.46+0613d79e","ipfs-http-client":"^47.0.2-rc.12+0613d79e","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.1","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^27.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.46+0613d79e","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"0613d79e3c4dd088d32de823e89099e81eef7333","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5877","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-CZv46zh1QXSY6K8/Y7zqQRCJWQERyoSRg/TKRvcwHUGgwfsHHGxWJe6LSYeZ7znEa/3itdN52cKaak2q/dib6A==","shasum":"8c1f1c833c3c4176d79c1cef11036cdaa1ea87e1","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5877.tgz","fileCount":148,"unpackedSize":278544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgYk8CRA9TVsSAnZWagAAR7sP/1f8D+EuXgXSxcB5fCHI\n1eJL14Sz4VWQ2RkJA8dYZLrDgqvvaJeekH6Ypy6VlJMB1okGj8NZWZt8hXiG\nZMnTH9p3DYYRkGYyR3Ov1iz5YeZ+jZ4N7ss5KyttLqdvTthyRqfYl5U8ny67\nQ01rhTJKwlU/kzcs6eGI+RmdCKwdi+ONH2S6EIh2HtrD96on4tHb8IMvgMuV\n3Bba7atzhLpPpmft+IPc0f/o4NA3uDETcsEVnmgkZa+0vf34QXh8xFVFOEL0\nrMaJ7AHTm6n2vsUrdREDXomH43T9znrZmQ6OiZa5IsXLVZkm251G8RWWqfDW\n0JmplLOecy45q+uTCtsHkPrz5rTEEZ2ZN0f+IZMHV11gzWO9H82RKiWoylUN\nYNsGOupvk8r2v1A+PRGFNe1rHyRaC4V7mUU0UF43S/RxVV2vvWkGFORalbZz\nSYNdKt53ONho6YtNwaJhstoZUtfEJvamxO5RxsXsZRvmkKEix2TNyI/D2+3A\nJrAenCkHcnECXSleiIxoH6qverfoj1hUev36qZSuLTkCCaEbld6jmAombK/e\niWIzrodDNXA4H//JoH6cWy1rCp5biLeHsUeu43pZ5HaYv47qRSH9IfJccKaQ\negIM9MJ6v89z9dOR+qUxf7y4bJpDCzn/h7KcCFYYnbO3Nr1ewSn6mSeAVe02\nKrSA\r\n=VDv8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTo13KE1PV6j9Vtj9Z6L5BwNCRT3DLrA5LNB/MQiOo0AIhAMOs5r9sIC4k/Nk9bipvRZgUd/0id8SlQdeGBxhtfhgc"}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5877_1602324796027_0.8824917550870144"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5879":{"name":"ipfs-core","version":"0.0.2-rc.5879","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.48+8afb88e5","ipfs-http-client":"^47.0.2-rc.14+8afb88e5","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.1","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^27.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.48+8afb88e5","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"8afb88e5ea3b0678af1aaa633f0eca6156b2130d","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5879","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-+Wy3lCpir00CcpkcDLJ/xRgU6IybEnEitFYwG8dcfE4xwioBPGXQbFUQJ0HwfSQh0nrvrYJxB+2LiUDXbHvSmw==","shasum":"3770ffced60df30ef95aa297ae246fab49bafd4f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5879.tgz","fileCount":148,"unpackedSize":278544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiG6rCRA9TVsSAnZWagAACScP/RmY4IdBODMLDA4/XJD4\nWiW2a+ZnemNuJYmLE7kT+SAEOAskLxvhFe6nIt9KL9X9xL118wYG8Y4KkBKu\nB6ViRYWCOk3Zc8fzAsVpbj0+wNBsz76RhU+8Tezet2AzSId1ezCZaGmX+qUn\n6pY3PWoCeHrRb6VzH+rJd8tq1wusHOBP2k2GLATMrLyOsm8JAeGKUxWQ19vT\nStCRnbZVtVx46BOmyWsL+0zAKhkEfE7OZ0RHmWGdDgnTtyy+CP5I70X50k72\nkiT2H6wyi58sxQJi/BoPR7gBRu3p2bKDdAhOd9L4g5vADd5V4MKDMc1bZymm\nvE6oyvR5l/7ozdKb5hND43TloPonV0lmJlNCAK7i/exp9fALDuB3LNnjvP7z\neelYHD5FU3Wd/F4cZEBruZ+TGo5E37OyStfOvrlNWwEktuPGpFQvI5sT99oV\nymBHdO3/1LpvU3/tUiMOfT7DJo9k8pDMPRNDusmGdU8AqUQplnAr6S7Q+0id\ngDvvqyILBHOnmrCKZyeCva+YdQw5kDLO9VuG4rQJBAGJKt7HX5KKBpgWfq7O\nPHJuT0VRdQO/znNg19S6A05+LCnb80IrHqAwN82SPAnS7cyi01TGDRjTBCCp\nmcon5X8XB9yNY97N8lW6gSM4rgIKfbIo84VMPDBoY4AlF0o5cnwz8tnYeGjI\n981H\r\n=GVUv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICtdVdmDfA3LRu2qLMhPyswgEG/tBC88OcOpoK1tZE5rAiEA4XZPU9BwghJNqVgehXELtklV18BpNyGQi77Ypg+2kgM="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5879_1602776746631_0.7950489187015264"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5880":{"name":"ipfs-core","version":"0.0.2-rc.5880","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.49+b579b3f7","ipfs-http-client":"^47.0.2-rc.15+b579b3f7","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.1","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^27.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.49+b579b3f7","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"b579b3f742cd07f8461a74e1f8a08eedf1ee6503","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5880","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-iZhuFbnzyb7z8biaZok/UvwyE79t+rlIsLnvl5p3g2xH/73f9/Tpymt2M2SgLLn3NWt8PvFgswjyc7y7oy537g==","shasum":"3542551feb9fec54a19c180338c1f920ed94524f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5880.tgz","fileCount":148,"unpackedSize":278544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiHLwCRA9TVsSAnZWagAAsM0P/jhEWbzv8rR3AwqeEPS5\nRiPhVS+FFr1xvEaAEL1b/2bxvlr1YH09ldvxjaFB65KWquJivAkZP1Gm4+ED\nbnQotCjaVIv61LgZuRV1mbsTgbxZ4J7NGp1HH9R1ijW+FoxjScNsZ2Ed4F0g\nsg/t0SbyYW6aCr7/xtnBb/h31lAGvbgnL7pzLNpGg/MJUorTmlQPDNlmCYJP\npYgV7ZuAgv6ovRLrCFshEz0MS6Oa/y+y0qaF+IZYpNKJ4S5zpDwVTud8PvHj\nmX6c5V5TiabG+U8tRvFpI/UYAqnubrWYF38TCpW+8bbvSwdXZGAtKGTYzTCq\nk7kp7h2h5cuH//1dB4IWCCO5weW5h5dvzyaL3aEhpt3Ai5KtbsPrbO4UcnEt\naB016h+5Du/44qGKxlyOBHDe9YBYQpx426oUv719VRnWjLD4aV3ZJts0DrjV\nlK3RoJj0F+zu+W6/DpBI1fC0ODdm/qJFkRnM6fRKp1bnUqu/qVQHNaufqK78\nVA+tNr7lHjqmJCTKj1kjIikVNenlrFT5OIwqHQC+b4U+MlLal5VwG+u1zVMr\npkArijqM/VFpvrvYMX6Uxp/4eX+YAUKq9QedMqa9lhQTpFu5HVCiaay1Uu00\nkiCtv0dbUO40cpK+bklG4CKbFyH+81oKJLFgSO+PoekSdXVOy5ZbSQiaNDqu\nHhZk\r\n=EgV0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEz4uPLW5henGzfdAEZpuiCQn7Xbqdu38BcpcukNBrC+AiEA6EU4eF8tq/emYQY9cORw+1B/kVMAVc5W0FAvqRV0vOc="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5880_1602777839457_0.7778266892478956"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5881":{"name":"ipfs-core","version":"0.0.2-rc.5881","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.50+c53491cd","ipfs-http-client":"^47.0.2-rc.16+c53491cd","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.1","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^27.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.50+c53491cd","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"c53491cd5fb075025f2bb995a8298b56e0ad0865","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5881","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-V0wSg0xEx5nhrLaKPv8d+AXIkYJuCelDvAInYVzr9UpbscUT3YpVqoo6Wh/yjkgQCg2iY81TT1m6jQWR1vzBrg==","shasum":"2d795e1227b923f32dbc64abdcfc7d32c517bf57","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5881.tgz","fileCount":148,"unpackedSize":278544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkGXoCRA9TVsSAnZWagAAGp4QAIFHvDpB/3MAZ2XoHdhn\n/PlsroLBqLE0qg75N0juiIUwM+/cVLptT2SPtpxaLMilrNEqgC0pS84nZqP1\nXKygfDW0pVH8iSwEyYjcQXsSbk69RQY0pRJS9xobH6v/+ybbuv1irKlq+nKl\n1lCfYVbz9SnTfVpDFpmFSWbpZcLuGqODxTpGw6W3hPzU4d73U2IIdyXt8h27\nu4ERNtNSMysxBS1zhhD/vHn+TMVnlfPBYunnP+4qbZNx/V1ECwohOcqSTaSf\nXAmINdC52/oeULv7U+pWeV0Q1DLaAAE8GWBIcD3n8I2SD3biN3C+lsWi27Je\nGJ1kHPEHFAt1mK9mTtKYmekxfbpxH4J8n4JT15793h2Ro/PozmmLhuOT5C+R\nP2zHdY4y7enfSW7ZtGq80FRDcYBB7y71vkzpameWnN4F6H1K137c9+PlhP8S\nw35UNm1FRE3E1+oF3khP+f3Oxd9E/AbcrqqcxQUPv+j3HAgq7PW7vY90FoU9\nKF80jK3gH8IekfHQxTdvcgRw7dNr/iAGm+QyVt4+Y25h8WKDBiSF12UXP+Wq\nhSdA6nbRvTcr59M0Hd2WyizrUWk750/HeZbAiaYN6nikWPXmbWzJs65R+Zns\ntEtX9TtJ5PvaT//puXF/0ZkIXV94kjaN1xmSuWQ5dwaHNBxfqlY0sQEiXwS3\ndSiQ\r\n=9bix\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEv8lbCpB+0M06Xnz7IYUsDjJtxJy+Sk5w8ltR8bICAAiEAi4jQLuAni4PvoxHRCGM4wYVUvYrztLND9dOwCO3g74c="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5881_1603298792453_0.25123884458642287"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5887":{"name":"ipfs-core","version":"0.0.2-rc.5887","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.56+a00bb678","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.1","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.56+a00bb678","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"a00bb678f58a07194ecd130edcc8c1c7148e60b2","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5887","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-3rwBkcNq7e1oZEvjMGie96ui1+2Umlw/SmvznZgwG4rRg7A6fVYnoLICxfr1xDccbMOx23ctY1MkK58ernNw6A==","shasum":"1c188f2de6f3c309c7ec488a2031fefa4724a854","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5887.tgz","fileCount":427,"unpackedSize":2594223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkZGRCRA9TVsSAnZWagAAy+sP/0SSZGZXoI0fyj10SuEk\nV79kmizC165DfsUhr+Vht5bsDRZDqON6MTVxSJ5kk6JVmW5B09Ckh65PU7nU\n9xv2v/AL/R+LOOGwYrRoy8NAin4J/YXCYe9riXeBjl3Jm/jFqbUEhdW91xl/\nY+QSJzIu7iYA9meS2uFNrjei4FR27LMHd4jzc4rygNYpR7A+h1P/XWasipYg\nkSz0C2rn3l43lNEY8o99LdL8pt/iVrkdgukWJbH+5IGWImLWm0Uxa1NHLMX6\nCBTCdYsZo00DUi9BPid2oGajgRUf+vdwsrxyFVRZpIGuOc2DmQDL3pEp3C7t\nHF2+2aVuxgEutPtlp6s8i2z+RVCs+Xq74ihr63xfUW70K2oB4NvfgX07rKWA\nluiF8OaaBxR/AS+52lNB8p2FKYmAYfHk+TVsRdo9cg8Imv7kGLOS8oqpkW80\n+LUrvogLjuoTUehY6xOnRxYSylDGkpzAgNOPEt0JOG41tsjJ1Mw43Whifbns\n3vU9VO63ZdReP5CUfJaCDbMHuhv3ETcXvUQrD1lvT6xJ6c/ahM+joQJ2vqL9\nhHpPJ+9jO0f1OEf8onRVyfcSAbhXAKkCeyFTgspLwdy+DW2qgigtW42PnHiV\nhKrTfyFmMIAycJ+dDVGUYthlGGIBPDGJrMRuZl3VpdZbG5gniZX1DoSTxmlw\nMzEj\r\n=YBGu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGa2wfsQE+csFcD0eZCNcgtv2dkHxthvIzih1d4EYbHsAiB3zhznE/OutYy9Eoh5wZpQS2i3dgwi2EgqMorbnVIVbg=="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5887_1603375504796_0.9594079278853365"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5889":{"name":"ipfs-core","version":"0.0.2-rc.5889","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.58+13eda29e","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.1","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.58+13eda29e","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"13eda29e37af836f49727d05c1a95fd072d940a8","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5889","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-V2FdQ17bTEkuazGf2kLU+nN4kINwdCI3/BnclJLc4U8a2ewKNaig8+kh95ObalEsPMa3pr4tuIIMBcA3HVALVw==","shasum":"cf21779d75ef594dad832c276541c337940c6247","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5889.tgz","fileCount":427,"unpackedSize":2594223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkr9oCRA9TVsSAnZWagAAtLQP/33pKDkyx1MN/LSgUKgN\nC2D6LKwd53qEGDGm4IRjkgc3WWHuTZOcYhfS7BELcRkiZz5mXnOWWJaJi4as\n2sOiiHnc7fo4ZBr7+6rQMqAqzKplhC8277Sca3d/n3I2OhOm/+36+mKYVAsu\njZXI3j7KBIFceFhrrIUSDXuDXAj2ZjZpovPaa7x2xpZ+ZuaoFJx5H55MgxS2\n4qa92KFS6ZvZM6hVeCPnCIulq5LaMzVLJq/Kl/xMre4sPP0B1y4xwgsPfPOl\nuiXFZnpUGaGXJI5KR9YXxX6+RR6r79iaVZSYIIg+WrD1cL0KeblW0swOy8SA\nhcIHJKlDpkg8zBd7aRFUWzmI9BtXAH/DJxJ2ch/N838A5RJIMuB77y/npeF3\nu0cby792PtyPe92EmK1+8zhaHH2173I7XUVo3pktZWt679lZ6+6ZKV2QjvzZ\namg0Zce0HK+qyyDWhR6Ug3mSlrUKnXdEKX+UzUvv92rM7NT6Y51WLH6oCI/2\nbbk/94CQtT0ff3DB6ZzOis7XPDPzCIrU24tRuKAlgt1fBnHDdmypYPo6xOU+\n4nG/aYa3BDP6pKPoax0Q62Qp1y87QPvR2tPLOJ1C5FiycLxy9/tDAI1JrfSi\ng2pX9stCqxJ4JVGgeLlWm65t1tegklFdGJ6xKTlsKiHCn7/UjQ19PjXkwhB+\nXCbn\r\n=BRod\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDBFU9FUKHuMlBkTBrLsUdhz9xhoQgrSVALdnozfYXENAiEAwavXVLYQRFVkMlJTHELptu7DRw3X+IPMRWGu9xHBedQ="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5889_1603452776176_0.4688614452001507"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5890":{"name":"ipfs-core","version":"0.0.2-rc.5890","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.59+94df21ea","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.1","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.59+94df21ea","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"94df21eae28c3a87bcf57e168b1379edd4674cc9","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5890","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-gIcVN+hnNyqNz4uavdwUr6iLzrvAicu1sr/bnVeGu+H/okCLVc1yO6/csHMLB6ySK6dacXX5N0RsIBwjili8RA==","shasum":"5ac4166c8e381ac2688def21545cd3fe75d2f0ca","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5890.tgz","fileCount":427,"unpackedSize":2594172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl9IKCRA9TVsSAnZWagAAL5kP/2AoRKyDFzHuhDygJv3M\nYLUdVDeZKHCrawAqv2GJEM6F2TdgPFL7LHTo0rWML9xT/9yOOkGEVH5BxK/m\nMy28DWa7TqFiMZqgu/INgE1aBs+J9Z9z5W+4cLIz4RGguNPIzuM5HPc7ChiV\nDhRECq1bqtKFas0e7t3sr2P8+qICv61ZcUqYY0EIfY9QigVGZUTLVXh4vvlC\n0NEQ9/5/qzXEYFfb4T2TqzVbDTXSi3xYD8u0DM7zDj/PPcUUeLwFHpZmFD3+\nMe+S4MmQT9QXYvaxnfq66DvFGQZq2C9ZE7YMeBpOq+opnMKZlRv6t2NUrxm3\nBFjlZQnyHEGmxPj14VlhSW/YW6221+KN7SAsmWBlYDRXmlQTeFQabgcki15v\nqinY7Pw5yw2WF0PVCp7aHb0xaw1UrtUBrpZPa66J9pl86aUMKPC9welVmKQ5\nlA9R2/L7SYYqR9WGOfAs1SVtyfdWMuwgleCZRiuLeVlBaE6eyZHXjsuyfxUS\n2tP6nVO/cGPqUsY92ACgGqrlq24vpf9BldXenJanCQVLXom9DKnFgqtXcdkY\nLTS4+bECVgl4/wQR3AmYrJ+YDaEtzLgKtB2cudLSg+v6Ag4Ao0NG5HRkKX+e\nEG/ypnkEA6X89djJJX/DRytIIve7M9ixartIlFdpqd/bxjhVwj0rQQBQUSWK\nbAOA\r\n=NXse\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA/7wvO/kLC4TlBgfCu9huglKyiXqmDE8rCQgQmz9f7TAiEAk1ZFEILE8PTKjITdB11EKie4IX34/VPPDMSNp+TA9RE="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5890_1603785225893_0.5111659378364519"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5891":{"name":"ipfs-core","version":"0.0.2-rc.5891","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.60+467adc3a","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.1","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.60+467adc3a","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"467adc3a3746f1c554616fbb4b79b1d62ddfcd35","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5891","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-R7vpMubxP9F0Yu0VDUD9wAgaXbiHODFyhzIodqdlOKMRuHOG3slHHJUo4k3aA9ZHK5zqbCQAdh27+t4Mb2ugGQ==","shasum":"d9ea9fb09d037a7b3cac5c3adc6c7131f3fa832f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5891.tgz","fileCount":427,"unpackedSize":2594172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl+czCRA9TVsSAnZWagAAS6UP/AwMJ6h8juI5WIYA5z/g\nU65Sf20kBzvcvdzn6dn5uAfnSZ3Q11oZoLaYSmnR8A0KUHm12aW1VuaUs+So\nXaIYgdXIW+co3scxCPNRvWecOAxYo6Tw13FB1EFJ4ZRlgQX2jUPW2o5Wmvh7\nfFwFaLvEIsnegMtAEjrLyesX6DCijnJP/YYaRufwGl8AydysCLlv4bdSEHy0\nSmiukp1BqjeR6Pkx5BJCsrM/L5zY3Nai1Gm/F6//uPkAPSHqvLiNloYOfDdE\npqW41/loGoK04yTZhOjq37lJPdl98xAN7V8Tmk33hiyEem0vLWFJ2fNENGm4\nWKxk1OFlB9csb9JS/JRVgsbdn+WvSnzdsYyrdej4tp+zU12KJVquz4vPsF3S\n4v63nbWWLou3Lnux/xAjiZJpYx6PLyCFdHZZ8DbVn1v73wU3dmIdpRtOG5pB\n85Qd7iu0ZMAYy8t/7m/wPIeBjdz3kKkXl8YkGDeWbQUyST6fAgKOqud9Dc39\nTy00+wb3oQsEBeCvjH1HBfBBN67rYmWEjQWihKQkrIDfWYqpI1oHt9gokIuM\nzg2riDw587rwanIsuiMPzgLk6NX4kdM2h3tWvYzg/xAShVIo7xl7RBf26AwV\nJ1EzEDIYQCZ++bnDWiP6v2Z7jzvGQAJKVOGTAohXqi1xwnM5ZGmac0JZqSpA\nqDWi\r\n=DNpR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzwwbYiVbX1wzMogdoIym2lvV6mUJhMsdAm1rfpL7kTQIgQv6JTuyDky4ayHE9WMTzHhoPyEmm6Ho8dq7koqpjZEQ="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5891_1603790642924_0.71003245816526"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5893":{"name":"ipfs-core","version":"0.0.2-rc.5893","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.62+345765c9","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.2","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.62+345765c9","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"345765c9287df55deb215c772bf0d863a205b116","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5893","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-cLsW/7kmI4dNZQh7z5oW/uhoGOzsWh37aa/dxT4Ud+qNDuF4Tlpw3i74jg1/KZ5xWmWRsQ4jCyD2UGZT8MHT1g==","shasum":"dbc240b6aa6561ebf973af38a22eaa0215962a36","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5893.tgz","fileCount":427,"unpackedSize":2594545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmB20CRA9TVsSAnZWagAA0dMQAI5jX27A9OxciqfQyd3L\n4phP6lGM4icus6sDaqatqYXW7Z3lr83MI3NGq+eqyXbe/59EBVTDtnt1M/ns\nTduUj5aLsKF+5Nsmi9scGfrHfTsCS+kb/aXvnfbVr0szL+WJ5jUpDAILXAwZ\ngQqhj7HOpgCVFkapLtt6ie/DLw1IJYczzASy1Iky+GNBYiOVJuwut/jwnMWb\n3FO+DdyHNvApl4yji1zQWGjD6PgdjcUIae0ESpRp6Llwtk0D5pqpbSKVHTHd\n1aFoAfzdKg1RX6grBoIk/b8J6NCl1XqvAEoSaubCDKzI9YfDXqZNO4cW+L5v\nqFAsU07Iy1dKekUp3NZ8+RMKnKCnEa/xarxnX6xRvl7MSyJgk7rqxumHWt5f\nFLGv2fa/mZkdeik/pIoIBXnJ2kWoLUIewPdiOWMYRC8nAmzvc6d6jK2jvDYO\nygJk94QZXuJMUi9usBBAKxlSAGoVROAE706wjEkW0665TRs2kQ2GsPRhDjvf\newxWvqKXzfji+sRS6C/6d00K6699m619STiQFajtfJCaPKKVMDKCUHCmsMol\nyRqAwmYlpaQbWzc2RNMm1K7ApYcZyrJwtgc1XD2lUQOTn3ROhPd1zd/8Yi1e\n8RXe5uP3hj33z1foAUs0FrGcifxWupNvMoNPR3fdmlAaSVKM9bgqGmhNXS+I\nk+nE\r\n=U3ig\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYnTGuGpzqGi31fwCozY/J7KPjlUI5Mpfd+joTtgZqMgIgZLAQt5MhxTln3hBtABdp3b7C1i+hGCMj/wGaZex69eU="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5893_1603804595620_0.5791578716103709"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5894":{"name":"ipfs-core","version":"0.0.2-rc.5894","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.63+c3772b4c","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.2","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.63+c3772b4c","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"c3772b4c91855da1347eb954a5cee186fc46a562","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5894","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","dist":{"integrity":"sha512-CC9ilwfTpqlou6F/Eg+Ia52QNKt8NMVzoF20oqc7pug7Wo9Jrk7flVPrSLuWXSncFo1MXuKDYDNWOAuPj1R7cQ==","shasum":"d2d279af5588e6f55e8f65c4a70820df4d60511c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5894.tgz","fileCount":427,"unpackedSize":2594558,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmDiACRA9TVsSAnZWagAAM6EP/iusWefnLzBEGKOoj1JV\njGWUS/bLfYUet8m6bda71lCjZfSx4OK+MAEIoAncD/U0BxvKJDvB3bWuEW+l\nEq4SR5fN0HYBFPgokqLTCnrB9yQJsD4yY4nOe/aJ7XKakW/Qg4cLDfelLdvB\nYQvdJtd7jeJ3TVmdLUl5IxYzkROzdbgfJfDPsVdMNcYeXES7G+oql2dLFdHh\nu2szshr9JeazPIzL5yiLMnpiSskssofLMb988GTy+gOstMqOw4Ile7LUqPtz\npIyh3e3kjJzQrXpkXa3H/AWGjJ0dBRtkmRDO8Ym82uLEUP6TtVO+0piUzdgM\nE8Tg8EUrkCO/Ih67QrRae9NzLr/YJbbaHl1bCc8TZLr8uIOUv/6ACUKJgJPi\neZG214emGdHpnxJ/D68VQpmUcMzZ6suKVK/eZ4kGC6z2eEdVo53NLmlzfqhf\nWOxFMyVzDUkYNwlgYMJRT8ESAnvSWt4UwSW2eVkK+gYagqonMCn5J4Pty2xn\noNa3Y0q2mAeg1uhs14ZVHwp97kXjEFenBV2fG99uXV67ceOrivyDW/EktLeH\nOhdv7wA5Khx4dAsWU75jlj5MQoh0EAvZg/mhFi4wFwFc0d4l3OX6DyiwmgEJ\nUj+WCpQQz8Jsz7/wGKRcyy2meraw590bkoS22+MsznqzSTRusvFvfvGa4+It\n86jn\r\n=nYPe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOhJeUi70CbLbkeQy9sHSD1A/CcXm+WbzfO61VmekoGwIgJ+WvR6qxuCPrv+Q3MpQeLsxppY0IkViEr+0zYJ1Lvdc="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5894_1603811456059_0.42489626736746566"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.2-rc.5896":{"name":"ipfs-core","version":"0.0.2-rc.5896","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.4.1-rc.65+70196444","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.2","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.140.1-rc.65+70196444","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"70196444f942cec93d00e8feb637dbc79d5fe37a","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.0.2-rc.5896","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-q20mOYBdG2g8T+xP+yt1NgphJjo5AeRLhz/CKosr0ko5ZQEaBvs6934DoNmj2f1xN3HEIWnlur/IV5zfQQLUiQ==","shasum":"275733d60abacfee10aef7bee5a5251a4970c7cc","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.2-rc.5896.tgz","fileCount":427,"unpackedSize":2595587,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmYGeCRA9TVsSAnZWagAAWOsQAJewilKzM4eg19/nda18\nOoQq4vvun1qJGr4vr69cb7VtLz4eTNRPzswmX8uzrfkw4EK41jB8H+sPbu7L\nQDZTn3gYIR/uIWXNkxdYi1nYu326LXZNdVlmR05pzGDyna4YjUSr/IXjuhlo\nTIDJWz7g1eZ0tbsfJ+8bSlo9VVat0dm8nR8YePiVmVwC38RtFLEbe+Rx5I33\nSJtzXZmIuSOdhWDxDQIZV9VAS5UoNo/hd1A2NvSl3RsknMHod7nLN88B7rEs\nftJs4BkT7EqsUd+jRGc5s7tECuJVLNOseD76S/1+PHAMYB+2jcWeNyPi6wT+\nc2zeIiZiqLI9V5YZAdP94riZSNZF8zgu531qgikq8mBwB8K72X+f5U3QmNgk\n/uy10xEkAancXs7L+NiLs6KrAZSVQSSZxpWVfiiXizl5ZZOhIsVnWLXN/oI7\n48fuxcBkHLrcbSC1xUI0fP8GFERky8thSUNWEvLXx2HwKBeYra5gCc6zl0kc\ndC4J6Lw4p279lwqxPDJr8/7OA9NPpqPyfGLx7bAPVdE4Xmf7Y1lBdzaVXaVB\nA1hnNDfck6H5mT4akizOFAV/Mn4WDvpc/QeJlYye/FFuWvVahuAih7gEnyPo\nMJOrCh6IsNSSoGsSh3BRnxmmodC/1a6WQdUEgacGjfVp5MOtkpWTaJz739Dk\ntefz\r\n=AMFq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD90Qna++wMs7JgD65KZvipJDri2f//yhrKHpFeUn+ePAIhAPm/hMOxkBp+yvwvF3VZSXhw6UOuxnEJryiBziuo53P0"}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.2-rc.5896_1603895709642_0.47868816697911076"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.0":{"name":"ipfs-core","version":"0.1.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.0","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.2","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.141.0","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"3f407ae0b36d6f7d2804abef956c9f035f3d298e","_id":"ipfs-core@0.1.0","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-ImCY4EzlTYJTozVRHC9LuZUPCeT9a1u0fE/3j2FFk1H9f+2poi9ntiZ/NlyKbwumouctPHfU9bV+Y+uPxosPyg==","shasum":"116c5ee778c20cd1f7d77dc338c492f59a2fa87b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.1.0.tgz","fileCount":428,"unpackedSize":2597654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmZO8CRA9TVsSAnZWagAAAj0P+gIjet5KPIdIdOQfZKw+\nXpbGGBIOFz5wQlBFUHtvNH9ewc/PkdY3KKXVTZ7bqisrnY0yB83e8SFsV+0U\nvkPbSRaZmXpJK4Bikv5Qg9mGBqQzXyseG8IOV6RjRCLuUdpzIKtx9xjiolKV\ntMnVWn9dnqij6twb/D1tl8JxnKlmypJqouRYreO+2jUktdDOSzHGhnW7B/A2\npkiHKwjofhzagBa/R0lIdCf0yGbBgyFJXBqQx6GS83iMUdZHGV5zItVYBAnn\nSd2lR0L+F8tCkp7qq2NwhCBEqw/5JGKSGOhx+llhL5nDmO1cMwnnqPgBQ8gn\ng5WoWFNLtqtYl5TTCg3wBaUqqoFhhTfZOyVsepOe1XOLA2V/gMmOXZxdfIKS\nTLIpYmZftmWbDMw1il9h62isur0GkHL8KAdTlhEJL6oEr4R/pP6j+XWEaoan\nLxXpy11kRUBrfQclQG/dIkZOi41v/EamnzunMVFq0yxE5hPpXvzD+ObQ7H4Z\nC9ekreAZJStYCKWOB00AGy9lBABhJiQrk0H2SAdUM7VS3dI7We7092IEEnft\nYSzSvf6X8YGuwuzv7tjy3VYITj00bIoELTveF17oV959+lkwnlBwGgFILcFU\n43Qu8nZSiMCsR5ik3nPR5uL313n0NePZF0knk1bGUA2JVbM+uhwvZrZOyot6\nB/bZ\r\n=4Ihb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCB4ZM8DX4UNzusP4prjYWk+2iH0OqzJW4fuXJV09QStAIhAIiV6pOYqlOGRuCrixxnDn0vX5hEHc07Uh/PuPXwe+pd"}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.1.0_1603900348015_0.6657358730630605"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.1-rc.2":{"name":"ipfs-core","version":"0.1.1-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.1-rc.2+097d7cec","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.2","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.141.1-rc.2+097d7cec","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"097d7ceceaed9fa7983bde829f90066676b664b4","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.1.1-rc.2","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-TDm36PUPl/Ix+4T6OuA1sIegr50lfhjD7pmNkaHUyYj3lUH+kVAswfoznTgJztjTz+YpxV6zbIwCMQxSCcKUOA==","shasum":"dedfa408b4890ff11456ebe416856d7cc4bf1c27","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.1.1-rc.2.tgz","fileCount":428,"unpackedSize":2597627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmaVcCRA9TVsSAnZWagAAyGcP/0Y4jqW8AX5r4jtvanQ9\nkeV2SNQd0A+s+m+mlmakyz0GQuOPBKBmocNLV+i2cm48SQdbM+tG2CtKV5WE\nPCnHhFDcjPe8URjaeXpS/Ufx+1MD2Vq7/CDgVKmRGSSMn/DFiPvZBsPy3/+q\n9cEe/NCBDhUFxbb8Aak3tSgsa0xzKYiCUsPgrnEkHdB0sfOOYzYy2XyL72Sx\n34cgEFv+uj0SweHV75JMgTmlP4f+4pY9M3j5ep+HISsaF7IIa47FKNY9PMUU\nS80Lt6EULRfOcjQaG2N5rAPG37UEPoMIYVJbylx1OofR1e5XlZbzpLvj2Qg3\n5g0JR1saw5fLg1X4vHT0WpsctSt2kHu1Eo2A79xgeb+llxSvB6bsinIehyZ9\ndOctmf1qY7u5wg7r+zCzATJWV50IaNwWtY1JZ3F5KlFUZbfuQN3lA2Dzw5e8\nftWLTHEFOrcOLQoIKKAdYbOj/xO/iOaXLfH4cxeZZ39omjCWC53XgQ++056z\nx+aul3kVMrtk5rahEp91bDKcoSrxhLqvkxvjAJTpm3PhZrSWWp4yN9QJy6Bx\nZpDvlHl2poKHx3vHBr289HKwGk91txcMc7nw/N4RqygqaZuLlMQreuTB1Qw7\n8xArzyV1Naxcbr3NDetgsTnAtNJmLZuNpm67qqIseGjTC0dGlNeFmlgEawLS\nOih6\r\n=En+h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFJRXtCAdPBx29DCgOuUK9MLutMOCO1MlPb6JHoz5YHWAiByJsnaTe10bHkDvANUOf/p+yQysZC6T2R68vWQ7DyufA=="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.1.1-rc.2_1603904860182_0.40948417456556285"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.1-rc.4":{"name":"ipfs-core","version":"0.1.1-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./src/runtime/ipld-nodejs.js":"./src/runtime/ipld-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.1-rc.4+c4d7505c","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.2","ipld-bitcoin":"^0.4.0","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-ethereum":"^5.0.1","ipld-git":"^0.6.1","ipld-raw":"^6.0.0","ipld-zcash":"^0.5.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.141.1-rc.4+c4d7505c","ipfsd-ctl":"^7.0.2","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"c4d7505c6c5a2fbedae72d9047f1363747b4c2b0","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.1.1-rc.4","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-1ZXNM5ZTWKJIDIllxUoRl6hz6zH5hco/4xXVcHHI/txCuISVvnNaOqwQQJaqHL/pgVsKOi5EYPxa4qT13SZ3qg==","shasum":"cd67c0210bc651ad7d73e76cb163adfaae361837","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.1.1-rc.4.tgz","fileCount":428,"unpackedSize":2597905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfm/mICRA9TVsSAnZWagAAnnkP/RsbS1CqQUWbz/dtN2Xi\nN358i/6/onxC+pfuOJokcQXpm7xt6auHdg8aYHfZ38N0Njw1j6g2yb811OSm\nFODt2re3I4En1gjuDe0abdVyp2qw2uXZa/dgCMhGmj5QMhcuzvl05ZGrriYY\nqbB05lqK/7DqF1guPnBf/8FUuCRDONegxRGREA7GWTF0ov5moXtLWB8XF7GV\n7XeZRB9wvnL5cUp+scsx7ZOvVNPK87gSRjzraNKOKIchpLYj9ob/2+gX86mf\n/rANCUVs55O3gT3C5txe62GyDGYGHxcWZ0AI8zq5J0HdMhGN98Q002EeQzpA\ntQufZeehPhVqy5jetBx1tEMTAnnyDK7N6nXxbNT4lhgGzhOeieH96W8Qhsvo\nYbFjxuSMKBmOMRtLwtBC/CZ1l/1TfhdhkbLoREc8e0zaZpNbeqDy1JUCd/Iz\nxIVXw/m6HvgLZ4WeouIiY6UOzptbAo+zIVvFJfcYTn8Alv8yMRng1AqDEW4y\nRume+GhphUMbIab40K5jq/WHV9+XeH/JiLP73fcRALpTUHpjHBkYkj4LAhz+\nkbBGknghDoPEKEEeX7Fuvah8x1IMbCAIQsRgdBuvVSfGCwXdW5Wj7eGETK/o\nXQ3ZhhrhIb3i5NgUTAEaZOGm6NnbUTO5txhLyiXK21EzXpsJTBCUK+3wcNb6\nl5vg\r\n=VtF9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuq5OLOXTRps4qgrrCkWfctV75um3t1992HtRox7JwogIgVZMxMr7lma3n90PhZsdFv+GSiKAHiydp1Sej4oyDdOU="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.1.1-rc.4_1604057479669_0.9029971371399164"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.1-rc.5":{"name":"ipfs-core","version":"0.1.1-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.1-rc.5+bd8708ca","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.2","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.141.1-rc.5+bd8708ca","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"bd8708cad08c9723c3c86457ddc14cec84d1793e","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.1.1-rc.5","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-T+O9Z9RLEXUrcu4wrnTEmLnKGp3bQw4siZZ+/6NS4RlImVXOkJd6RNjQtu2g7Vv8MMpcKmThDiXGXqQDVztm6Q==","shasum":"5c35caf7640fac8c557d14b2ae4b3ec083b153b1","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.1.1-rc.5.tgz","fileCount":425,"unpackedSize":2593290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnDLdCRA9TVsSAnZWagAA/UcP+QAEha9hGNTeiSjdD3hC\n6ZJikvHp8a779lXweUmWVwujFjv2M+ae25Qsaz1h8qdpVN41ECBd5OjQV9KH\nXhjsiXwgSxiv4ZehLXYLh/Y3v2mU6MAY6CHM20JZGE2IEJ2XlGzpJdLPvWsL\ntG+m5Y5U/S3b8N+t6Aerg2rff2u3yNaWE8eobv7/HPyBRL/BvqXNx5NEQWYw\nxjRL42r5tTNN7ldAKpfbZaoO3gyJbws/1HghMWD2Xoc+bDa6s8Wh4QXLtcx1\nWmydASwAy98ihVznYaXzpD4KIkLNJIjY7OjMVkIDvrcflG4iFrmWR43ril+s\nwlTOuvRRrHkR7yyI2MiTQ/7z5jACHyUiFcCmAgv1l5DdLrJPbQDJ6q0IcYUW\nSBdGUwpMNJzEx+L+W3aoUa+VONSCUyvixvew56UObbFqA68bpzqDh1A+jyDb\nbkpnpZkIrJWqxkDGZQTTxk7FENhKvcER0v+PriFxJHHka1SW+i9dqGp9corR\n+5PkJzcaxpWzm4gUaLnilzlze73VGxuowkhIaOYu0VtA1Z7hip/XdLLqXF4M\njVlnf6ZbM1tCBYWASTd5JwbnoPhcLfdhEFJKLPBcA3j83M1nw05n2RbctbdY\n0wDIUH2Pny4bjJ1QIDxVfc0uSETff9Dqv0V8RRIUrrNcPnnBJb3oCqjR0Y4y\ndkbK\r\n=Xjzf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHiWuD2k7IWCzfu2+IQktZX1tMC8moacIDX26R6B05cQAiEA5nva/hNWtEjOouotJ/P8bdvqW0zBc6agUxhCR4TTrHA="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.1.1-rc.5_1604072156728_0.4973128840144987"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.1-rc.6":{"name":"ipfs-core","version":"0.1.1-rc.6","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.1-rc.6+059520a2","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.2","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.141.1-rc.6+059520a2","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"059520a2a3467952650dc9f45d8df790251f932a","readme":"ERROR: No README data found!","readmeFilename":"README.md","_id":"ipfs-core@0.1.1-rc.6","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-wABUlOLThDwNnLTPjXlUNDH6dMnbaPoBpPL5919T3TmVNGEkNURF8dZUEIUAT7ZDCXUDS0ZUrbCa8Kchw+HgHw==","shasum":"ef7e23a34560821b61320945b4b9227b543e8510","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.1.1-rc.6.tgz","fileCount":425,"unpackedSize":2594206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnEUhCRA9TVsSAnZWagAAsXgP/iMEaYzCtl6WqE+zENwE\nqE07yoiJuY+9Cal84RULmGHqF8CzeOm1+/OLqZxmOR88CgTZFLRxEUEsqCSV\nlWFRPJIAMhxXUpNBkPbS8Sxu+lw/RmDFzs3iIo/GdOiuwYxGW4p6QXxRNhuf\nD9n84cuI5umdJjGduk0JkqqgbH4z2l0s5+4Affb3OK2WAIR+zCjCTxyXNdFj\nIHYP7yKv2oTIU3bpmWBn5CfpuwKu5V7159cDZkkTparY4fN5eA/zkxkF7O0J\nHKb7X+Z+w6TFkFUsMRsZixpB6YaUkVbT8R9kEdBf8widVGf31bpS739zpCyB\n7COjRZlc/M4l9IR52MMQOB2n0BbNHUsMb5JxyUN1vypO79UBy5n5d9uxdUlP\nmXm/eDDKB0VUHWxM8W/oVtzE4QBa8oWXGQLe16Ta9/MjoX7bA+R29f78mSkt\nQ+Jtq3P3jP8FDIkOc+OaAvJFNhDJGFQ2gryv/wxDUSGz13wQP+zMzBUeuQgM\nTB0EqEf2V2+NnII/+0hCU17HrrGAY1HG+eIfq8nfVa3T59JRlS+DUdxWcZ3G\nS1k7QwJKGPN+4DwSoW2YOzJetZyV3Dhy6ak707KzxGx9RF3PWuhRX0mrkYWQ\nopwH8lZZ/4Pz9lYM8KdAie7XnnUu8qgL7xXIA9A3CfXpUgMdAujT18bRwtdY\nmeQj\r\n=AB/V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAg4VrneVrx6y1hpOeub1QtRCce0w1WOBKpfrIe1ZIBPAiAX2k/ZGtO9A7ov56W6jI2HFzsD6pufIf6JK27/M3Y9mA=="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.1.1-rc.6_1604076833397_0.10116382798259105"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.1-rc.8":{"name":"ipfs-core","version":"0.1.1-rc.8","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.1-rc.8+3d2d63a7","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.2","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.141.1-rc.8+3d2d63a7","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"3d2d63a7dbb2f5870e26620ce1addda9dacad893","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.1.1-rc.8","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-e+bZEiAUcZhZWsGlJcogfTaZRDcLTwkVR/qz5gBvv2TTBVDpnoVYZVGmLKBhN5pR7dKxEL/4ZoRxdg/UdfcCtA==","shasum":"3538bf47dcf69168490ab8e04c4b2f72eb46c1fa","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.1.1-rc.8.tgz","fileCount":425,"unpackedSize":2602772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoA8yCRA9TVsSAnZWagAAtoEP/2CgKdzy50GJFk5Xtzkz\nzynvBxIexSZiBYzEwr32QO80QUygKQHV6XAydmBSrP6Eel6cl8/OlLG8XX4F\nxo9ZCqGimjCcAC6oJy24v4O9OB01WI6Yoiy7dJ2Mfx5zCzB3NSk09JrW8P87\nyL6dkctHC4CKBCpuG2ILne58at4eOFLHTMcMYn3vaQZVS6LXpRkQ49PUieKU\nVLbifvXz1luXX7qST8DbtilOiVPFO+ZUEy4VCPRHThTGz7scVWM4wrhFwShh\nzPrJUics2FhqitxP/ZsERV6QJA0ehBp/7commZ+oBYlMKPEAjLLfHJkU+AVn\n4op8fpc1KwkKBgLaETh5moP+dnJnptaopgWeHsbOIF448dOw8x5yu56bLtzE\nS+H3gtEP2d5bLQnHuJXtBtoo2Wt+vPlBiGS+/tQCjwMnpDBI6Bp00xZ6KJIv\nv/tv/sIz8wKzR8fzpcTU0wIP+4GSH6OTEX5V9j7yXt6AhVbvt1h2ekCTrNBS\nHwvdkz//5N3xNLhoj3bc0YJzVPHJH7ozSMCoXAq57DtqfgtoDl3WJ2wGG1/F\n/jdqW3PUidZ3Tj34qTrrsdi7GZEsIfKRZfqTmn7I8l57BTeTI+Qyb2UjSLAn\n8hKOrVam0OM+O+x7ZUx6fnlchdIw0YULb4Rzr74BIGpyjdHGIef+P4Zcya/R\n4SXl\r\n=Zr8O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4r9VbjTRrFSi8bNZiks5J11Q1PrzEdMwELb+l4Bf2mgIgGtIOc52N4BHVYRZn3mHL5y00lsQPVg/iWjsoU41IyYQ="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.1.1-rc.8_1604325169728_0.2996430053986878"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.1-rc.10":{"name":"ipfs-core","version":"0.1.1-rc.10","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^3.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.1-rc.10+02dcac1c","ipfs-repo":"^6.0.3","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.27.2","ipld-block":"^0.10.1","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.141.1-rc.10+02dcac1c","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-random-stream":"^1.1.1","iso-url":"^0.4.7","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"02dcac1cbd713706f6d241bac4c6c9a8bf7c03b1","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.1.1-rc.10","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-OU356fSjA7CYwI8VdO1sI2r409o8Rhhew/qr/9KEO533gtkOnyHpPZSnqE4Gfutah0fkW4qZRsUfYfgs9rCG1g==","shasum":"292ca199c418b5a6d8fca3121ef958fd5fec0b90","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.1.1-rc.10.tgz","fileCount":425,"unpackedSize":2609423,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpZVkCRA9TVsSAnZWagAA29sP/iHDhtLm3T1QsyevXjAW\nR8omfIBFISJQLxmkF9kOjc5uMunj04UReH32bWckGEYeNw05WpJz4I36d5oE\nDGOqnXOlHpybbOJ/s2zA5KmbNLRMm5/fuewFyyHP3Wzv/LXxlS4+2fj6oiFJ\nX/7iXERd51pv5o813fGvnfuPPr1UuHXSv/oFu/uLFzyxh+nHaxJYy8iwI9I4\nNtsgKj82pSHL2dU4PiOXzXWdTdv0FsBXPAsuGy54yuY0n5JbY5DCDbO+IKn8\nYSdCgF3ZZ/uZfSIxQVa+YRsEN4qnA+ucsjebwsmM7qFEHwx9CIEsHrvWa+ZH\nKF9vilKpHbhFsI0pR+kKMPHVjT8fnYuyGsLj7K/SwBl8Cgz+6yU1CCeFlq6R\nG/kfrlW7PnhsG327NEe6yUFZla5QLeoY3NvHdnSqPsspEULLCopZzTalQm0n\n+ky+hYPLUqWy7CZBWEMy/+1YUw+FeP/6KHV9hO4wPW4dpwl6mSqCThHMaxqW\ngxNZBu6wQ6t4cfOgvl/seESGphR2GTNQLPWjjgP+X8OraCTGziN38Lrrn2tX\n+in79VWxpHvuMw85VjVl2ZlHI7Maj4zWYLRBvErQZ5PezAhNynM2pxvzIaR8\nVXNe5EhHs+67+Cm4mRBhQnuQ/y0s57s5CJ4MI2dKcduJoThcpaZJ4X+DBM54\nHsiP\r\n=AY/7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtXVdLbL5ptEsnR/6ghdMfwwth5q/BjG5cvltGnz2FJgIgZZaJnflJcAuQt2wurrfaQsNWB+xZG4cTCU2ytMCMvTc="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.1.1-rc.10_1604687203601_0.3636178572921591"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.1-rc.12":{"name":"ipfs-core","version":"0.1.1-rc.12","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.1-rc.12+022afda0","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^3.0.4","ipfs-utils":"^4.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.141.1-rc.12+022afda0","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-random-stream":"^1.1.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"022afda0dd6c3825c59c70dbcff9af2a64a1683d","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.1.1-rc.12","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-na2MZdal2VAyNnWImhWqL5+BiAXO7DKqcHVRzVtNeLDbRaA3tpPNgBf7ktlrv9DooZNaH8Apb6n1B+BxGeCvOw==","shasum":"fb5f622be73ad6e1c0a778183fb7bf573bc0e8c5","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.1.1-rc.12.tgz","fileCount":425,"unpackedSize":2620778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqWprCRA9TVsSAnZWagAAqvUP/RBeZ0YLLDcpHq6rlQJ9\n3BY9PtTZBDgT0F7U6M8gegVZUz6L42WpHW36wRtX5hjlRSnTD25/erQwSSt4\nlfjVjVknBZdTjzGMLKRhvDyoe8rOUcsvsZrDMIFbtCU6kcg2VQCk1qpOAAuG\nu8Mtvo0zYpCb2FCmSrilUumqJnC9QvuEoztidxR1LrrZDeR4tYd3bN9ID5Yq\nGKjvZfmegv6nYrvdN5ZXF4YELB1bS3hCRzp30G7KIKdzEEdoSYb6GxxACM22\nzevaziIscnO+HrfEWw/cZzqV41xrrj9ut0g30SI5eDbMmVFS+RINIc3DTuU5\nPJi2lFZG4BI2wnnLxCm7nbTgLcAgKf54qSYEELgtvC3XcZnd0164CwHl+iAF\nsfot4Xia8Gn5tLfm5v6nYdF1p/NSjGh453C3RM+tepMAGhLT0DdNxEPqQhT2\nfDVSupoghtGHFH+MYYpyVWJfdZP5EWe/4Hk6OOYUFNTiAiYulLDrcdvgxJwc\n0ct4LcQzOHQhXKamklZkik8JjTXpk8u7CXC8n/ehmOfh1L3r1QM4Mtl81syh\n+qkshgMZMAW0iNYADpmYRIa8EnZ8gsaCrOCXTpUO2iGkzfePxEPUzWi3eKDo\n/U4hZaowT3b6R12g0mJa8Elk8SFN1SOviEJE+Xm/G964S0pobPTzfyj61+vs\n4HK7\r\n=Jj/n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHakaP+6cMAX4Lqpj34G0qHu0ZI076hkYoneLTYZO1mwIhANMRmyyovmuLCFg1SvC4p+eABZNxUv7qYzvhEmI0mHiN"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.1.1-rc.12_1604938346663_0.2695985714321101"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.1-rc.13":{"name":"ipfs-core","version":"0.1.1-rc.13","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.1-rc.13+d2505075","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^4.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.141.1-rc.13+d2505075","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-random-stream":"^1.1.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"d25050758405c784269aa59537b6a49eb9106986","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.1.1-rc.13","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-bBw9rOZKVAAvaf8SJCil612sGl+lM4np2PTTo4CtXFL5X/LDt8++PPcwiSe3tZrBAydStZzRK12NCbiYjCka6A==","shasum":"b06f402fff2a02df6580167369438cc6e33e141d","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.1.1-rc.13.tgz","fileCount":425,"unpackedSize":2620592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqXRdCRA9TVsSAnZWagAAzzQP/jHSlTcS86Fj+dBGF/3T\nZmXVkV2bG5qa4M6gvyLZVAsn/msI/hpK9R2mr/g9XCHhfgdnwhGeWJ7wl1P0\nCAcOYEYtwrg+p/WonUYiCD4hDdlMv1x7HUIXohSR2vEPTynAUySUgKWPEC68\nbeInYuhkrtHO11P2EO1Pa0SS4vVrYbAtm1Do0BhnbSpZSi6y4uplSxWB4Qd8\nYZlRi3H8FwCXfAqpdpn7+Ah3AncF45LrucqSdpkTXMjHCqhg+TmUjSEacnYH\nfCKxp2WS/vTqMrBzW89V5LlOcjXWyWxyCZSYUlYQovIciZEMjkbWdQws6fUT\n6+IqmDsYSmrJEvLx7/eCwzH/Y9YG363QFc4W4w3QOrTVsg5C7AmAl4fyWg5w\nQb4HYGpS/vz09NEE9/IMMY7GyM2G/KI+9nPRbsn/vl85G9QuWTFcF8vw1xGL\naUcHfnZkR981miY24S+LERpz4DFQWX3k1I8GK4PNKR0o+tk828DJ2bEJ64tq\nZMHKYBHievJeYiUNbO5m/G8ASDaEbOn2uvHnPvMKa3bvUwYM3L4Dk/KyuuC9\nyCFTg3seCOZMm123zItV1DgSfuoolDafrrIysjyYdWM5rbhcqh9qnihfbxc+\nwsySERRZa3Rw92vuYyGXQ7CBA6ll/A4CwzWXRdFyunY4ub/6A7oas8s2VmhW\nkQco\r\n=pBIN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYPQdTkwhINpo6emXPDJAmtqmouyI+03MWppZ1T+tgmwIgBafMVFB2u+hppuAgc1wUi8gjR5/NnmuBrvXWBpA/CjE="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.1.1-rc.13_1604940892699_0.9994364269336051"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.0":{"name":"ipfs-core","version":"0.2.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.1","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^4.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.142.0","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-random-stream":"^1.1.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"fee87c5ed915f45535be1d36b3547f4be5ac0932","_id":"ipfs-core@0.2.0","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-JEi6/5blvUDn5aWRmprFIWQMgZTQJDf2Nm4exKtMbJTciJ4z2zcCO128C/W2mha66t5wMnCNTiUL3K2mfaWq3w==","shasum":"0a6ac8ea9fe024463fee3a9b77c68e70b81ede88","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.0.tgz","fileCount":425,"unpackedSize":2621955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqXfMCRA9TVsSAnZWagAAuEkP/A2ebvlUL+LfXNsrGXe8\nUb/xxs0i14vRBTolCMzLoQfBC3xUgC1XS0YC5LgkLIvsCAI84Ip/E21tzv6y\noO5lLPGEp+XVkCxsdVkVO5ts1QHFeNDzOkjzaTXJKkDaHwlHH9Uiz5S8ITOc\n2Db2Sb8I+473kQipzfNOY3Va0g5yIpDwBmEGOG0dhtXzqGIHq8Yrpkbt87Qg\nGsXSk+OJAFItKYivEpcIqUN+jm8aCskhgacBzFHy/pkYjaInnzARq7UjEuDF\ncBsiuFnm2rk9RnIZomA8VLQnCg0gTR6C0qSzCG0gQ+HxXgl8af1u4WxRu474\nr63iVsOBw5NBEkVnZDunZepEQW1a7WhHBw7s2b6i4UPU9AjYmmWvPErw0QQE\nhk44zIFuvwOKZOc1bfCs/6oB0kA+DASbsFdeVzE0nJ6sUOTkS17r6POBe5bA\nQixgDLVgk3EQ6Z6lJVAmhhtwYbzPTwK1dk6V0k9bsIzZT+ZH4x+B6vNxM5pw\n8DahQWs04nlcLTXpnYNNjoklCx32RBj+cuiV9xtlUqCgs1hUMidL3HyeewuN\nxrbZKzdIIJHTd3EiJC9s74n0ov0l49hDdrWvxjlYMRQVk7QaAujfWOJlcpfn\nYq9SmWoJbxYzcMW+JJK7Pm/G5HDIwUvaJeDsuH2VRzuhEzYGtmCj73Ze8x4u\n2X+9\r\n=MnKS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDC7U5sTM9IweE4VL+D0xk0PeAOqRxcOORPYhvxkDNwpwIgDBMV/OY6iAmqhWvPMAkrwrtyBFeDxqww9LZxpx2lZhI="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.2.0_1604941772037_0.7121240633336734"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.1-rc.1":{"name":"ipfs-core","version":"0.2.1-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.2-rc.1+500b504f","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^4.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.142.1-rc.1+500b504f","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-random-stream":"^1.1.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"500b504f363d72ea8c29f4ffa471b1cc30cad1cd","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.2.1-rc.1","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-1uwod1Fk1lAZ+zNBZbqzIfzfn02lesTTLY9ibOgaU6OUKDwJ1gPNKTTMLnOqhHkDXBZCaMCOmU6iJ2+jyOqSIA==","shasum":"9b4e73af0f1498e069dd3a9e5cd1a29679ae4f64","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.1-rc.1.tgz","fileCount":425,"unpackedSize":2621946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqlnBCRA9TVsSAnZWagAAA18P/2H4JR8AHXDeHGfvi0L8\nDKkbfTr0sQjcbLqnHoz0/SpNU9eAx1qu+2ZrZ4j6avWGl0nSNSzxgQ10VqpR\n9CEhXVy4B9EMXLVLI79BPuPpf7ejjygmSU206yEBp6uQ+WuErosuK+1qgOBa\nuTiaTgfcQjfIWK1nomddmHNcTKTWSFCgUfnrdmej5QwJt0cb8l2VM2+3HFNC\nacun2+W9uVEH7C1U+/nE0/62Q5gdeQ6kmYhl48fYt3knxzM/LMhLZcVzTbIF\ncvjieUMVrJ5gqorBbXhTIsZZu93hzhYXXHGn1Bgjc8vkQTn6I/ddvDdcCu/W\nX1gVPumFpN4T7iJTPeczRlSdH94YMv7GEadhPOP9+BLSuciUogdGdH3u9X8a\nuM0Gc/p08ievnWIT5cxsgXLVDPPNXgfKffVFJnfl/q0UzPl/Eu/8SCe5kFRk\ngk+ShKvihs7CoKwfuPKLv2SiHM/qCqmOa+zd9ulyDk5IvoL1ZpXqEG6Vu2Tk\ndJMonUsH2W5t/p9q8bAN31Dsl/Tq35xTbqYQ3U1AU0rcf8olTXxoXaPP/4vQ\nAvNJqj4WGaYaiC+7uUagLhz9TOJXU776r9xy7YHy0u7AnEFZgC0ALP+IbtJ0\nMV/uDnLhBDiHtkeJbip5c8KBh+ugwKrApW0eg4Xd+G/xLpiuwugcFWYIq75y\nvBrM\r\n=kV0u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAYFJp7/W/0vul/V8OvWLMTRp3C17xyY68JeNX2jydqvAiEAnvClhp6hajJ3S0siJRJTYAuDlCUFRZwdfyJQa9QXT9I="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.2.1-rc.1_1604999616682_0.9131703969749554"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.1-rc.3":{"name":"ipfs-core","version":"0.2.1-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.2-rc.3+6e383dff","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^4.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.142.1-rc.3+6e383dff","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-random-stream":"^1.1.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"6e383dff2aa34816bc9feac240d4780a3f88cabd","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.2.1-rc.3","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-z/kOWZ0yNnhvtmNL+jrGW/0kRBMu9xAMFOO9EqGgW3Ja6i09pQHnVD5PVCi4m1cZ7XL4r9nDjBihW3q+PAMxCA==","shasum":"c271c994d89c053082c930c3db5e04980a443506","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.1-rc.3.tgz","fileCount":425,"unpackedSize":2621016,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrSyXCRA9TVsSAnZWagAAaUwP/3zVWM/wiQpBjshRFzel\nZEy7oleTmVUoLpXyRsx1BxZ5tCnBk88+FGQszJOjBCrPPvXWXhI47Hz9rXYf\nzrjSVFX0WJyBl1hHtPijNJWkR7up6ImDZFGK3MoyCBkN0iFcaTB8X9kvsSou\nIALjgjeVFYDhLrMeR3HKOtUc//qSvVjbG68Lo8YW3azWfVMoI7pzHTpVqiwB\nvIpe1OeCytyTatDwz6/wbjU3u7flx9q9Sf3fwS1n9aJRYIYb6DWPcoUXqCQX\nPIjk17Elpq4i9Npt+3Vl30bki1c6b0Coa/gybDTG+rVDi4ZV/oFRw5w7gC4a\npvCopyFFjO9SsUUpTie0wWiqG61yETm74ykeBrC62s6OpfoXiIj6WYHnmRHm\nMCpuG+zxexDVEl7eIyclMcydoVK6BHflFhlvkL3xARvXyl3fSqAGZdINY2ot\n3ZTjqlSjvDJVSKfJsqsSxj0it5YP8Zn1KR80n3Ih1cKAcrKuA6TBCZnCqhQP\ngmzfHdvoI6Xx9nZMTGSustwmuB4UZ7cWU+8IBlzMsxl2EsR23sznimx95yfm\nlbjYu0a7v5TvN2/F+00dH+gUDe7IQTctC1L5qx67uroHC+Pujkmusp/VIRP+\nVzQrfXAbOorOClJBeILs9CVRHOMmjdRsNOj1uxlhcleILx0hmRLr2roU4HYM\nQHCE\r\n=QCh4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHa1rsX4AhGZQZ1pNDS/JPeonJuOqVfAh0isp0CErQ8kAiEAnhgw4wJw7oekxBH5GRZfHl8TFcrwAQ0/WadbG+NscDk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.2.1-rc.3_1605184662848_0.6650590088807766"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.1-rc.5":{"name":"ipfs-core","version":"0.2.1-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.2-rc.5+8ff134b9","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^4.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-concat":"^1.0.1","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0","prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"devDependencies":{"aegir":"^28.0.0","delay":"^4.4.0","interface-ipfs-core":"^0.142.1-rc.5+8ff134b9","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-random-stream":"^1.1.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-event":"^4.2.0","p-map":"^4.0.0","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"optionalDependencies":{"prom-client":"^12.0.0","prometheus-gc-stats":"^0.6.0"},"gitHead":"8ff134b9a2844dabb27bef38ba3f241e2c72f78e","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.2.1-rc.5","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-x71HT6qASbJm94c673dAFwRfhxEPJafjQSlSpjSDBfPx9izPbtoGNN/VRnGNsDbPTI/0W/FMJEykoMFjr1vUaw==","shasum":"3ed8c6a423c8e3793e4761d5717438dfc189a974","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.1-rc.5.tgz","fileCount":425,"unpackedSize":2619978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrlBFCRA9TVsSAnZWagAAZNIP/2k8ntjD1a5Xb6o4Gnrx\n69firEsDUuURW0e+H7yTBY1ggkqouqZpu7k0HPGyGHPLcgUDIh3CW1H4dJU+\nXfB2LujBbswFcK1kl4g/q0wh5+myJCJ6tfkQQY3xoSV5NakG4uZ6H/ttHMb8\no3BmuO/kV3fNrx1kryBigB8z/gUC3fuEdWrFMh3jRRjSloOgs9H7ehqm9Kgm\n3/snlT0FLIjp4p0Ewv8bVE8im7L+hTze3T4SFZRWvo3zHVrw4OJptF2X2JFi\nR0V7PgysW7Q7WQh+FLrSEJCuOUngQbjq7EiUaLIV6etytTEfyii707gtAaPS\nVerU4WG2aqREDWk6Iz4cLhoeww4MvOWTAF9m91qK4zHATkGcVUIKRQLgL+Az\nVR5QGABkhITSjNkhGvfd7ty1YSy3qDdGG9BoSFSZ5p2ene8/8BBcJa9Et3gf\nHO1Fm9G0TvXFcjDCcLjhBkYoDSMRpXl4moAlsvsBbNzkVbBRHaNe/Yxsf5n4\nBzZJGlVixFbOWsnoJTmS/7/R9RBV9Nr0XrZt5EcgShUBYH4ORfLe0C103cGA\nebPBG+claSB8QWPocfHnU9hv+K8H5bkaYjMhh4+Itt4zqX3KaqhVdtUumE7h\nhJ2nouNiX85l4keQahohzuy72B+TGsGFx3gbiZHnofHHSO5SEHNtSGGmHtWz\n9Hgf\r\n=KkTt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC81nGeN2frd7MVyb5NstQQha0xE6DhX49Kyex2IvpYwQIgHCvN12YwkfiUIXCOq7olUsE+A+VnSrQPk+JprPv9UxM="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.2.1-rc.5_1605259332872_0.9312383663226136"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.1-rc.7":{"name":"ipfs-core","version":"0.2.1-rc.7","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.2-rc.7+d26681ab","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^4.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.1-rc.7+d26681ab","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"gitHead":"d26681ab35601d9449d71f2ca5760896418e3e79","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.2.1-rc.7","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-oqoACT0Z9l4UhogO/cPnzUcaLwRR7lO8xdukaGC5fOiJL66XclT5UULpz2g/JTHnumpHyiga7YgDJUb/LMbH3Q==","shasum":"23b8a2ca09b6a1e48cd301e018a09aeef507e2a6","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.1-rc.7.tgz","fileCount":425,"unpackedSize":2620914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfskjOCRA9TVsSAnZWagAAkSgP+wd0Uf8tOgbGwWgqfw0W\nekUUbmtuA+d6hde37TOk6P46etn7GgJ81Vp+PNEpPIpzlxIdJrsNBy7ISmOw\nlpJomgcfnOHGgujpk4SmxXiCK/oXWWAPMEWyaSw0RA2XSdcCEz1fW+on3SIZ\ngM5uee6wpuSPyu614hxwtgwhM3UGh1Rn6nIynB9XGTZb71wAX+TBh//di9lE\njMHgmQ37pxe0kfXmR8LFgoOjp7pFN4CWzAioywU7O/OLItOmm2RtELA3+RUJ\nS7txQVAAKQTVJg9QKij4AhoW3dW8nwgh/VNueALi2bny6hkY97snBKf4ebuO\n+qdGNn7s25iqOOlC2EAn/0mLc1xeBmR9C7CNaHli4Mf4FNOlDK+BBalv4Hd6\nzNvzogsuW9tIlHN3hIep832lh1CrFG74U5KOHE5RVAw6/QLM+2CQoAx3GxlJ\n7QW9yGQK2h2f4wTFiNKQ9X5lgLLTaYdNKR9jk3GxMP1XS5avR/t5ZMCg4qaL\ni0MULuDIGkMM7es77N2lgfgb9G1NE4A0gKm/2A4//7obDGCe5rEy3u2NRiFO\nFXlSrvuRaX14p/f2LmVhYjrnsOPCtBWSGT4grp4lDFPx2oOqalbPxlpmJXG4\nEIaJnBKR7HCwuus5jdnhEpCeze+LiPMBFTO8Q+OsVwX2LJO43kWx7g/M0d8M\nOkEk\r\n=VDaU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB6QSaHQlysBDJ+KL9EqtFH/y7TU1n6n7lRXIDEGRp1iAiAZIn/Q9MOKe2iLud4ktJxK8Q3IseKZNaeN3vUPqQ35wQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.2.1-rc.7_1605519565625_0.22074357230586816"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.1-rc.8":{"name":"ipfs-core","version":"0.2.1-rc.8","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.2-rc.8+4921e9aa","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.1-rc.8+4921e9aa","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"gitHead":"4921e9aaa627c6fd03562c26cb7dcb201d6af936","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.2.1-rc.8","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-Fh/sZFicoh9mgVZoeAPPnJgBRI6q3c37OWINpydUN+vyC4iEV/xwaHzqa6WGN6GWBx6wJQwIitvtYQRLNQLOEQ==","shasum":"ab9954774973541c26aca055c3a249ea52e0351c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.1-rc.8.tgz","fileCount":425,"unpackedSize":2622967,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfslaBCRA9TVsSAnZWagAAQnoP/1K6+pmMlxnXMTaR4IKo\nMLOA1jvmJfS79Ilda4am7VmqLrneY/XKyriXOlbr/zxGs/GSY+BwB7E+4Yaj\nl5MGDQXqlNC+S08ZQfU4LEf11inUyKMg9r5XnLaSA9EdEl/cIFlNp41WrTL6\nTNs/7SwX9KGoJJYzsbUO+HBOtDuShDc3Sf4dDYMn0/3qb7nanNX/HVVwp7RU\nNSNjwKoO7piw2e+EwBC9LqfEBdwVqwe7Qh1GIQjCijpoIz32Y3dnc6aL0C/O\nYxAr/Z3Vm7S354aU+SsL8s0Mogwv3PzxHOuVV5i9Us0kD9Aa3PK8/w7p8QbV\ndcNBovLoqiClUnwE9D0qrX2WeP5lzxccDo+GKYX++uer9tmC2TDonKiu6QGD\nxJosnYSj+ikwhkQBltEHxSRtv3+aKYZQauJBoRaa5OByY2pmT+aEL5aUMOn0\n3A7Ae99aHpVpMDJqB5MUvYo3nanRW9wqv5az6zEMc03xokLL8dWGb6YmEGGz\njiAOlKDkas+KSVU4e1Q5NkmnzFkxqcncVJalKQKL+j0cOnl4seYuNsF/Ojm1\nUGksOOq5xuDHbPjoCeW//80kYbPShogtkjRF71r2ZMoRQhr4TV0T1AfO5Gvz\njLZoW0+jNOpCnWPWgKxlHxHfMUB84GjCEcyT0ysUWlgNz/paVS/3mbv0G0Vu\nmbDS\r\n=UCVU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC35CGW1ZnJ/Rqkng4sj0517OdUN2JZwFl50WUNJtMbRQIgI+ZX3vziXEL6r1fVdG2eLwPDqNJl/E7Qy+ncF3C7Mxo="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.2.1-rc.8_1605523073150_0.014506582462224582"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.1":{"name":"ipfs-core","version":"0.2.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.2","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.1","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"gitHead":"fade64683d1209971cd7572ba1b556a275259541","_id":"ipfs-core@0.2.1","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-XMceB4MyDqn87dK0kZu4zSIHDTbpDZMC19M3NHYSTlTOPyKXW5hY9BxVH2esdW/Ny1+Kl38hxINKQg5FNeajNQ==","shasum":"d13f0b037e7d07cc9fc4c4efee2bd44c807fc5a7","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.1.tgz","fileCount":426,"unpackedSize":2629616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsmJoCRA9TVsSAnZWagAAPEIP/R5treCVy8BVwqO9HGrR\nSxjqwj/6yTJYf44UFewPljZqWtM7U8v8UzAkFAG9l2IT0mn9IOqmMxV5dOT5\nDiko3MFqyu46h7ip5eFxCzvCC7TtWplFod3kGR9GCRdRNGtDxhj2HDtl1IFJ\nlcHBL9dBSb+vLdPuxe6TRlZx6nwqMbYvuGzMvkzc+WmhtwpnxZ4ghaD5+hD+\n2K3UUAW1yI9+pcylFH95zVDbNr3fu6W0OEe64KnJsB7JL7onCWkoS38LPUNC\naLZproGPOcK788UYFpgMG8NT4FT3bkmCEir23riubUKtZM90ijwNJaLIq/w0\nqf9I6MNxWMV+ku5FBJvgCb3PskdNtAgsyV+FKXCJgTGZ7QQjuYIYPgCfvqFx\nZtO2XH4HUhnjkjuM/c6jQLjQXpyKVOj//6jsz28uSkuIuVKXgLCnRZtoBwpE\n05coCm7XLUh0OqKGs5qxAaX9CYqjhwJtLih6esxv3hMcnRMNvUTy7VH8Hk6m\n/wkrW9oXFX2ZwOn/oFXSiVnAtluku/1Q3WyMIejIIQS7wSo38ZDoR1ItE7eg\nb8SnI52PQWwIMsTLEqJAC8p1vZ+G8TRn3vDJSrJKm/6xA8pVQ3HBEEL/xdx7\nMLstsNO9OGxzRSjG+E4H+MvAR7e8qk9tEjLDu98sUhhAkuE1IqZPkaZjubY9\npSHN\r\n=38+o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC7gPLk3kdTatFrcSlXsF5If0UrsB2J396ljUsUBvAivAiEAvV97wsJADAzaWHDaopN3FzvQfJ+65JQK5ldk0V2kQQo="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.2.1_1605526120078_0.5609557039832032"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.2-rc.2":{"name":"ipfs-core","version":"0.2.2-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rm -rf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.3-rc.2+c93ae14e","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.2-rc.2+c93ae14e","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"gitHead":"c93ae14e65b8a9ab4fbdad1fc69683db55430178","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.2.2-rc.2","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (linux)","dist":{"integrity":"sha512-uNGzyE/Hcb/goF/5Hr7EWgpsmV/VtVcRUyv5e60/LXRhRFJeET4WIQ+Y96RnMGsmHBM4Romt2Dh281s7lxvN5w==","shasum":"c88bee33255f440e11d7a0b44b71d0a3157da0bb","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.2-rc.2.tgz","fileCount":425,"unpackedSize":2623459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsnyrCRA9TVsSAnZWagAAlokP/iMm7b3gMuy8ZVFt4FDm\neyyfEIfZsnson5u6HpLUPDJ/WLes64au4tXnZH6FNpSSxnY0vDHRETcjlfGU\nlAI33w3GhGkt0KH4sCRV/XxN1sVHj03vfMZxd4q6o0Rwn0mCwQhZV9iR3tgX\nfpVR5Z4bAepDNfY80sd9yVVrCJNYUwr7m+EXKvWl+blUv1BYGw7inOk9Octj\nFD5EPGgIEgzpLFtuQ7c0yKgq+KqNxOebvy+XmPh6HnFtGNzoyqlN1SSvlCox\nwI2R2bczrHIm+UNRA4oEZEG3T8KRHUfzw9gAGsYc+3NN0sutsg/TmivsEf3n\npFOro6lJuvy5RnBt0PNZkhXFv3zWLNMi9WUpehqZ5PjPBv7B4YTWSsFHKqTU\nVHO/bSYu9eCPQxk6hPS90Lx7pMhlZ8sIzaFEXW7AMzz0mh1IjdMI1NFZ0bLl\nn1Vm8NPO+aKsZj11KRgCgXmGEHtJiHhjFBe61JoEPGh6m6Z9FVKtoWNbvPCA\nvr9hpDdNjsYwAyAJ3DUURbkw2cPJFzs6nw9PZNqmknNuoEO3rKTWiyrOHm38\nQ3saZlMvlqYrcXPHF6zn9MwOEcR8iq6fTlYhw+WkkpW2Wtef1+Iz/miZ6e3n\nNa6dOpL6SWDAeCgp1A0UeZnBoKFdCZtuLpm1YeawoRgykJM4b0ZSeYjM9S0/\nEPFk\r\n=zp+S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2NTk0g32/T0u3TDaQ+8VAR03nAcb1Y5tZt3RpCOMJ7QIgbrFnbkqiFYjukpYLFx1VsHsnhFZtIb+ipqYSwtz013o="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.2.2-rc.2_1605532841810_0.8083137753538063"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.2-rc.3":{"name":"ipfs-core","version":"0.2.2-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"any-signal":"^2.0.0","array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.3-rc.3+4fde9221","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","timeout-abort-controller":"^1.1.1","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.2-rc.3+4fde9221","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"^4.0.3"},"gitHead":"4fde92214ca8ddef37d04ccdd2efb3a344098b3b","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.2.2-rc.3","_nodeVersion":"14.15.1","_npmVersion":"lerna/3.22.1/node@v14.15.1+x64 (linux)","dist":{"integrity":"sha512-J986O8fudnALdIE+B31YW1egQhB/ikgI9NNQL7R7XMSzxLufnB3F+SJ6fMMhAR3w6T/D13FNX6EXtlJMhC+22Q==","shasum":"7394ea917f521a9b64a98449b25e31685173da71","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.2-rc.3.tgz","fileCount":425,"unpackedSize":2623459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftRkWCRA9TVsSAnZWagAAsTQP+wQjXTLjh1k9MbjbatAt\n+d+bxNNaNZ7x44AQ1OgdlIGWol2/d0ZTBnABOF8t4aOw3h+tqOOppIAbwXZh\nnqn585kTAM40leStXrQ2y/y34f/ElA8yDer0nsavB4QDOa2SA+ruxFlYlGOY\n704g7jU0wqs9MPSCZv8iT5UJ9jOf6Bamj1kANfH8FGI8ZlwZUYI3wdX1QHXd\niZUAHMS9N14sNXWqs64rmHC8SOHy91rEw56YNRGfT4By/jfRN26GGRH66zP7\nPiKRR2cl0Ttu6sqm6GN+P9Xz/ZRAGtvxx15rCAreWmJbtycplJmD2kZmmnH3\nwQozIhV5bM8pMsn9fEmE3Y6DOwlu1Ye/iTdwPGb6SZnPSDy+kKrIK7+ISLCG\nOIstf/g0D40KdxtrJUKRGOidxARoInJA/TTLxZwd34CqHubQSBcq3Tqs0Ttb\nNjl2Bdr1/n698+LIMKt1QTEI+gD4tkPjFHd1tH7u9YGiVGqmeexTCN9oAbJt\n9Js4EFEV/oKYywsr/PKMFuubKL9g/u0PS0R6hVmlObEnnWJ1SIz+d3UAP0if\nO+NrSe2Oj6k/O0bKD/A/XK82oE5L3mvbuXXnV2i3osUq5c7gIv1ulavSRocq\nl36jmMWaQWmI/VzmKrg7TJ5/OhZZyHvvXPfyEJZlMuA2s2yyT09keLUBh9Cq\n1fCd\r\n=BaSS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGvz3ZhY+g1Evx666MqoJrML0h+R9nM+0h1fDnNJWUkwAiEAy23Dfw5+Q+Pt+m4My4Rgjf4vNyJmP0Rlvrf9hZhN0rA="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.2.2-rc.3_1605703958140_0.9445572617788816"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.2-rc.6":{"name":"ipfs-core","version":"0.2.2-rc.6","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.3-rc.6+4281b404","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.2-rc.6+4281b404","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"4281b40413165595e691853df3cfa19a6c219bb4","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.2.2-rc.6","_nodeVersion":"14.15.1","_npmVersion":"lerna/3.22.1/node@v14.15.1+x64 (linux)","dist":{"integrity":"sha512-xSFk5AF9+14EEBHtgEFz68f9wfXzKAPqbxB3yBnFK74731lhyWQNuvh6pH2XSmmZ3MQp2CpvXUfEQU1vSUrbDA==","shasum":"f00ac2c67bbc50395eed2fcc14eef776156da603","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.2-rc.6.tgz","fileCount":425,"unpackedSize":2625720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuFM7CRA9TVsSAnZWagAAYpQP/RwIOQWNFaqSfeXeNAz3\nbME6TndVRRrd9OpqVOBtyzEFqwegfg9bKLcCBInvG8hANR6fEApSgW8kKOhQ\n9BzbiyqcixRSV0rHUHjFDFmJ8Iu06A4hLgTK22JbXgbYWqJEv+pY64Z8Ct6z\nknJmY4ocFChlP/oYiUmZ4nxSFiKAkPc0vvFKbN3yawp62+TbdSMCgEkn9LVK\n/n5R1YF5LXC1X5J1zojf0RFsgfew8TTLcliElhkJCBwSWH6/eMdmAPwVEfSH\n1O/aucar6v3Dw0Khx57Zdm7dUQ/DW3zivJ9zQLLncFTc0bzDHtDx/mE8dnd2\n5m86pQ6gjH+Bfj3dqvLumyYDp0OLqJ6ZWExfvEZgz4Gz1af5nR6/bQUu0z9R\nWdvJk5p8LwLC69/TZZuY6g1e3xJJwH9s673lElSuHgA6H+1SqtZ8SpLFRV54\nPQ23sdRMIMvyMOS6yQBUtJbww8hk6FwfFlkmN5T8mPEbdif5meEfBHz6k+cp\nYMDaCnKFy49JyAQJsHsd8Rn2kRK1eidbU1J/k2ydybEB1y0BJ3lbjhYACkSf\naTMFH45I1+zuKmkTIH7dM3ZvvSwWUP56G4SbLMkV4qL5CxLtdBnuMtr25WiO\nWBp2usDdkQWsE9RWbnIKW63zgfWvs57GmjktYWLuQuqcHpc9fOn77qd7UJXu\nk8p7\r\n=6Wge\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFQAd4zCx8DCwLwPxFmxu9xDiMHnQIKwYB6NRAyMQX4TAiEAreCA9WDs3Lcv9VDiW+XQ9zh+kePs/vB/MBGU+T3uUlY="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.2.2-rc.6_1605915450567_0.40371260404219145"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.2-rc.8":{"name":"ipfs-core","version":"0.2.2-rc.8","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.3-rc.8+406667af","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.2-rc.8+406667af","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"406667afee7db879ef505badfac8b0745fd17646","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.2.2-rc.8","_nodeVersion":"14.15.1","_npmVersion":"lerna/3.22.1/node@v14.15.1+x64 (linux)","dist":{"integrity":"sha512-c1uqdnyoWgJtKW8xZEPH4bkKVsGxmb8ABxbpCKHbKn8obqACwXpehrG7w0UJ/+dn3PjPg6q5iQUc1cf+wsLnag==","shasum":"7635630a4ffbc1d5be20e49d59587251fc14565b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.2-rc.8.tgz","fileCount":425,"unpackedSize":2626631,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvg3YCRA9TVsSAnZWagAAeRAP/1mDakKbLeLZKYJuCJmD\nH8AlUU11GL++CAGjBvtpg8gjwliL1XO0SKA35P1BjwEyErAfiWpuNTBzQpab\nsFzfb2bnO/DOCo4BXwO+1h4izxj+4VSLqDEojgik3oW+bJadiejBV/1JDkEE\neuBeGeCr1idgSeLEuPjZqOoyj5vy+mxGQbzyp2/AFheywyaD4BKGqIKQSTpj\nYcXD9T37O+BwhnzuvKSQYii5+RdT+RRONNCzXUdmR1VwUPkAia90Kpb/UBaN\nc71drJAQjIfCW+OgjqG7UcXY0PORWo2ATJBUqvxaZGyyqVlI6WEUzZleb5WU\nm9zgPKNOlguZAIMbnduL7f7/Al1MwZoNsQMMh4ldZT+m+4y30W5aupld7ttj\ntvOZowtIKvBLAO+MpMA7d95lyDs1noBPAz9nUVp0+uOf8GgiJP+XyAX+xpBM\n6ji1VPhOdvT2FkFuftNCvgxhr00i0jB+Bey2RcrxYEYFO4q4fHAcTSVsHdE/\nXuwQcsLwEE73V0HHC3JE30vJbR+HKMBptf/3MAihwnCrgZ/0jKAAmqQLSxrD\n/ZFAh19YrxQMnfL22ps/pVjvMLFw9jbq455RGPh7u/TjswRT8ZQlb0Q4QLP3\nABZAOnOQfR3gY1BzPiUs4Xfbc/hKtST5tr+obDFTyDKbYzt/VVqwzAdKfprX\nAoq/\r\n=c/3C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDS2naI4gUqpoHrUE2yxk5caaga6nODhDL1uRoAsdWs7AIhALDnac+UFpIMWxe5P/SlihWOozitMT0kSLM2EBGWFLp4"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.2.2-rc.8_1606290903832_0.9186553834068558"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.0":{"name":"ipfs-core","version":"0.3.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.3","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^4.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.2","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"6e660f50d3a4611f7ef909804249d3b0172e018d","_id":"ipfs-core@0.3.0","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-uBcYGsIM8lb8dixDvZ09OrMM5nBsvMQX9tUFS3+oo24JRhGKMWtDVV3umn26mXygobdQfGCTZFqjVMxoLssVEA==","shasum":"eb2f4a62d5adb2575e0ba3a43508e4f9d17818db","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.0.tgz","fileCount":425,"unpackedSize":2626907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvhfTCRA9TVsSAnZWagAAdegP/3AYoOltNDlwRlCcOp8n\nGcWnzgK05T4e87964DNtGM36ZHGqGs1GTsVD85K9yoRBxNh1KZo3A44qwOXR\nPlFkjQ6cd9xAMCjKZcQ5gmpH2n0iTDlTRV/eSj/o4r0pyB+3SK0H+ou+6QgO\nAAikzRggx6oHHkNaWOduE9lF60bvKPQtjh70SItulHLyqs3KRQE/bZX5V/gP\nnXwcQtuhV8oMphvtV4NWwaBdCtVlCCkWrRXPx/WUnbFtz0tUQbG3OhqQSRZW\nFNKI34X+7KyKMZtvgtVyjcj42Igd/J5buvB/LXlt7EdFxIeL+6De6H4u1fsF\n44tyJYGR5/rLPX97001E9wsKxyuixuHo6zkGVp9COYB09WcHgTptCnAGV5X4\ntqQjN5AthjOxkP+lyhup7VMQaYbIXpohrZMPGMjadzEO7fJlYLYV2RP9tiTX\nI4GXn1XWzSssQe/vvQy+XTJI6yK0y9JP38kTI8PKvdk3Re2nztPVVfBNAbv/\n+GPD5RQ+2zKRZwwy1azeShYHB1O8JYWFAa2rwk3G3460ycTNQ5+uVwlsjQYE\n3KZYXxqxhu+Fz25t9+XKz80FE57gmeo173b1/ZUnnvj7SlGESPyrP2qm5Rs/\nAMEeHw+iNZmQPPjhd7l2pzCRqvNdNriOPUbeZsk44TkywIPBjNI1vpxZewaD\nQdch\r\n=RUom\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5S5cxRgGlF8aNvTzbuRhx+wFi8qgCwgb1IndIhVVM8AIgRtbnTyOUYNvXce7RplHNmI20m3AHtEBsYcInxZspTq8="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.0_1606293459075_0.9460138091858616"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.1":{"name":"ipfs-core","version":"0.3.1-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.4-rc.1+bc6e3890","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.3-rc.1+bc6e3890","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"bc6e389099df351b06772e10fea7923ebb028f66","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.1-rc.1","_nodeVersion":"14.15.1","_npmVersion":"lerna/3.22.1/node@v14.15.1+x64 (linux)","dist":{"integrity":"sha512-vzKyh+fguw1Psa3DNyUO5Q14nQYvJlaNST60USH+XKjjTgjs5TU169dEMXB/9RDAIW0Qh/17Nk/fBA5HGAjBVA==","shasum":"a3ed7c324ca3b21c1a8621c4ff0075d050a12354","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.1-rc.1.tgz","fileCount":425,"unpackedSize":2626862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv2Y1CRA9TVsSAnZWagAAwusP/3hR3ToEXs4RfSqgtLZF\nxvscpOGvbELxuxmBchpGice2s3KsnerQLIpMVaXRop8LtCpLgubcdzVRXFTr\nPR2m9ryf9ianvP5R0jap+Wjm2Rwhv8w0n1Fqg/AFpr1+3W9ELkR3oJKfqDhI\nN7akxjbG0ekRWQfGSWolksCsYyDX6+Y0XtDCH+AjcWUt/UsGI4EpIB2XxcDm\n6Mg0IpH7d3jvf34ReHrRZrmqRWNvCApk3W6tG+L97xidsNic0oaOIn/iLCWI\n2pxMT2vUY2A8vGm99iPwxEQ53mfqwnQnoV5OoW14ohhKXpvq8mthCTXuBDZU\nwIswg+4G2H+hbZbli0ZYh0B4mgYj/sVsKSywLcN3aCHrWb2+uk0N6LPZYa0p\n9/vmSPEa3hnGvLh8baBYJ09yORIhqe9TLngBueddnBqDOePlz3YliE5mAD+w\nF0fEdZgpM7CQdVNrylnojvFkgGRMcUFhYFfpOWJ1ORE1oMcbJ6X7abmcDMZU\n8vPPWomiZgRUBfO3JtTKcjyYBECKP3l+uv+LuWxmp50l/N/80OMJHkU3dz1f\n50K/FmsGjUhA1w8d6UEwE2r+7DmBGS3VfRziWacpMTv7hqRU81GQbd2Klb95\niijit0quR1/ARp9vhutriWUQXHFHHcH8dSNSDsCb96S/ASIRqunL9ZhBPCZj\n4jXu\r\n=ncYg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIMWZZMwnbvalOKEZOI61FU2/ZQE8ejp+VE+zPY7QArwIhAP9zubkpoxkrG+5966DDNg5bSIRLEszRMODhwVStcHjk"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.1-rc.1_1606379060649_0.5269348602380943"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.2":{"name":"ipfs-core","version":"0.3.1-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.4-rc.2+4ed94928","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.3-rc.2+4ed94928","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"4ed949286dcbd7590c3a55880cfa9f3ff6a16f13","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.1-rc.2","_nodeVersion":"14.15.1","_npmVersion":"lerna/3.22.1/node@v14.15.1+x64 (linux)","dist":{"integrity":"sha512-nxeiwKHXtKKia9VUcDDzrsCCOek0ShQA2MkS/pBA072muK4C/JCW/R+CVqEydTKJqskpPBf/muFRnzqL9+e2TA==","shasum":"fa44c941cc833d786d7fa1074b9fb3afaf27f227","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.1-rc.2.tgz","fileCount":425,"unpackedSize":2626862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv2ioCRA9TVsSAnZWagAAEAYP/0Bn+SfPW+kgZ3jS4AZz\ng8UXGtWmsEl6P1uKRGUPrvX2CPuAXdfKnVxue7ohICwebgUE33OnSneo/5JL\n2LsW8HtJulu6Kou/mV5AuQq6nWSMEl2Y+D39M1qj7GkauHhBNLtCtQMHWpLZ\nH3oJ0xtXhnwg7HfWE3U4K7x7B9VBzoaBRy0Gtgd952D+lVgGVVTU0anIxexE\nkBGtJvqVdPjXP56IC1yhqOU7Q0Ym9sKTZnhDv+kxp6Y+MUNnyQ96jNjfE1pg\npAq3K1oCZksyTwG8D3GehJp3aj2QJfMeb1dE/RTdCG6BY3oKs9I9AR2RAnAE\nLAOMVhOUwgCD+pvKQuRYOhdSdCPvZbphSgzYae2VXceQYc/fBhKfcfNbHHjJ\nRYIeq5ozdO93X0owrDFbgbt5cpr3E8lxL2ruP9NSvPOK1BiX7HqfgxteS3XJ\n0Io7mpt20k4TAcQFtKFlQVSZiIvCwaVOKjCj8BG/ngpaJVdQTnVc1aYPHwKT\nJ5E8hjirzRP9wMgHmQ8YwqVInEMIqsaXmvkpFXimgWbxOn+cEdFX/m/VMrEl\nFaRUu6RGrj3awxRJDQuA0nKR6N1sZiPfphZuJ6QvLpdCbvRHY5KOU+L6ftwR\nYoPXCRGQF4s6PicX5tpFt11TKF1je9NL/uqGiI0vUGqiFRC4zaraoLFc8BAO\nZDDQ\r\n=SvNZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCERUIHpfWN/5K6maqppK9saXgalyDdouQt3vRjeSZUJQIhAIVovI+kdKDnEZQMdMCeb1YmpvlhTrEMI/NAUcBHVUE3"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.1-rc.2_1606379688308_0.035525689851805264"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.3":{"name":"ipfs-core","version":"0.3.1-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.4-rc.3+0755c253","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.3-rc.3+0755c253","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"0755c2534cfde193e50c9b490c8717ef8ba89c63","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.1-rc.3","_nodeVersion":"14.15.1","_npmVersion":"lerna/3.22.1/node@v14.15.1+x64 (linux)","dist":{"integrity":"sha512-qIuqJipjWxQc+NbGjegeIDx3JXz0CqK1c8J7+P/uzt6iCKJ9JA62GID9Cg9ePBrwiVS3qeIHx3Y4U+rBfE0PpQ==","shasum":"4ea9dde3962d52ab3a9bafde98e1a23687b1366e","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.1-rc.3.tgz","fileCount":425,"unpackedSize":2626936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv8qFCRA9TVsSAnZWagAAQpIP/2dZfSNafmhJJS4nFqSC\nnKrfwoYoRy7bM9N/YgT33G9q5IRHrxU8CaU8iTaYKqVV2pwE/xL2snEhox9P\nhWArpC7aJHzb7KyqE+ArOCD7WE4Saks3UnKcsgphKW5xeirhogQfpnly1flA\nsaWC+XZ2xcbRHmBQ9mk83DmJAmzf5w6Sb9s2bXRGRXMJT+Otli+l8nK/gTLW\ngXbwXoIX41Vp0dRIKKuk5+VxzrvRvC/vXesX9kjErHganlmp2qesV+MijvTU\nQ62oN3N2MRwbIeOslTHAm3Rhdjr/ZKOkgD3jzBMwVLeF6yuO/QO1b4vACWyL\n+iv+Rq/m3nCds5yZQerWryU84ixkXlOI2MluTLElW+ptX1iYsH6ei9scWxXy\n6hf+n/SDykiOtt9v18XyCb0RZAFnwPmqAMHtD2rdPyXSPd2crJfA+0t4gVN/\noh2BYynVqNedkI/XuMNpOkG+MEumZJbBr48IKRH/TUjoclliBydu6ciiKZv6\nVUkbVk8dDb0RlvzQ5ePSsLqeK5EDgIh8Q8uMV994c2eOBipoyTEEKfwmlE+j\nAVaMl8AI2fI4okZOiSjLkF9KXnGtYKEbDGWZOAzjLnVrWOkmqwNLRN5EVwyC\nrd9xd0CYyA1wyS0HCN/IN3CsH4/88i02G6o3S7SVIb56HnQdOmMuTjYC+yxQ\nKMKL\r\n=eK7N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC93WdtI0Gd5APD4JbdydxISS92AzjZc5Z38/dSyzHaBgIhAINEN7jFnC1aNnH8TjZdDXGKwLP00dCf7UuwIr0X1T4Y"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.1-rc.3_1606404740828_0.25388729243773134"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.4":{"name":"ipfs-core","version":"0.3.1-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.4-rc.4+06712481","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.3-rc.4+06712481","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"06712481604985f60a3d5d832b51e174e965c6bb","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.1-rc.4","_nodeVersion":"14.15.1","_npmVersion":"lerna/3.22.1/node@v14.15.1+x64 (linux)","dist":{"integrity":"sha512-fblvn0R4gdzB9fyZNMWqLR59uDAsZfIFddG3CU4VqsTR3gef/BHJMZQAFOg0OzPJmGtFzEBhsFLjHJsWFIEZlA==","shasum":"c94a8d15e8284b57d97b7ea39f0a34dd6dbf244f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.1-rc.4.tgz","fileCount":425,"unpackedSize":2626936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv/d/CRA9TVsSAnZWagAA4eQP/1143tQoFNAtbbd5iuOq\nqQcADelGWLXo8HW+/BQJ5Fd5BG543vFLUKSfaNTJG78x8gBlZ+iMgB8W17Ar\nl97SzToC3GfoPzxlQo7xLlSJ6Ae802PVAMzzWe0LQFixzSvyurhOO+qoqF2a\nMmcY9SviVm7+va992o1e9oQavAMvxjxDSCHK7ag8ZNdCBbwznsLZF7wLjtLN\nVFpXAgHeHD+WFXQ3rfAaYdPselVzO/weytuo93BxaxCTq647BOVkDfVGJ4c5\noS9MjPcLY/KzxUPY6t+NCJyoGVxOwpFKS74EF3uwafkGz+CaSfdLbyVMYE1/\nZpeCRHIXDr/xNUwA3X6jcuvQV1v8n+E1vAaKqMBZ+JHLSEL4SIa8iaJLzLxy\nnO/vAD7lfFNyGLMErlOci8VwXoL3QsRKpL+2zpu1pznanLCImppbpV0DtdJE\nXLGbKGoxQ+2x1G7ioNWXXqXUqiYBH8X2VKqznTtT0APYLeclPWxRwB0Mbkj0\n7nuIB9o3syDyyHzStxvgva3I8kFkAeV0JwrEk+56mH4Z4f9xFdI+ycGNyojk\n+shpexMepVtVY/KiYgErVDMTwo1CIY4jrSrFU1AQbQYm2azUUFPYu7xRKX4v\niQNE95P5Lh5XGunZxCrDLrLGK0hAjspSJRLa/zZtYsLFzSp6FUaVHGBsDPRr\nTT59\r\n=aD/L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaEK18kHyUNKYOCh+gt8Cxq/ayBaX5v4h7bi3Hi0VBYAIhAJBhku8bRW63vZebWXl2YG0LytcGhFLm6U1hu7RpWsJx"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.1-rc.4_1606416255391_0.9429994686686001"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.7":{"name":"ipfs-core","version":"0.3.1-rc.7","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.4-rc.7+a4ea8fe4","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.3-rc.7+a4ea8fe4","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"a4ea8fe4ddd0f247b7bcf42dd78a77c988667011","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.1-rc.7","_nodeVersion":"14.15.1","_npmVersion":"lerna/3.22.1/node@v14.15.1+x64 (linux)","dist":{"integrity":"sha512-Rv5JFYhFVdq8Ks+gFWVz3D0Q9THhbuuqv7xMRjTgOwy39XTRpb2h3unZDmu/TZiVxhrOtkNP0Zq3AFro2WmSvg==","shasum":"0f17519657ec512e386a9e1785741627d3192cae","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.1-rc.7.tgz","fileCount":425,"unpackedSize":2626708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyRp4CRA9TVsSAnZWagAAMpQP/3vlDCubLxuBsaw+MgPl\n6lfb3AqnSZURdD/Zc1+hzt0o3eD1xIidFy3nYtvcyn1ARicpa8GjJFjJt1mS\nTZmhtsUenX/qHE/wwfgUJVvEe8SvIRSIc65BgPP8DqGzKcRk78yenUZ0o4XB\nvjhAZXyO6fU23MPodbuss82kKn+VfG4fkP5dWa8HvcyF1C02+pHxAgmme0Pg\nRMV8O0Ju+c/rJZaB2Hr1Z0FEWIRjLnLZAwLijwlZoCky9zHaGp+6ypjrzEt2\nczyynCidvsoB6bnxAZwrPG+PA9IvfPCW1nFGrscTPqapFVj3cMi9TknBCdcU\nD0nB6xINB2fBqAb6aIRYJbJ6NS/MDmp2zP3aJLE8+b+rRe4JNnBPcqypTNeT\njJO2zKwsuoXambR28qJkRTH+pl8C9Uecs/l1dtmaNCdJhUkC66TcPhIAf8K9\ndhypV7pr3o3OGgXGLrt7KRPxK+pUJDWdCfPXOq1ddBMCUoJfR3zV9ecQT5bd\n8IyPGU5eWWGeX3d2zcQGbNbwWT9lLV1rlDsuqL/V4AaPgGNa8sFxSQl3PVMj\nwgPOlYu0rP+g1uTNAKuBtQ4bRDWNdhIUwDmFbvHVBPEY025cXQjxDJJ5jNMG\nUPZjnhjt8NavxY2o0sYF/XMfBaOdARK3KEFBxs82WYt0rr7+7bUqWUKfImR8\n8Eup\r\n=RepV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC6d+d55JBnSnI4jfL1dkTKqphR9wuE1AA0rHuaJUWe5AiEA6huKMDksauuhH82x/kUi2nF4Hg0AgBJMuZrTDyNLnVc="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.1-rc.7_1607015031839_0.1452749278173866"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.8":{"name":"ipfs-core","version":"0.3.1-rc.8","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.4-rc.8+8ae40100","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-defer":"^3.0.0","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^28.2.0","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.3-rc.8+8ae40100","ipfsd-ctl":"^7.0.2","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"8ae40100552ec4a389112e4dd4885904219ae4ee","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.1-rc.8","_nodeVersion":"14.15.1","_npmVersion":"lerna/3.22.1/node@v14.15.1+x64 (linux)","dist":{"integrity":"sha512-lVS2ow7Exhp2SirlnpHkhYSilbOlH5Rqzlpj15O19KCJt71wUCvpHq/gS+NBcu1AUf4YJs42dhJ4YS4epbbkag==","shasum":"c9365ddf8848e0d3186b857a6af092407dcca873","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.1-rc.8.tgz","fileCount":425,"unpackedSize":2626708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfySC+CRA9TVsSAnZWagAADJ0P+QCcQtZ7k6bG4fMz4tGn\nhWFtMeFuWEMK++9j62yGyQ4UUXZjIGpoMVqcopzgBufrFBQko3NKxzz42q3/\nRTfJ0bVZ+GYf2a75AXDqzXjDv92UyHKOu9XCFTvpLXpiVYCrd59ABuqyb8Er\nyD5fPatVCQ8gvS+IepIDaQFpx1AFwD2JwUc3jz/JWec0C4yyA0PWxYfFREOa\nt1Ka37b+8DV6pxzI9qHCrWKe1kFxnG16RH7Iyu8weKwAlm4jmHqBQRgcIaYP\nNk9M5GK7dvWwhfO2XmUbMXkd/I5Rvbki11iMLl1g873QW/e0gBiDxTeWks37\nU4M+KjaRGN50Nyd3gecpuU7513nWmXn8iBCNfhWc6LQT3ir8dt45Z4zuZZLS\nO5+RBq6ezolM+fHyEsDMaBC5b79whTSUqUtbtB/8dqPcmBGov5m6llBGjZ6h\nXa8+jJLcjcVdrGZEHBMms7XZSN3Q904kt/rtcIsozrYKZwJv+Pijz6bb9M7N\nAZWOQkKF318QFPW2N9AGqUvG7Y+drOtzscxGjmhmEq4CxHHZRNQK13gY8iya\n8XA3rDRHUqh4SlM2oWAI8p85PzexFmI9wLS9fG7kbEZY2NeFgy9wVT/UWAbG\nrBhVUVreGuli4DNUdGx8MNFgAC+FcB92IFSOenmuTFMwqbS7El5bzi7otBd6\n0DBl\r\n=cFLp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDX4q2ycJgT1yE+Be2ppee9YEoml+DYs3+n6ahy+rqjlAiEA2QzJc0EKkr7GGXWMGmM1Wf5/TObXXWjF9NRvg8C+C5o="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.1-rc.8_1607016637535_0.14792582482810213"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.11":{"name":"ipfs-core","version":"0.3.1-rc.11","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.4-rc.11+f7a7a0bf","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^29.2.2","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.3-rc.11+f7a7a0bf","ipfsd-ctl":"^7.1.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"f7a7a0bff2f87a03e554113a83c5e5aa728cba89","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.1-rc.11","_nodeVersion":"14.15.1","_npmVersion":"lerna/3.22.1/node@v14.15.1+x64 (linux)","dist":{"integrity":"sha512-bp/JuEPuyNJgcARmCYelRR0uVzdesDSQ7LFfdzrtZsBhUV49iYmcN3g+cI/bPHWHc5SB5D5LhmRRq10MO29NXQ==","shasum":"27e29c21a6dde7bdc70fdaeeab96909c8c17f008","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.1-rc.11.tgz","fileCount":506,"unpackedSize":2624788,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfy0SaCRA9TVsSAnZWagAAq9sP/2OQe7FJzFy92pqmw9Wp\nvCZNO2mYArUnEjxVNd1mts93pu18J6NP8tm/v36RORT3PD8byrJl8paEkp2J\neMPmKDJUq5ZONjhcZw0TZsLTfZuZr//ErWbolEAZ/sIHjSxzS71GlNO3j68u\ngsULnYGpNZgaIpwh0CNjXrL7nGY6wHVP5VqlKITsLsUrwPJOJu+PFnRI5/Nm\nK5ePeDIBUTuP6a3Q3UPx58LmLmSrQL0Sf/d/5mwT9w+4N9+R+/960fMdlrm+\nmJxJKfoi2qgYVjei12BtscdPuf8AJ0QPZFwhiR2L79TsUUAalCa+xMFtlell\nGTuwoV5dBSHiuIcbb44iWVswA1DmlPmamQQALSatEO6V674o5ALfvEMSmA6r\n2UPIJL6rLuj32xTckpLME6EPXDlQhTvIcCXcrrvU5o7ieT8Tz+N3GQt+XTjf\np7+syYm47mGJoCQM4YbX60o5V0MJI93KS9f1qHHgrbaU7DwlLymPGIUI2i7T\nV3QWgj1nmINSlhn2Cn6HGZ4L0ys3hqc0c/yLX12Ibrhi56MbQpO9+6A6lEf9\nMg/xnDBi/Hel/rAlL0zdWHOC0e8jYHVKcTdgE1SqNJBcZ3nA+J8d7fFM1sZT\nUJIxUtL9p35cq+X7/qu/URgMbB17T20n9FgCz7xQdvlnqfH0/53PNHKJndvl\nVlev\r\n=dmm3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9s9BrhRy+/dX60x9ZuwWvq/pRLzX3M6S6G34p5BAcxgIgSlV7DGv6Cg3IcsySXdhVUh797Kjyy/S3Zf1rH76ZBD4="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.1-rc.11_1607156890410_0.6058383981527165"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.13":{"name":"ipfs-core","version":"0.3.1-rc.13","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"1.0.2","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.4-rc.13+299a64cc","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"2.0.4","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^29.2.2","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.3-rc.13+299a64cc","ipfsd-ctl":"^7.1.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"299a64ccbe4c4c28e4e3da3f70dac363e14c78ed","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.1-rc.13","_nodeVersion":"14.15.1","_npmVersion":"lerna/3.22.1/node@v14.15.1+x64 (linux)","dist":{"integrity":"sha512-6s7B7BPMkCtab3SAmN6cUkprMKz2Q39ra/n+8Uyt5i4uoTep1gaQNWDix1O9UBSvAjm/jIfvMK51DuUBY/jozA==","shasum":"b3968caf0149811da8fb83a8b4172a8a026b9f05","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.1-rc.13.tgz","fileCount":506,"unpackedSize":2633552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf13b4CRA9TVsSAnZWagAAnpIP/1wY+3Leb5VVaHKiqdg1\nQ/kSdc32zBFIEPspGr4lXPgGXydJlJbxAOvS44MXFZQJfSOWEMP4YQmlTqcx\nCIjZc+7lqXSTg0qsLeMaNtuSc1CmbfhyUEFTqHFdhqXGaufjCM7cEyYj2NO4\nI5srNm0jjls+JVqUO7/6b43pNvhogEfL1zesrRrPJxqnYn3T1kEFPIrAslhC\ndc6juYyjRLzx2bmZyNImANBGsp23a3s1301UA+KAxs1Br1fVghWsJ0rPAiF/\nC47tkuZ3jZNBlfQhY5jFvmf0H0PDocEJ6ztdcq4ksOjBs39WPNGRD4KSSIR6\nxTBf/dwkEuGP0+ih7SdwaNAlwENxO2UjNLtYYIUaL78ehcciLayOGBXfCeGI\nj3X3zJ4HXoU7JmtaNSBHOhLco7M55FssYhMY2Aktt6LF8N5Lb3tH24A1UWy6\nZjFG/I8xfDTUxjR7etKzghvY7uHZ6oPbJbpLVd8v1UsD0chCkr/VhmXVG8Wi\nELwcGiL+hmqd7hvRpPDvvD/xNiIS3YTGWzy6vE1xIxtr5CIMmpuAcbRhIe9S\nYerYcvU9smv5CHURHQCRS87iapx206/dmbaAJCB43WSPzmhbAvQD7/tZW2GY\nNrGHAHHgpO8dNgfzkp4SYuyhf+700YzBaeCwS1IlK5jlTEPdtwte2qz0XZRa\nojVm\r\n=ekNa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8LHbslQsJclt2pMKowNetTc/9SnqJPCrKtOHaWyQjbwIhAImeTEfJjvDwn8bEfiyL0gKzffmctd3mF9HqopJA3f5U"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.1-rc.13_1607956216424_0.3981466876818933"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1":{"name":"ipfs-core","version":"0.3.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.4","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^29.2.2","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.3","ipfsd-ctl":"^7.1.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"6b207d77cd66bc5326f260221e53914192807861","_id":"ipfs-core@0.3.1","_nodeVersion":"12.16.1","_npmVersion":"6.14.1","dist":{"integrity":"sha512-d94i8Bvhm+0a38rZG2q7EcQXcVT4cTkjCZAu7ZZ4HOWyB0EevqrxH6D7VK3zv6fe+iOC6iv4qrB+Wtt1pE6NVw==","shasum":"059bca87fa50f5a26f007e11526c530b9e7abbf9","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.1.tgz","fileCount":506,"unpackedSize":2637938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2eXYCRA9TVsSAnZWagAAvEwP/jGDcVEHvQEOlY/+bYHa\nOKaa28NtSmCKXabMUNdR5QqDLA1Puvk5xNSzJ3O8hX3AuYzPmvbZ4kJHD54M\n684NTHF/EzxEbLey8OrwEE4yiY4xg/I1eJRoJksAnxQrsO6kNTmLUdTxL2mk\niYhujKaSqUOoD6qlU2I3FKrIWZcu5Qw6kD/huCBwpe03gh5gUA8mvtbaEgH/\nYpTNQImxp6kVGy5BOl6YjOcUioU9lP3W8Phk32j4BIM3pxQxbrUr9zbRKABP\nYYCtNyc+agQEVbtNkpuB9ebsQhvwh+fsmBeSg8OluzpjbvGdm4aUm8ZLpXJZ\njEsr05azqy5qshztJAkEp54mh2uU/9xlt+pRFXzKABrSs4CAn0Lz4zxEGW4Z\nUhZowam0Qwf3iSi5LolRdangcRPtsMnFxLMvdSavQfy+rC44vpsMBo+Dl16j\nENQXuW8jqqPpw5fHuRH3xunBdvEQcZx5GXD5mbPU3H4E5/T+aKBu5IprVnMw\nQLcZiGIYKVQsCJbJOTN/kNFt2XI4HYVvUNB8povdiBfIBXjNQhSXufUUeAFe\nKIo1pMO0J4JLDC0vys7mBiIeRFOSlYMVpkq1lRDuuzFK28u5Th8gJMrHkItR\nSufqWh0bPpWNqThA4z9GLxX4qWJtfbITSIEc5JicqFzWcrriPELswhg2wQ9t\nC6wY\r\n=ZWee\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHQ3H/eDvP0eRQGtH4/KJ/6tAjgkQPSVkvZfVsHm62wgAiBrydY+mexiunofmjbD6vv64nEKP/zebkKsSzq5nJO5ng=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.1_1608115671741_0.007773446334654821"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.2-rc.1":{"name":"ipfs-core","version":"0.3.2-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-utils":"^0.5.5-rc.1+50147d77","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^29.2.2","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.4-rc.1+50147d77","ipfsd-ctl":"^7.1.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"50147d77a2d69918a9371edd7329c9561626e4e1","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.2-rc.1","_nodeVersion":"14.15.3","_npmVersion":"lerna/3.22.1/node@v14.15.3+x64 (linux)","dist":{"integrity":"sha512-TRx3Ws7q3GtIl7FxU+0/ZGBqkguoXt/yimepWZNC9RHAcArDjN3AcLz1bEeRFsDLZiHTA5CYeC6W3Q1V/zJJ2g==","shasum":"5b4c476d070518063316e559f8b5a465c3e1fa5e","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.2-rc.1.tgz","fileCount":506,"unpackedSize":2638079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3L/xCRA9TVsSAnZWagAA5UEP/0BtBiEcGiRwahz7nzGL\nHtCIsQ9C3733f6d343KXjswcRLP6dW5SEVTRFQVuJ669Rlr8cIyCupLRGFP1\nThieKZ57JxYkBHGdMCFuIh97uyPx8cO1N21aldiCK1kuSXp9aOIQ8QTVaiZq\nSYKwZXoqDkgRFLfHUBLZFSxNWhGK2pRBmNGeZ1hCsvHP7QfQxoaNMBmu2h7h\nUwKxNPBwHpmQqQ0TaYDgtqxqE1x2OnCii47KgQlw0nAqxRZ3T+/7PUqX2EpB\nGF5IxcoZBjdJOhTXwBYRVDIWX49DpdVXAILQ+zRDMdl1Ut0Pf+cA4ZfjiCOv\n8ZoPAMQ6JogMu+q52nsH7AVIZn8MMeiJyHCNFIQWBCi1IKZKP3QPvw242K84\nL6ZKFubYam8si5iBtxEGbjT0clJGzM8wOkLVc+s9Ci/FIQhar80U7cT+ZumQ\ntpCC+9Z+/Nj27EGQgr9onB+1/tqLD28AppIdVaXyFM+wIpzmKfXUskWpTr96\nGVwfYfb29mTEzAA2N2tSJLw9v1jRbgr4Kt9SUntALZcyfgO1OYHR1sdjjHJX\nLJ9tJ9gnnM/uJjupO08az28tAKDztCvFG7MKVHoJOORRZj2bJ2tNjpFEwRjD\n9THs4sH+qXqTcwa9yvfU9GBXRNNMJl7Ibiy93FSSEENZ2A7lrWbyyZwcb19g\ntTpI\r\n=N2wu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBmZyGMBcPPL74v64DyiYDbUU0/muda7qGxbcgJf1j42AiEA1F4JVvK/KmO44SlyY7uDbXBQfsv4NZDTDL4PYmXVNHU="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.2-rc.1_1608302577168_0.4649613978727136"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.2-rc.4":{"name":"ipfs-core","version":"0.3.2-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core -i ipfs-core-types"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.1.1-rc.5957+ae497111","ipfs-core-utils":"^0.5.5-rc.4+ae497111","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^29.2.2","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.4-rc.4+ae497111","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"ae4971113534c8f988aa14314e43a00fc3df854b","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.2-rc.4","_nodeVersion":"14.15.3","_npmVersion":"lerna/3.22.1/node@v14.15.3+x64 (linux)","dist":{"integrity":"sha512-S+7lv6BUFRVwS29Oalvjb5polaGxMsMbNEPqsnkpf+I3mNB1KGQ8gVvz8aDp6v0cwUZHPG3IUNwpGi2ZT7tTKQ==","shasum":"2d5d36e3964299d6a93682d2a180a3065b111982","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.2-rc.4.tgz","fileCount":479,"unpackedSize":2724050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3OsRCRA9TVsSAnZWagAAB40P/j16lhiG4zmOpABLMISK\nRjRDhiaJReGvtR+WwbBLj5DJFcuqN+oCfmEqc70oGmMhJjM5FhHmg7+1Egsr\n1xHLVcUbgM+lHyCpSBOBkd6fV/rzC891SmpcWxyD1AC6F+5RH46A7AECf7uA\nn74b4zIYjAJ7H+u2QKklKbZi+L2lAW3R13HEyDxNFo2qlOXPigezYvNveHZ5\nM33vrD3fGhISz/s6MWa9wmE73ML5wT4VGrP5L6WMMe/7DPS+1FNMahgrKunA\nh4gEAYPqtm1jrOuhUixAOOoPB58BnUwyiNDj8qwP3AfbEuTxgBwiNojGwDlW\n5A2E2IX/7drcy1ARtevMTw4xtgx+bwZkfekvI2+dbdCDeGP+BZKL9FsvoCvu\nqa6e+RlAoXxet2P7DyBJw7WijBU0itnYcPkIijOXZ9qxUw9wSaMA9h26Anl2\nFPR0s/4zTF2AND7EI9LTIzBhLi0hkWiDTuuUWWmCC7mrqCyoJjVvRBpAAbdb\nqE/0B3L988A5TMsA5p3+5hiHIxCNSlgXIYpnbyT8/eR72kuhAP5f8uLeJTof\nmzULwRnIEwVWFP29qBVXCS1yvOc2ITc1MhhrtSvo2m379WOSpwjkF5X7vKa1\nestrC6D2U8jxjKR/Kbk5SNtsmvpJpzfrPIt2XC5osJF2i8Ta+g2eZY9BXzKK\nu2GI\r\n=jEhK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvBhc/ULm/4Zq7iAdn143R68+d8ThHgaaeleTFWfKaHQIhAOdN66r/l6/eSUms8JorZkDxPETnaPDSATsZazjcRCcC"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.2-rc.4_1608313616878_0.693903285719967"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.2-rc.5":{"name":"ipfs-core","version":"0.3.2-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core -i ipfs-core-types"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.0.0","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.1.1-rc.5958+fad9b740","ipfs-core-utils":"^0.5.5-rc.5+fad9b740","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^29.2.2","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.4-rc.5+fad9b740","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"fad9b7402e67a459e9967a1319870da165ba722a","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.2-rc.5","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (linux)","dist":{"integrity":"sha512-UgLuJPw2MruzQlMRZRGzQfcz/UzAlvAOjs9s4sK6LoYKMTQrnnI9+8TESdXByoHi0M8HZdXnDU7SER4g1seeNQ==","shasum":"a9644ede083130631cebdb7e9c6f8255160e2883","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.2-rc.5.tgz","fileCount":479,"unpackedSize":2719214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/ubvCRA9TVsSAnZWagAAzGgP/R88NKQolnpFNGjTIVgb\nWIxjyUoGeEzX3gHKJTtGeKXwnL9C3YQeuoGSdR1ys1i0v4GA+Yv0/ouawu3v\n4DqqT1eiZUHFV/oEs7ILDIO8PsPS3lw+txbj5o7SdicgC/BCvuJPaalK1wVA\nFPAEyvZugUoBRhuDigmTPrQVPJyMFr2DwgeLVn3Pmej87XhJZ1xGWM6j2eCH\nU2G4peiA9VPYcpCOPO+tOPs5n7sFR1B2F5+0u7h3KAZaZfwNwtCx6pN3H6vd\n+icyk69aBm7S4Rui+mrFVnjYzdGy4laXm4N91wBi8UIwnPQv66xS7w3l1WZO\nclQwLGQvEzD+2G0LO+d24IT4451ILjCBDQinu3BEfUmHQpsU1mrUWFHKL+Et\n6NCpiLQhbTa1uroYCurFGPzrSCSbgUp8cpafIZDse5hvRIfxEd7A/Ey+l1eI\nva7Lzikf0sQDKcy2ZUx7ebzzRDHrDSuCdqcwquj/MfaFN2VqoQke2KVYwNZz\nZtBR6WqqLuI7LWxB8VS9CAtkQZXaUr4A9+WMTqNKMcBhEUceIJ/yyRJrNpDB\nfNcyKEmt395Z7YZSmyLLy5V0Vyu3tZYOB01xEhOsvyenWhhpKXR//ebtj4Bx\nywwxfQk7OuYNrWE/saw9k9soS0A1chrJWDAzj6w7Vh9pJSBJjx6VsTjLoupO\nsZ6I\r\n=gwAW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkhW241+c86DCfG2eX4PbLGTgj2M7Tg2pDx6TFM5L9XQIhALHW2W1o7vn0DzuAFX7OFs2k8u86r5x1ubD3nLZtmpvu"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.2-rc.5_1610540782674_0.07307873906973938"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.2-rc.6":{"name":"ipfs-core","version":"0.3.2-rc.6","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core -i ipfs-core-types"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.1.1-rc.5959+b90a495b","ipfs-core-utils":"^0.5.5-rc.6+b90a495b","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.29.3","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.23.1","libp2p-gossipsub":"^0.6.1","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.14.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^29.2.2","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.142.4-rc.6+b90a495b","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"b90a495bd07cc81ac7a9dcad75c5625b59dc3dd9","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.3.2-rc.6","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (linux)","dist":{"integrity":"sha512-0jehSA0Qgd1HawcbPQcEmFg0HkLregCZTOo1jr9iCqfxiCtzOWtJFe2FFit9Sh8Fc63PVS5Z0lhPax4Bq8pyfw==","shasum":"d595c7f3c6a66eb1e99bedf1627a81dbca01b06f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.2-rc.6.tgz","fileCount":479,"unpackedSize":2722748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAVeJCRA9TVsSAnZWagAAdpYP/jazjK1B9cQQ/cPVmzN2\n16OLd8vQABn/KAntu3oHq9Qt2oS+L5FDS6yOBvsvx4PMSnW9UUV88CW8/9/l\nm8qggI6xzX4WD2fpUhtjP9UZXX+p7KsRraK9lWGFWv7E0JrViUEqWur9oM1C\nRdJ7/f5+ZhxYU4HLxKaXc+yDqEBDmDyfWZfxxS1gFBEePsaAl0sFnKVX3GZv\nJvTdgCobnaegawaPAbyWzmweRH+oaIqueY5eDxGnoq95cmcZZ9Ipm+Wyp4wZ\nD7vLddevaL+RID/kb2xKX4WtgbbRYPzl1jVGtDSgBbpiQ6C01FqSiodWId8S\nvTudf9W92lbgASUc4R2PfVICPCLpPR35fbQ9RJDoZHTCR1qDUeDOjdr1G4vo\nCswckqbjgjfgQrJCRptsMmjhUdlBU3Iv/D7ZOf1BXo3VCAlCE0fWcGEZMRYi\n2xjIiOJWygpLEdlvBQJMAQCyuKnB3Ok0tHNCnjhYLxnDzLowH2QUkUWDSwH1\nFI1QmCe9NP+NIDt4ofV0H4D0cMw0sxUq3TsghFHVcneb23ThZOBSZKxyP4q3\nfoDU1S0QknLbJ8NdYr1RSx488XWhl4Na6aGNWq42d0uHZxatwgcv8I4zQon/\n8rHXzeWU6bhRtDSE5+TY+EEaVdhnrF57V2SPQObrqoUDAkUiret4NlfMkeGn\nbBRd\r\n=Ok8q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICbX+F7egm91V6jqKA/k/cETSDIunI9aShWvekrwMb34AiAuyv9P7+lNEGnevhkdYRmGSYUvH3058ryn6fxWLWJcWA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.3.2-rc.6_1610700680769_0.6858810238953774"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.0":{"name":"ipfs-core","version":"0.4.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core -i ipfs-core-types"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.2.0","ipfs-core-utils":"^0.6.0","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.15.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^29.2.2","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.143.0","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"09f6f0cc98e2b8b2f1dacc69c9491555b507da28","_id":"ipfs-core@0.4.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.1","dist":{"integrity":"sha512-VaqCyoJ6dtWq5uRSBrU6K3RYWMCXxWMYDdu/DS/QPNwmfEAZQO99zkzR/t+7U+Jy2OMEydO4qAZMNfAcSrei3Q==","shasum":"b416baf22857449514eb74f6401884dd57e1ad09","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.4.0.tgz","fileCount":479,"unpackedSize":2783168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAYGpCRA9TVsSAnZWagAAdXAP/3WmGXyIBbOBv0+ZLkCB\ntObk98Yk18UxK9FZNYVEGOd0btYpUhtl0wNZkjeB2/2GsWKEB26Pby0vk6dy\n0Ju2/gBeQNT6n/9M2B0Wci3oJaCs8PHBxc08yaWKqw280tD5jCwLAZi+yiK+\nqlNyULxankqk/913nIg5enNYI/C9EhjRwMryw2TujYdHaBGAH0OOENhdjnpd\nyjMjF/849otVkelDGpOXsaraLwoOAiNzZYoH7iJJoSFsWSlKPt1pGE3x5nKD\nfZEAMXrhuM3whczzV8aixkaBJ7fiTwELfLyL+Cbq2n8/yR3u4xdala6gG1vD\nkKxb1LVrSXR2SIzpM5OsFky2sCBvw0CSe3ljF6hhMalZYL+uCmowPZ2cpMg7\nZNiwOMrTxnSsyoEQObAp6E5UJcLR5c34yimZL/gr3p5HZXuOqe5rtQUFCpbP\nmVzPuF+pPAJlayLn7Pm2lMICYL0+ohNJ42A36ulwQURsTY51iCAyGpuEhYxs\n9mV8sPEZIej4ZiCiZzxQpEFDyAO9yHzZBRMRMlwM1/dQnKUOL7naiDMcP0MQ\n/WV4MZUYdMiOvd76ToiKhO7IrqLt3LtaqxN/2eb20+ekgKdSmWa4pl0jsLP9\nex1HlvyZMpLt9YZN4ohd66/mP1QwWagZtmdpOzwIV0TnkjiTtcIJiQhAhtrp\nee81\r\n=iA4U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTef6HKWZhcqCctEg89VhRN1/eUE/miVmU+GOzYXYuxgIgPPU3QdNUu4ipcr/WbqmvfydrIn5H5NNLuwKPHbDMSis="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.4.0_1610711465067_0.6097399431181421"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.1":{"name":"ipfs-core","version":"0.4.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core -i ipfs-core-types"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.2.0","ipfs-core-utils":"^0.6.0","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.15.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^29.2.2","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.143.1","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"43d5bb0318cb840814841084c038f77562ba0d98","_id":"ipfs-core@0.4.1","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-Hvgb3oabi507p0AJTGDqu11iSEErRZQDJR3m8JeKbk1+mo7mFeyKi1EQC64R4q8djZna50WZ7INGi8Z+kHT8TQ==","shasum":"c3d06b9cc53236cc9189188665afef8d33496357","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.4.1.tgz","fileCount":479,"unpackedSize":2970459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB+CsCRA9TVsSAnZWagAARwEQAJ46H08PIHoYwbv+RMdp\n02XFCkyHP5Vjk2b2L6QrsZf7trlmo1oqT9Qab6EzKJvS+dB7NpMsVAJiQTcx\nPvG7NSd1u5rkorMh8pUizmi4i/iqs5+3NbI8TcUztI0siv4Yaw7Hb6co4nWb\nRnRIW43ZD5Ok5mHZi/aCem84kGlC6BxxIQVOOHCF1m/yE0D5vksyVubuuMeV\nuCsYIdawFNmvIQP4KBngPXT8Zysi+iEF7tuGJVmLCbEpItPRfiCj4RYtoPE7\nU8uDDZdit8iN8NTNupvl8VJFlYcJUUdBXQ3nOnJGOljSNz/GjS++Qew48h71\nBKhoMTOsHBy5fWqNYQJkglzNPs6rtuASh+7zCTZpWgx5SYRUQtjq8eynoJlJ\nB2aHH/ZapO395ku0hU/uJJsqEY4+3BwmQex9T2M7+rjDD5EguT1gFr/7lwwx\nXRbGgv1MWmHs6OxYoOyMHaCq3Ie8nmGYoTX6DGkR9A7swvSZgy5vZE165LzL\nACIapRHBFar3uEuoz8xNYQGdxRsO1YaPV8pCJJ0Nst3wHEmOJ4UCr8vDyg2L\n4L5UD7vVpCOLiq8nI/fr9uvKaqQtnCdYUb7YI6oQzFLCOjCM6bVCv2Y2L5RC\nY3sJQnnF33IKDwrZdNvfojnZV0+BnXmCG/7aODEsBWK00H+FLpXwwm3cI3uZ\nqtYn\r\n=guOR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC15GrEdfyVM/AthIqhnp4s+a65jRxP2uqu/OUfC8jsOAiBaKOZIhYw8LW9VnR9dChAg4hLd2otAsx5Qj4RSoJjhcQ=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.4.1_1611129003738_0.9380995264782137"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.2":{"name":"ipfs-core","version":"0.4.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core -i ipfs-core-types"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.0","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.2.1","ipfs-core-utils":"^0.6.1","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.0","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.18.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.15.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^29.2.2","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.143.1","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"2f526025a3603026553b320e050e57e2ee564562","_id":"ipfs-core@0.4.2","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-o3p/fIsbreIiOvzzX7YlVidmTRIYZupOxtHHioXKgbpJfmOYClykQJf68kFFqaEhzw7BD7F5ftnahbxE/ZqT4A==","shasum":"f590962af6286b5f946515c4564b94e9a605e38e","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.4.2.tgz","fileCount":479,"unpackedSize":2971956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCr+ACRA9TVsSAnZWagAANeoP/iZJj0QuaCTtrc60GqFf\nMpsGmGY/HSH3sSl3sbDYgBUIO3IKfcya9IXZM7s2fgX43atq3ZRJZkSZCOSb\n8k8cLFUiYwANnWgsN0WzLe4XALIgHo9R6FSSUYbBAAGVIWG+VJi1xKJBYa9z\ndlIVDjT7C5XfTrNV9n0NHQlQzC5Mvtp8KJmXE35DkU+hiIqb5kwtC9PE3fGz\neImZgINrWXCpStiTj6N6CjshSQNcCcM02CJuLt7ggi9BGCzsftfMIFMZjYrs\n5g1z9yNh+oJ7n2bog2+uvniheF+ckuCssTecbrFS3wAq+OY3sKvEJWcxBKqc\nYE6YlEnp9YtuqG7ImsQDBieQFhUajkvajzyMkZLDb9C62fxCIec1vRA9uIxL\nwd+92I3telcMe5JBMGvWoYBkmILlWF8GqSqW3w1W6ZK0fRM/jnDQIeVdm6dw\n371zCXJYbzP/lkNOFFqkSnc86rVbkZDmq/lZy6QTsXOZtjXyze10Bk1uLt2/\no/LUHKZjuT9dqdou31bOg6oYC//EsqSaMYOPYbVK9FWgry8Rksbx0aLhA6FT\nycIlkrKONUPiCzjtpA6di1bEEb8TADUB3SHmeO2ME/8QqAyU8Rm/tdugFBd9\nXgIgWQSbzrmUkQSBZOCDnhHFLxve3WAkv8rIDRjcm/zenao+wTa5uZtReXzw\nwPKT\r\n=0wJO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBHb5Rky2SQTxjgO2HgiyrFXKRD/cPVhSvWIP0qgAqf+AiB4SNVNMvGUMVSqyRSsLtSc5MCkP5X9ZVTinclvRhZ47A=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.4.2_1611317120370_0.14577704870352148"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.3-rc.3":{"name":"ipfs-core","version":"0.4.3-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i typescript -i interface-ipfs-core -i ipfs-core-types"},"dependencies":{"array-shuffle":"^1.0.1","bignumber.js":"^9.0.0","cbor":"^5.1.0","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^2.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^2.0.0","ipfs-bitswap":"^4.0.2","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.2.2-rc.3+6ae31055","ipfs-core-utils":"^0.6.2-rc.3+6ae31055","ipfs-repo":"^7.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^5.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.6","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.19.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.20.1","libp2p-websockets":"^0.15.0","mafmt":"^8.0.0","merge-options":"^2.0.0","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"devDependencies":{"aegir":"^29.2.2","delay":"^4.4.0","go-ipfs":"^0.7.0","interface-ipfs-core":"^0.143.2-rc.7+6ae31055","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"6ae31055d21fbb0243bbb17cc697ebe18d84acff","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.4.3-rc.3","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (linux)","dist":{"integrity":"sha512-Z7surn2n7r0mDYezAFO3wIdHz0Veu8qwB5KbDiftRyXDkcYzDI0DHSLHQN6lku+5owUaL+nh9NYF0b5bU/+sXA==","shasum":"5fb7e60da460dd0cf5ff6b7060575427b0868306","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.4.3-rc.3.tgz","fileCount":479,"unpackedSize":2715890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFRQnCRA9TVsSAnZWagAAJL4P/0J4rWojXdh3+4R7BUsc\nccbQvUqtX4ZmnDVQHVkY7c6qv+VRvdcqNA4WJ8dY3VN6woMztbmACGkQxTyV\nxVS6vzSyampCAD0ZnwUt6D0hxYjnuWmQcjRY779qkRKKRcHwf4UEaKFZsVqc\nw+dqLjV9G6bZ/trvWgQ0B6JXx33iylx9L/ZBOBpi2WmFgHhgSYJNwaXWm3Y+\naBju9vWxwX3k+VqIaMfeN1b8aJQN8tjIUzCJKOG2WlNinYE3oZEZi9ylrMHa\n+SqxFbfS01hazYGzvWWkPr4PeX69Bd7vvDqH/O5PtCHYGmmenljVDthovVvr\na9nDVt1lpd9UKx5MzLKx/2ebGtqW/7O7w/3meh5X+UVEaHzSGzp1ofQbziIK\nLHHqwqR4sBjVKaEBNp6/K2trAGJxkFMS6KQk8y9PXanFc/IrQ9Lry0Oqdt4J\nVFTKez1yKabywF6hB7ee811srvu9dFzeGkWGvXXHrOSeHO0QJU/PBkQlslS+\n+GAHLv9SjKgMm4MXse5y1qwrh6awYN9QgD+izzYmKffIehB8DdPKvkA0ZOGg\nU3S+2gA1Nlx4WF1QdPEiazKFnQ1gZmD70LE5RDp7JtNMdc9D4D1xTzVj2K8I\nt4lLPu4fKgZfTmgheJ2NtAXhn6pEm7WvLdtdHKOYib7g3860PvMmwG+09rnc\nnEHN\r\n=npEm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICNPXjY+AAj7hR9WD9s4m2eFZCodMB1NTW9rbe4fn3jNAiEAkpEjH2CyXV+3WUTrOf/q6keK1xdO36zGWKEMVJ8Zldk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.4.3-rc.3_1611994150612_0.37098481044576914"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.0":{"name":"ipfs-core","version":"0.5.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","prepare":"aegir build --no-bundle","build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types"},"dependencies":{"array-shuffle":"^2.0.0","bignumber.js":"^9.0.0","cbor":"^6.0.1","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^3.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^3.0.3","ipfs-bitswap":"^4.0.2","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.3.0","ipfs-core-utils":"^0.7.0","ipfs-repo":"^8.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^6.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.6","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.19.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.21.0","libp2p-websockets":"^0.15.0","mafmt":"^8.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.0.5"},"devDependencies":{"aegir":"^30.3.0","delay":"^4.4.0","go-ipfs":"0.8.0-rc2","interface-ipfs-core":"^0.144.0","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3"},"gitHead":"91df29245562d5e9ff653e09b54cd2390538e64a","_id":"ipfs-core@0.5.0","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (darwin)","dist":{"integrity":"sha512-1Iadw6DgMRgDM6INys4eDKbk2jAU52WDVwvNFSjG3FN+K7HuwBjSopPTK1tc9MIVqITrak0vrCMB9FFz73u0jg==","shasum":"5e1011f2659cdfd23928d8d280b04b86b3ee2c29","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.0.tgz","fileCount":476,"unpackedSize":574189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgF+fdCRA9TVsSAnZWagAAh4QQAKCVIMUNQQg0eEeYfrmt\netbnUytr6bFuUeblO+kaLYR+GrHA86s8mOMv0x/M6TNYwcGaFQbjZUWnNg95\nFKvxlx5eaefmTKI5NO/8V9yIQl3tRSWJzGjFDWWl0ydHN3uiMFQvOK+iuART\nw70VkD4UO8VWpNCXZ+rieNZLLqpfrV80bIiL6f7GgIjji1CxyKaiMAoHVizl\npWdvKwIpZ27/yA83hb/brpbBWK2SLvADylqCxI1Weq5JtbkXi6QWkjeFavqm\nh+59HRT31UhyAys9QBWoIPr69CrAo1ZXqwLgfcBlpokG8e6PMkeyyQQSjMwl\nqg6ZeNkOSEaH5BI2gc84SHAKGpUbybDVNSACNWVZDmFn6m2K5gPrBpbj/w6h\nuOrmYra9N/cCQMgaSPiHTMY+cjbyLAb5PX9zrNX8zMixCUmD7JQ5vLsKPVs2\n53sBPMAPXpywFxMm0BU5kGDKSe8jSSxzBY2oebxZPbzOi3MQqLJ8CQFPQVWE\nCa4TJp4xQYDPqrNU/m80k7Y0RtTRaUEAtYSGwKPpm5rT1lKbgFqOs2dpa+7u\nU59E9uyOZIOfQuthbAQrFrasgEg/ceQaC09ZcYM6NQ4WmEULKZ8XYry+Gd7L\nojoD6upnEwnXavU4Dkfpl2aXVKt2eN6ZC8KA+g9sjvkJb3DsGWcakVN/KiAp\nBfPd\r\n=kErC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEBzyAO4ph4g4IekTbDshtzbHldWZ4QQah4R0EQbVYJfAiAhi1wZ9julN+1U9O1VCEyoEy6ozHYwz1dRl5zprT6GeQ=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.0_1612179420985_0.9592200084502718"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.1":{"name":"ipfs-core","version":"0.5.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","prepare":"aegir build --no-bundle","prepublishOnly":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types"},"dependencies":{"array-shuffle":"^2.0.0","bignumber.js":"^9.0.0","cbor":"^6.0.1","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^3.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^3.0.3","ipfs-bitswap":"^4.0.2","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.3.0","ipfs-core-utils":"^0.7.0","ipfs-repo":"^8.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^6.0.0","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.7","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.19.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.21.0","libp2p-websockets":"^0.15.0","mafmt":"^8.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"~0.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.0.5"},"devDependencies":{"aegir":"^30.3.0","delay":"^4.4.0","go-ipfs":"0.8.0-rc2","interface-ipfs-core":"^0.144.0","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3"},"gitHead":"10fc290deca311263a4db95ec6b9e9ce132d6eb7","_id":"ipfs-core@0.5.1","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (darwin)","dist":{"integrity":"sha512-1IgQ9X+YGPHdlalXb+SN7xUNAg23xgHDcCfbSIx+jtNKvCTnQch5NcPaoqVEv7XY6KwAYkkgn5LyJwXksJnyWw==","shasum":"eefa40ddf84212d25ddfd22815ecf65a1de2f74f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.1.tgz","fileCount":478,"unpackedSize":2353729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGRZMCRA9TVsSAnZWagAAiGoQAIuSzXeJ1pbUg1I3mzTd\nGV1mx5L4hh9kEm2wEcgJ+nvneow3oUk11iKy9BMGKBFEfIf/jZZEHqs/yzA0\n3rjZhXhkEIATYwdSGpAO3dZ/Pd1z3kKFSzo0kC3tUCUGSOZiHK5ZJF2vIN+T\nXxsqVyqrmse42aTf/625QL8YyRMXnOaRDAH3WjLnFCL1DF9G4q71I9jNH0RT\ngYc1SnYTpMBRTagF3geTdI9jvGocmgnnLldSrpkaJdeF0XieYpXzqcQgxc75\n9ASDyTFKh5iJvEVzU7/QM7PwhHWRDeIim7lRo7mGLGF82rcR2OITzfy7dw06\n6ReftZseGV8zTfL6S0vTuoZ3d7Rp7eutPlM53Ffme1npUON+WTTAssLk/evB\nfF2/AIrA7mZMKA1LbN43gtswvy2+URitukWa7RS58zia6MgkRe+WDvpgFi3W\nHNpsLVMO5ayFsUzn4IejCI77g4ZBsNT06iUIvcXsfyzebkrTTdcoluMCHhuT\n/Ogn33lK6zlempujyMUrSEAGM24LQJiKbexJySGP3pqpg9v6wN++gX/8M3cs\nSeJqI1i5Ke+9ZReN6LCokITqYjeXJFX3WVO8wvYOCuvSsgV5i/RyRuyuUN40\ngT55G2SXMuD4feFhM7f8tCffSoR7gzPdm+sKQpm/zpc3ww58XUCI3PvkrZZf\ndoRv\r\n=Dswl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtumLh962HkAZFzHXszzrowjF/ijz8Yktw4m9xkbSH3wIhAMmMm4FewI7i99qRJuF3UbxTvDJg+UQhRbe5Bd2gnbzp"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.1_1612256843275_0.22927208504636276"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.2":{"name":"ipfs-core","version":"0.5.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","prepare":"aegir build --no-bundle","prepublishOnly":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","bignumber.js":"^9.0.0","cbor":"^6.0.1","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^3.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^3.0.3","ipfs-bitswap":"^4.0.2","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.3.0","ipfs-core-utils":"^0.7.1","ipfs-repo":"^8.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^6.0.1","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.7","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.19.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.21.0","libp2p-websockets":"^0.15.0","mafmt":"^8.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.0.5"},"devDependencies":{"aegir":"^30.3.0","delay":"^4.4.0","go-ipfs":"0.8.0-rc2","interface-ipfs-core":"^0.144.1","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3"},"gitHead":"ff76e7cda441d66d327e03e3ca1dea6e901ec918","_id":"ipfs-core@0.5.2","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (darwin)","dist":{"integrity":"sha512-gSfaNMhq0vFnNC2THPZixpfCoCfuVukvtZetejp84+NNd0L9CYbiDQe+V6FrK3sIdOR60jR0OQRw6MixCfK4jg==","shasum":"f3a95c47476fe36b982151373953946e1f26dd53","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.2.tgz","fileCount":478,"unpackedSize":2358342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIVqNCRA9TVsSAnZWagAAmesQAIq1gmLTJG2niZFDdqNr\n+ZYMny0C3lyMn8APXJeDB2mEfLw89evoUWsIkNq/Y71mc0JE935HUvwEB6W0\ntLM80cexah4NPSthRK6puY6tNt1Uh+vu6j9MR2KdZPP2Dp7zEWo5XrebYzUy\nJbklDKBXGtUGF8toP/pVWTUc9vs3eWlJi4L7GOxV2bcJvl6WyPrZZyxQq3bf\nfKnItm+cK1XY2cxwnckOfuZLqu7w0/lt3xaFLUMt21UrwC8m4QM623o4XY7C\niJn905D5K1+Evi2OCKOv6dL+Vw6lbquGyN7q/QVJXcE4RYnyi/ZiVwUPACdN\nQLf2He9hp1vmwoQaNkEgSfaeafO3d7Q68fwqWanDRZbVdUDyRQBYS0Y5M+lP\nNH53Z+4WEK7P6qwff6LIlatj0t3qmYjkkxVzkVEr8EdmYZX9opAAO72etx5G\nQw0EZ4LTH5GU7hqPKIUNkGM19QIkw7CPQULWcVbKwdc9EsP4eKkt4GmMHlLH\nv8OcKkfPsQLk3zks4gRaKQJdxnPpeZkHGlELB9j5B9h2vICqfda8kW6civXf\nD6WrE3SqZ3sYq4/dH8/Gd8M393ugf8gHlMKGGTZ8KsZfGyukLaFP84iYCkKZ\nrQNlQgegKO5Uy13Q4LsZrN/iaGzSw4/fbgnfArGndnNM0AgmyYnYKo8/lQHf\n76OV\r\n=rDj6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCE/dQn7sa8hv6iYCVuF3Wi+JgwO16z3VlwREjO61mTAIhAMTjS57kXYsjJA/1tzptjXtRX+FW5Ef8+WKMTqKySqS5"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.2_1612798604689_0.30956476844950065"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.3-rc.4":{"name":"ipfs-core","version":"0.5.3-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","prepare":"aegir build --no-bundle","prepublishOnly":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","bignumber.js":"^9.0.0","cbor":"^6.0.1","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^3.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^3.0.3","ipfs-bitswap":"^4.0.2","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.3.1-rc.13+be0c613c","ipfs-core-utils":"^0.7.2-rc.4+be0c613c","ipfs-repo":"^8.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^6.0.1","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.7","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.19.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.21.0","libp2p-websockets":"^0.15.0","mafmt":"^8.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.0.5"},"devDependencies":{"aegir":"^30.3.0","delay":"^4.4.0","go-ipfs":"0.8.0-rc2","interface-ipfs-core":"^0.144.2-rc.4+be0c613c","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3"},"gitHead":"be0c613c0e413077bfccfde0345b1ff2471193c1","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.3-rc.4","_nodeVersion":"14.15.5","_npmVersion":"lerna/3.22.1/node@v14.15.5+x64 (linux)","dist":{"integrity":"sha512-2efGbY1TzDvJUeOnWFqW1yZj5731RI4b4Dh7joD9Pq64K9Glssp+1jAR/XCw/0zyPrOex//mPje/enwkl0NMTg==","shasum":"5ea54a04156249fb2655bbaf84dd8c99c7ff1360","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.3-rc.4.tgz","fileCount":478,"unpackedSize":2358699,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMiTiCRA9TVsSAnZWagAAU40P/RwzaLC3iN9Yovb6Sau7\n1/VSWzde+3p9j4sBUqnscas4KpfIOW7Vv4sLKR9iHjjElPeA5qRhxu8DAerm\nGCTY8dUKuMjceWexFW1f0d0hu8Sg3jc4s5JKGDNu9PpouMlf/D4rfa+4HH/M\nvFtWmFNRHmvbTjTXN9pyVKL1vgGXqPqi6nrMiapKtZQP+QJsao/bbINo6SGE\ngC61OAk8MYMxpek43mnV79cEzWS75hOIPnigtRTHKvXXjIWoaIGdQvbKXthe\nuRfqfP8xR9MOHy0vF3s4yAICcRtXIONkstDXjb0ixAOHxcUK9bwG6nbJTtgN\n1q1lCYQq3QTuHinwiOfau2u7TwgT9Sy2dec0zn4Fx/FwQN+xSoPcH+B6l8sA\nWWm1ZMbRyQlAGlfP1hzKUtHtZOkHk5mpNBzstMKpZrHQdormKsu3JCXpEKko\ncmR9Sq/rJobu7N1cM+Icz+MmAvojWI1q8d/mcZuCdaZdjeXSHtymp4HQrWoy\nsF+dZuZT6S/iNwh3GrL/ShLHWp+B7xAsPFBbUtBARajF739VSnfZQQ8LX7/K\nChezQRafNpIvywGEfyNrA6dGV/WwpZer+j9QS2OdnQDVDPVJSraK7gh5cn3M\nqcGe345cXBcMLDRHnWVMmWiyeIn75QvWwdxPQWmCFMYXpGwqmCWaHoLAcFgF\nJ+Fx\r\n=po+1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYewS+OabelQkQYM26HrHVW6dkd/qMYeCcJ8dZniygFwIgLS4Kk7ZR4ewyNw+fzgG2d4X0gLoxauCC2DBfA9p04Fc="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.3-rc.4_1613898977980_0.4764687562465484"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.3-rc.5":{"name":"ipfs-core","version":"0.5.3-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"lint":"aegir lint","prepare":"aegir build --no-bundle","prepublishOnly":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker -- --timeout 10000","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","bignumber.js":"^9.0.0","cbor":"^6.0.1","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^3.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^3.0.3","ipfs-bitswap":"^4.0.2","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.3.1-rc.14+b7659d45","ipfs-core-utils":"^0.7.2-rc.5+b7659d45","ipfs-repo":"^8.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^6.0.1","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.7","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.19.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.21.0","libp2p-websockets":"^0.15.0","mafmt":"^8.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^3.0.0","multicodec":"^2.0.1","multihashing-async":"^2.0.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.0.5"},"devDependencies":{"aegir":"^30.3.0","delay":"^4.4.0","go-ipfs":"0.8.0-rc2","interface-ipfs-core":"^0.144.2-rc.5+b7659d45","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3"},"gitHead":"b7659d4544fbf335eb5dcd3b71fc1b81f436088c","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.3-rc.5","_nodeVersion":"14.15.5","_npmVersion":"lerna/3.22.1/node@v14.15.5+x64 (linux)","dist":{"integrity":"sha512-Y16cHzrMKcVtkHqaIBkJOPkyUV2xQXJHpohAcdBfF1CObDJGrtUBfgGTS27PEhB4q4Aml2e8Wo+rbbbQWdoqnQ==","shasum":"5acd08197c71a710d85ce5ba5cc818d133e8c7b1","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.3-rc.5.tgz","fileCount":478,"unpackedSize":2358671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM97TCRA9TVsSAnZWagAA4ZAP/RFkrzNPgAA6o+AnuChg\n6gvNRVAyIP9PX4oplv7l72Iiq+2ZOPi/6wAa/Ta4tjUr9OZX1+N70e35e3sA\nFMviA+S+ft5xgJMAJNvFjZh9iV0ME9tVd6L8z43Z18yxXgIHbhU4fQd4eLEx\n4smibTP7zaFEK2xVVxn3AEUG7mxYajWb/bj40U6elEtY8rZidNxberm95OYp\nyQoPD0Ai7XZ7j1ncqYAdmfa34cm0XGliguaEdPVQFtNw3EtshlflnQIxw1hA\n17DL/kDCsD1ilpum5WE3YBZrvloO0WEQFpU+a3XBlLMNCRqbTmUKeeipPT6Y\nfrP4Hr/0jZ/wNPL0cUjwvQoKCf0K1SL6rGq7q+eesB2nO6h6hqXW7nAiSOoY\nUw1UH7kjDCOCYKFbaNqeseh2fm7UCr2VLegOpkFC0m414i2B3nkrKS+lsQtc\n+TcUHGUfwsQri7smHue2u+vHZFZDm3lJK6VW2TAgKzAzMmAMF6VoIuJo0/dv\ns2No7hEv+p22gGWMDwWc49P8cJVf0LMtISryFPrCR0FsfVcjd9NjPz5a30H2\nAfSjx4xZ3fQUvbtm4XGEaZFMc48B0+wTSqXCGAO+r9+e0l2or4IkB/WJi3Em\nsb2qo9UQqKEXdIAXAqK679WGfor56g8GOc4dfO8oEQJgoJl1PSX2Igo6tI4+\n3pIn\r\n=AQrF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEK7A9nSnKT8YYvgCOx4UmCPFh22CsdcK2YXa92MMeiSAiASsk9Yco2REMc3B0bai3zMqKkxMR3CfZBS34YExOyV3Q=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.3-rc.5_1614012114918_0.8899394020560967"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.3":{"name":"ipfs-core","version":"0.5.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"prepare":"aegir build --no-bundle","build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","bignumber.js":"^9.0.1","cbor":"^6.0.1","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^3.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^3.0.3","ipfs-bitswap":"^4.0.2","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.3.1","ipfs-core-utils":"^0.7.2","ipfs-repo":"^8.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^6.0.1","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.7","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.19.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.21.0","libp2p-websockets":"^0.15.1","mafmt":"^8.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"aegir":"^31.0.0","delay":"^4.4.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.2","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3"},"gitHead":"0af3b76115fce61d64f0f8be90cf13263d2a12fc","_id":"ipfs-core@0.5.3","_nodeVersion":"15.11.0","_npmVersion":"lerna/3.22.1/node@v15.11.0+x64 (darwin)","dist":{"integrity":"sha512-4NwzshxzATeAq6/1Qz2Y9FTb9DI9oGc0Zku16hXzPyLMmcxEMG2tr0X6jjN/F8AtQeicYAG4X1FvkR1Ex0VnEQ==","shasum":"02fa1fb87b3d5493b58c93946a32a49fc30a2ea7","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.3.tgz","fileCount":476,"unpackedSize":581006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR1JRCRA9TVsSAnZWagAATnUQAI+Lwpgh0azmKaI+2KDq\nGFhuPGy5EcBzVXqK25s3jWVOlZaI5igH0H/Q4dQoIObCWaQldWXkG7asNAJe\nZYde+VWN7X6PCGmlGjmN5G91VleC0NtdUHlIBJk3xneaKbEuSekhW40o/UFq\nKTEnBZ4ZEIMUrzvH5miUiro5jRWgY+TD8qdJWkNof6mTSK1zY5eMc21jfMp/\njoJd3nCDfAZgDcvcPm0RKrrOUGXvRCvFRQ0m1CvVrR2RzsXQ1ADrKZYTNc0a\ngCxEyOJEJa4ofJfLzDqvrgcnHXGzAs9PVZPl9c8AATrd3xlaQ2WlTUVpY45W\n0zHoHqw8NfZLtoSzTKhsyP1lccLvdPi1PmI9+/cwgYlqRALUB4MA6BYgwfBw\nQ4AoLhLH/PVej/uQDwQiaT3w3DUJeovDDtdXr7lQk51XAnutdsGLj/0WAQhN\n1btsuuqANuxpRfzB+Y+3FR4N5DVMYzhsjO3Io6vEwITVgtPB0f9yY+wLf3CZ\nsWtZgukbccmTWztKZhOT3YU5TYlZMlTDSTFHRFnUepLXqPimN60AtYrknK8p\nTpj/nuMRiJ+aPUJUxlxIxQua+MRuorwiQdjs8RCIZdaTr4ISRBECCGz5ZkIr\n7gUw/tONLTWOxQLfTacAqs6IKkhJ4d8jnD831NNJ1yoblrS6bggnSbfiCCyk\nCqXT\r\n=LBj0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjm7b3M0S2KJRyyJWPZaYaL76Bv5nldJaBmhnRlggeNAIhAOHV3lGb9Sc7awQrfiNjI8YR31wT+laz+bQswH9K80rk"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.3_1615286865044_0.45131102296520265"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.4":{"name":"ipfs-core","version":"0.5.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"prepare":"npm run build","build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","bignumber.js":"^9.0.1","cbor":"^6.0.1","cids":"^1.1.5","class-is":"^1.1.0","dag-cbor-links":"^2.0.0","datastore-core":"^3.0.0","datastore-pubsub":"^0.4.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^2.0.3","hamt-sharding":"^1.0.0","hashlru":"^2.3.0","interface-datastore":"^3.0.3","ipfs-bitswap":"^4.0.2","ipfs-block-service":"^0.18.0","ipfs-core-types":"^0.3.1","ipfs-core-utils":"^0.7.2","ipfs-repo":"^8.0.0","ipfs-unixfs":"^2.0.3","ipfs-unixfs-exporter":"^3.0.4","ipfs-unixfs-importer":"^5.0.0","ipfs-utils":"^6.0.1","ipld":"^0.28.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.17.0","ipld-dag-pb":"^0.20.0","ipld-raw":"^6.0.0","ipns":"^0.8.0","is-domain-name":"^1.0.1","is-ipfs":"^2.0.0","it-all":"^1.0.4","it-first":"^1.0.4","it-last":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.7","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.19.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.20.1","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.9.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.21.0","libp2p-websockets":"^0.15.1","mafmt":"^8.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"aegir":"^31.0.0","delay":"^4.4.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.2","ipfsd-ctl":"^7.2.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3"},"gitHead":"511147bedd51be3151de44a90fefe9425bfbcd50","_id":"ipfs-core@0.5.4","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (darwin)","dist":{"integrity":"sha512-gyv3slu7FuaN1wxfDPhNoWiTSvUJ1pq0Nx2NsU3WWzOvKCaacHtE8HXO51AAuQUMUEN0thYGzVHziHGLI9udNQ==","shasum":"d08d9e581554dd34e7f1124725c19be1faffb381","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.4.tgz","fileCount":477,"unpackedSize":2784574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSKn1CRA9TVsSAnZWagAARIAQAJPJMMH816UkbyE0kw+2\nzRR2nN7z308liYCGR7dKgDmyV5fDS5SB3AKONNIOT9ttJCZDxh3DXDEWwyP6\nYzWnAJYJf5Pc98IXxeyTJ/G5SEICTT1zE4s7a8mKmL+tuUWK9gqTFmA+DZ1S\nITEyCfmFHEMGNC6ZLvz7n/jXjawl5JITaUY1mTSQh3BxkRDGY3va4vn1ImpP\nvjEy6zYu5unVKYw6dLduCJv35AEeKM6kvTPLoyhdtbJDtQdWbWMffAyMcEy6\nzzMt8CMxG4aFf2DQoDNWce85n4tNz8McoGL9VWNVrwbdIWAqIClSkheECmg9\nEGP+/wHd+GVDXGp/N4uId2ki7itRgBpDh7W2WAIfZBT1mmL0dN6waSURJl4e\nBhkAiVSrFueRzwo2Osyz/o+01yrY0d2kImsuwEE/8jCDRAbf7a5wy8PyEs7E\nqKva1At5JNJxV/R0c+01cRyX7F5605I58MdKNHmxgaRKGHCCcMqvDH7v3itS\nyXb0PHG+FQfLkKI7hA5PIhcZqe3uQ5e+7Y4pC2oxtp6ThJWGzus6LaWC1kI/\na6sM+4OQJX4Ie/TwcTozcCrjq2/wB2Kob6VfDygBUqJGM3BTkPndq1Tfour5\nkZXulE7E4WVIGNZ5bWVlZPEmMw12016F+MAGT/mbdoREAR6QpI5AgD9rO0lP\n981E\r\n=r0Kk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHEos7YiisvTAmAMe6FqKmMtCgnIcbwsQsgPuVK/83jjAiEAwPM/fKOJYPvYJUHCGUG/Ll3ceAzdtZoxLQqJZRMQ3p4="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.4_1615374837356_0.6362577197521078"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.3":{"name":"ipfs-core","version":"0.5.5-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.5","dag-cbor-links":"^2.0.0","datastore-core":"^3.0.0","datastore-pubsub":"^0.5.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^3.0.3","ipfs-bitswap":"^5.0.1","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.6+1823375a","ipfs-core-utils":"^0.7.3-rc.6+1823375a","ipfs-repo":"^9.0.0","ipfs-unixfs":"^4.0.1","ipfs-unixfs-exporter":"^5.0.1","ipfs-unixfs-importer":"^7.0.1","ipfs-utils":"^6.0.4","ipld":"^0.29.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^0.18.0","ipld-dag-pb":"^0.22.0","ipld-raw":"^7.0.0","ipns":"^0.10.0","is-domain-name":"^1.0.1","is-ipfs":"^4.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","libp2p":"^0.30.12","libp2p-bootstrap":"^0.12.1","libp2p-crypto":"^0.19.0","libp2p-floodsub":"^0.24.1","libp2p-gossipsub":"^0.8.0","libp2p-kad-dht":"^0.21.0","libp2p-mdns":"^0.15.0","libp2p-mplex":"^0.10.0","libp2p-noise":"^2.0.1","libp2p-record":"^0.10.0","libp2p-tcp":"^0.15.1","libp2p-webrtc-star":"^0.21.0","libp2p-websockets":"^0.15.1","mafmt":"^8.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^8.0.0","multiaddr-to-uri":"^6.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^0.4.4","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^32.1.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.6+1823375a","ipfsd-ctl":"^8.0.0","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^9.0.3"},"gitHead":"1823375a17ee2562f06accdd605eeefebf7a3922","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.3","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (linux)","dist":{"integrity":"sha512-Zbag+7gbL7KjI6c5552EE6pri5qV7KNHgIkvtKF5ZjniwpuGjkGoH4n7AASlNDkI69nl9XEk5u7Sb7n3/9inxw==","shasum":"460b844cbe758bfbe1cf2d1a8addbbaa2e98a8e8","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.3.tgz","fileCount":470,"unpackedSize":2649389,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZJJDCRA9TVsSAnZWagAA2AAP+gKXsQRAr1JCX7drtzTQ\nInGz79q2fwZMyGDAH6YZdzP8b95bSTxDtrjCW1yMt5+GNc589eWFWU9KkJCI\nZSUxH0HDhEt2WpF4sgeaKicDgwOvUxo7xsv0BIfNPiLzowuXkzaqAoUjrvmB\nLv+Q02bKmrtc1yesodH5F7frB2dISXNgDpnAIHBfFNrUF8WDnM0AjIAGxSMD\nWBAJ7VCFXyXzlmUVfi+POV2V0jrvCvygEfgYKsELpff4Syc2P8qPJVNA8kMx\nXJoirhSxup0oNVbtO/Ek8tl3oVwat6FsAsvRizSulZfx2Ppo6+UtGXDXlyP3\nH1V9GrUIR9kxtNAGVtuFJ4iG6+WupicT8cT7uFEpZnf0GlDfQOqfWU8y8SfP\njzV+bSN4eh08Y9jS7ngTQFWO36QhiF3cMLfQ3QMGvpqWSKPzR1AP35JTNbis\ngQF2j3Z9TuYSbkB656VxANQFGPiJfcPq5hTFB+5sJKsIKoDFxgwdCd1wWpuF\nzD25IoWayyjRieKtPZ1qTyYBEFPHOyeN0qHeSWNfKhkEkX03RwfsJCbcmPqC\nowGvqzcHiO+ekDOuzvYaEcCRy8idnqy4h+GwFzT8Em2d+j09w/6IM4TxVUqL\nPqfFGujRYUwrex4DCzQE0DYh2lFpHotpA8Q8MHnw5AvQn+8ggL6sd0gbCNfG\nfFiw\r\n=uHil\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBlKne/c4bA+D6Jp6OcKoGPj7Ur62MEC1V9osZC6E0XvAiAlg6mZZlOzcIM9w0Y6llB0KL5Z31PhafsP8ey1uXG8+A=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.3_1617203778777_0.1342348862702163"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.11":{"name":"ipfs-core","version":"0.5.5-rc.11","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.14+e7de593c","ipfs-core-utils":"^0.7.3-rc.14+e7de593c","ipfs-repo":"^9.1.1","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^6.0.4","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.0-rc.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"github:ChainSafe/js-libp2p-gossipsub#chore/update-deps-and-remove-protons","libp2p-kad-dht":"github:libp2p/js-libp2p-kad-dht#chore/update-deps-12-04-2021","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.14+e7de593c","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"e7de593c9fb74bbb82731c9ed41ec5204b18b1f4","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.11","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-zamM7k9n4xTlBAp2w3+LAmNMvGsWXq5zP//JpMK1d+4H4FwiVjXpjsPg8vfLNC35/99RYDALvRzw4U1teUpKOw==","shasum":"c68c73d6a2be506dee32b7567562c923b14d648b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.11.tgz","fileCount":470,"unpackedSize":2412350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiVIZCRA9TVsSAnZWagAALXkP/i74/GxP6sr0aNpPuUZg\n+IDfu2Bsbybg2Yrg1jFmDy/uVkKufCrzARmhXQuaMGsy++AkG9qcJRRXTfUb\n9zxtLpHl5u9ALvd5gik4Lf089pXM5aKDD0UzSqyrI9t416I1i51dpTxYLc95\nWWbybQeZaSFjqgWe2S66inNS0AgGYh0KDQhuH7sTkTehAcQX2gBIhMOlVNyd\ntpV28daxBjmRTfrDDVZTeb/O5H3thKDqGibUTzOkZZfb0yu8NWMYuPJ3YyQr\niRd4A2Ws/VtRiCnZxhZdAY2gmZxUB/0VmiTeVwjCPzV/ROEqe4qTELbJ7jVr\nqEtFKVTVXN4cgu077zQwpj5K7RZMCIm+u+J3CpEl2kc+BJ8gCDLxJGy6wuLA\nWLPguYPIzd8BD82uHgPs/MS5ArHLtNivxuyJbefJKW6sj+uEq06R5R8AoU44\n3SD7s0J6CItBrwXNWnxRRLNnUu7ePHx+vUiHUU7fzzwYSHhCE5Gjmyy+STuw\nC4hP9Zp9sdrzYinAGknQFrarkZC3BeH8SjbvyV3KGs7wwWjj8mnSiPNGCBRc\nnCufcXjIKHr9tu8Y+Ozjk8gBkesnms46paid5lbftcPuqT92HMW0KyQlCqdC\nsAR1n28eTibAMZNtnDrKOJ0SPoI/J/NTkPps5KcV0pmX3X8eYNXXHHQI7zvl\nVFsJ\r\n=d129\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAOSfKA7f46TFox+7fa/u1xsz/01yiWddkkwOzdxufUgAiEAy08QVeLp6+AOQJ6cjGGAwNc8YYpV5LoYIRmmmOlrSSM="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.11_1619612184293_0.5223962151582271"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.14":{"name":"ipfs-core","version":"0.5.5-rc.14","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.17+12915f70","ipfs-core-utils":"^0.7.3-rc.17+12915f70","ipfs-repo":"^9.1.1","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^6.0.4","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.0","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.17+12915f70","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"12915f708057c54a08ed0b1f6c417eee8d65ad44","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.14","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-ocIsL0V7bPKVov37TaQDfSqAYPxq3brg7r2WuAwFFG/Rgnzacn2tEmsG9pD8EsyV3V96MXbUr+JWouRahVmQtA==","shasum":"672f73ee8cd95c38514485a4614ccf471d472803","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.14.tgz","fileCount":470,"unpackedSize":2412094,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiZedCRA9TVsSAnZWagAAh08P+wUgqVO8muJznVvKAtCc\nWmN6Lb0NUGxM9RQ6EySeZ/0eDOS49c2YkE131gKAeczh923Dr7znR54DiWsH\n7Vy9NI6aGwNS/iTQ1A5jFLIIs2DPW6hW7APSuntyPN1FqNU5sxNqPugxhbek\n76StQ9h3xYyjxSFSEaTtQ1Pwme2yzp4W9Gin7X5zC9g3iLjT05ZppeHLIjc6\nZwajjc/skdnVB382HXMMkqjomcd0ZdIiZ/O1md4439W7SUzPRlIIeAefc8Mf\n4zxeIEiAJw/Gx0AEwfB80KnI7sUD4RusTAQ52cmDY6bQDa3GKxzY5im2GOcD\nS/G2GDjFT/RT2PNjgLJ2mOfFoKtw+MeSiDrzIlmYN38mjgeWJv8WFlfJLy6U\npT94KXJDaw09pPpwwlSwOMHZZB19EpoWICw2LSd+6RoKnNGaAiPIqj1uS+aZ\nugP2aK6SMQkPYo5F8mvrSd6KV/GCUF9JlfYun2d5g/3KSANcxYs3mq0GYjZe\nwB9tc12Qsw7yf4++2VZTjvifoG9AnXW7xdU7I2le0Iy0dA3cw6+0ZQK8Gx5h\nC1mhBvWoWReWV9W7mGLEA818jfSbrZS+Cz5eC1GP8Md/7twjOlHpbc4ONkAK\nr5eirbqpw41xPg2Ek7NUjnmyLHadan8XtbBh2i6DyoeKCz4TV2LcdCa0w/oF\nAyaK\r\n=A1pv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE1ctGHsUwwOOrjn84aWicUT1HEwe9S2C6BafZk1AiviAiEA+RPdVh2Y1kRlcCc4EvNYts1877PUW8YFooywhdf5g7U="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.14_1619629981254_0.6892770039658462"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.17":{"name":"ipfs-core","version":"0.5.5-rc.17","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.20+99bde7a1","ipfs-core-utils":"^0.7.3-rc.20+99bde7a1","ipfs-repo":"^9.1.1","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^6.0.4","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.0","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.20+99bde7a1","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"99bde7a194e5918933e589d685dec222b083ac42","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.17","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-Rxd49ZlMhgtzzqg+vPyDn171bZbLhcwfYkwE9bs85GUuwDNtBYiXujJgcCXNL6tq+eQFqnNScRJKsYjsAMOfDQ==","shasum":"e13a435e5307b0ff60f7bea8c1611ad780289f89","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.17.tgz","fileCount":470,"unpackedSize":2412199,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiuVGCRA9TVsSAnZWagAANzEP/3XR3niHeQao4sWhkT55\nO6HNZU2O+onf1GgWzdbKfVA2zaBg0O+parU1BxJckpkWFprH2ypmi3Y1rmhG\nZHGUkERjz4dizqF+6FSmgH6Mg4f/BMTWZOYUxOxIjralTXw9lpsn85KhpkGy\nqFjET03EYcNhpi28Gd1wsn5oAFaN/PeiXesIQWXNCiNvY+p4ecITd7bdFqsV\nMqnfi+oh4AvbAZDUvwysKBGn3Qm4XmwuZGFYz8Ii9+i/csGdHLYQ83Dp3uNA\n4Ox63mPyPWBJ44b3T0FhBgb1CBbpGgqqwQDNMKt6eSleWmB9uxGLH9T2m0Fa\nH6xmlE9SiSqKAW+rcnb5dascXrQLk44PfLEMKcHeb19v8CL63UNH/XVCwP+K\nJOePLRUn0yO56d/y0HEGNXnvHuAbgL1FmQhUIDhiUXf4kQ2WYZokj4+xxDOA\n67w4S8iDQ6/Gxu0savs12Dm5QhItGuZG9kuLRIa+vHbx+TsCGuNRLasf/8fJ\nxjgaryeMFKc1ZqDSqMjYxI0jMVM72A5IY+f1yK826mN/u+feGT4JA1ERt4Y7\neQjJj4BKbTM/FzgHQT7KIedgtkBRUE64EhxUHXVN9CMxNknFVqOyPBIBV36i\nTE9vikOtvRcnEh8jtgEhA3W6dOqwANGjMFZvHGjTqIiBtGtHZcskVdL5Ekgv\n3xGe\r\n=hBys\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG8D54m/jSeW3xOxBLAuzed/sh01E/sVjPcieOIP1o9rAiEA+0DSDDUrFWhNBzpHkjc+so6VgU6qUfQXulsfdEO6WyI="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.17_1619715397894_0.061585901626803"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.18":{"name":"ipfs-core","version":"0.5.5-rc.18","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.21+2ec15c08","ipfs-core-utils":"^0.7.3-rc.21+2ec15c08","ipfs-repo":"^9.1.3","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^6.0.4","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.0","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.21+2ec15c08","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"2ec15c083eef923096b30dd927801331e97b4f5a","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.18","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-OazfmoXhVJVaWjyS6eIm9dCmsD3TOHN3ZDhwa9nhhDQzJBQBsmhnkdRSyDWEw8I2IMA9RjnvhNnLowEX+9zg6g==","shasum":"12ff19eaa0cd9b4bba36d66343d272deef9f4bee","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.18.tgz","fileCount":470,"unpackedSize":2411735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi8zVCRA9TVsSAnZWagAAOh8P/20n6bwqd5llYLQo4kYg\nt98dHhaklKWpAMLaPdoltMgmDpeUUgBFOIyr1bXHY41E/3B3i4npOL4yL1NT\nd4Odl2A8+xUYGo97zDEIRocf4/zbsOp7b2ZXDRUJX5mm5GS5IFJJ+5UOfg+V\n0+nxRFsUnwmZ1i/6aGhm3YHT33sQUHh8VYhLSuA7P+dzWrGuvnsSgi2vZRIC\n9Lq2OHAfOqYFrUPv9nJuOUluIMS3WqtoCawnfjzXB8AWlIc7CqiVWVAZp4Wr\nUyguxft/QOU1M+MuLCqxmhAJQR+9fB7kjP+k+8FrHdHZCWmyoqE6LbfIs7qM\n5sVqzJtUTWT+npereTgWjUaeHfABBj5vdCNsd2SghtyEPH8EplYzRF00Dp0+\n2ibfbkGHITKzTWuIGlbpdn1wLCFAWT5Bc2IbnUddOibBxRDQlv5ioXfX3J65\n9MqePSnFWywF7mc+JNyaGE/gmposPQsEz9HWI8EguvMiFd2JLJ2lpiND1HmH\nNm+PjBZpIsvQpnE/T3zxPScgurUjiXelgWd23mkqauRuvTFwWhk0qn9U4IzI\n4ypbzE7NwrA5a03v7OQMssqovT1s7nKTH9j9K5ph15CIpYTm/a7XaKDU9BHm\nRRJ/b4ls0WNNwD4kOL2nG8ugsAaa0fQUTFYpGba4GPcSgVDr71GpAg2OMA0c\n2Opp\r\n=L9wl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/hJcZvsKEBqQO3svrcy6p9FA+DxIU+xdfy+b12hu17QIhAIomeHnoXjzbVpYP0HbuS4rf6jBcTYFIQXt4wlX+L9CB"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.18_1619774677024_0.5315414046124898"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.19":{"name":"ipfs-core","version":"0.5.5-rc.19","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.22+188f1f39","ipfs-core-utils":"^0.7.3-rc.22+188f1f39","ipfs-repo":"^9.1.3","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^6.0.4","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.22+188f1f39","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"188f1f3930ce2dcea5a4fd6b6b1cf413ca04a736","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.19","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-uKpMtGSuZF9pybWw5NBBfPKXITCQijFm1ndEytKbW+Ecy7yZ22agjvZi6VCijzFhGxjsSvqnqcfMTQatlPrcxQ==","shasum":"1b1b6f9dba1cf796a010acce7d8e876bb74ee90d","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.19.tgz","fileCount":470,"unpackedSize":2411951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjDi4CRA9TVsSAnZWagAAmr0QAIQsZGOxEYQJBs4R4hp9\nyC6m7bl13NUi7V5fxKhFiyee98+2MJQrPQMZJhepKDu9meb2lGoTOzlhsYkF\nYQa1tiFpghshtjc5rTbnReLx+USFK2JoIt3oMVCUzxRN9FlQ87ucGMSPUG4Q\nTjdU8/wXY/ureIpvTXcuTKWjs7qpqAnXqnkLrWo5PQAqNKHtq3V0nwEaxlDL\njgjZggVNh+RLTj13dsy5QgQE4DJ/X/aLJr9HscPCEf/6X8wx9YS157+lNvF3\nkuH+5wtdRZKu934WhjYKLEOT7kKvAOt+hKjAAmKXR9c90RcTZVTRM9I5vP9B\nnJ+ZzPkqfkbDK93XOgVbww4aZGlsTtr21dsj9BmrFjriKNV4Qrsm3fCjgkox\nnyC/LxSoWrpMzxSqlgICRp+FzuEh4FGuUid1kd0GCnxft9cSUTM46Fa55eOk\n8Xw62SpBt7YgIL5u1/ZapgLo1ONoNK78auLrN141xG4A7MH5zTGHT4cEODO9\nh/LgjQljPqhLR8FveSE5Yy1HuHYnNTJAVwAzDn08CRul64IQpNQbNWJqjFdQ\nDGYgmo96NvE5s/XlJOacrNLzF/q22To8brZDkSu9xmZwnSUx3Ry5TzE0JfFd\nbVUA2kwIFrY/3PxqzWt0Z6rJvw+8dYYsSFrqCQY+LIvtP+QQtHaBOYCTerzV\nhZkX\r\n=zC1a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDh29rvEc8eOQOHaY7hfIJiqGLGPBFEvLwPw6Hr6UwtNQIgAcF1ZNsUuZsJWB8wKO8W9A8Qyj5xTYJ2V3pWFc2gLTg="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.19_1619802296023_0.2106238241719689"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.20":{"name":"ipfs-core","version":"0.5.5-rc.20","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.23+1a447f89","ipfs-core-utils":"^0.7.3-rc.23+1a447f89","ipfs-repo":"^9.1.3","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^6.0.4","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.23+1a447f89","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"1a447f893072d482d5a7ad148f9232dd43f64cad","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.20","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-alWxKf6USba2nPmptAe1tGHalRHfYIBo5qYrxbtNmR5iHfy3R4CYHKmyebrFJVne+1ZjjwKYZcwj0nLX/w39UA==","shasum":"24f5468228cf1ae664ec609829a160ae3f476d8c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.20.tgz","fileCount":470,"unpackedSize":2412023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjZV5CRA9TVsSAnZWagAAbyQP/3FCv2FmWr90tFwvzTjc\nLmufDSmBb6a/HpLOdKgA4i+UocjN3HNVvM3rWgmHJ0gDy2uSaWgjx40Z8K8r\ngE5dHHBOLqZx72pTtCXJb6Q/hjbFmmsPL/HPT4Ej0MSg7jvvCvSdFRnGfW2k\nOcEJ8C4xrtcGLRQqWgkKWYFWzT1sJ0glHwhS6OqWOGHOA4pNAELC3wQiZtVy\nc8khCbZ3lxwbhov60YZiXmr/2otNjLkhPwDDpyB7K2m/May/WSTZ0PQ4EV9u\ntPNJZKq7e1STASAo1h6gtqRTVUAxO5SO7QROw7bo9Z3wWRE1ctdBsi8HRbmG\nRBqLxdX/frsIDMvFBvf/Pl6zzIK/NtPL7p1HFa5ifaRVP4Rlc4xekJSydEH9\ntEiYHa6aUxI06/DMx4J6lo1TjJdegoPD2nJo4mYEhIfj+BjmbHKuMLbiB2wD\nlY30T2DZGjuGshDbVvUMMSHIh2mZm1XsHfJX9FHiYjUJIxxVKgq7XVZzSsmm\n84/lyUSyf4u9a8v2X/kFzuGup5lUYroqu/7VRbf6oAuQLe+gRbnxposzbvtp\nafJX+bFdbWi++QbSte33rh8wb5BvVrmmwBztj5xcCuUhKBQH+jEV7H1E+Vmh\nX+Qbp6R8qj8n8Ma5XqRaTjrt3ThoO49D5xJyI7cZn0u8HA9GgHgogYzU7vqa\nR5Kv\r\n=ZODy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEC05WImc2RjxT2mS9jK1nZHKQI75DFI+YqRboZfguBFAiBzsAO0mPiOOh4tT4Bssfq5AhQzrM4h+oiBjTFHq3FMgA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.20_1619891577267_0.20751957160801227"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.21":{"name":"ipfs-core","version":"0.5.5-rc.21","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.24+21b70a1a","ipfs-core-utils":"^0.7.3-rc.24+21b70a1a","ipfs-repo":"^9.1.3","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^6.0.4","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.24+21b70a1a","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"21b70a1ac38d53265daa52d8c0eef12d4e3255f8","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.21","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-5cCk9RQ8YgCfozVIecGM1KgOloZtV/ffNIn8eRwGda8NRBP/fxmSCEf8LNI/K510Izdj4CVeIHbwUaf6p38A/g==","shasum":"1c0db3947cb889dd00ab35ec35dda17f22e7cd73","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.21.tgz","fileCount":470,"unpackedSize":2412687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjmo3CRA9TVsSAnZWagAAvBIQAJKQ9/wKsISvHLGRNN/V\nUyGgCy+rLK6ZHgb4IyT9H5jWiodP+VrzBEfGJq+hFpLnvNb+j4R6v5kb8oEL\ncPlr5QTa40F9kD3364KfnsvuJXY3p6urHFlNQzFaLYH2OTrnL4+ajiSxSJFM\nGht7uTPMiVUSgzuJsF5/5tsd/FunfDQ0ZALRItF9gDZ1TYGJAZvO1PI+T3MY\nZGKi8CpQcIF/ytw9tgl9KFldpMXGlQcF9tr/lEjT17E8QTo7FCO2ks9DTDuz\nMjHXcDSJua1CBafa2Zi1ZwEKGfqqpSTtOLIMYXtg6RQCKheZtx0CXZQCt9Xs\nXYuGemf3Y67/fn2qSwh2j62IPfhAph3Sk7nqykBRIgLxJKVA5sDkZDRKMRbt\nIiZ8XQpvhiIR6+f1c632IWId9xCJtDXhMMCxLu4sNQEATX1xkme9gIKjLQ2o\nWsq2WLF2GyxC74GqU2b9RqV100TRjV+NGwMoOHR55N6wiNcuzSgV2FK/j5FL\nNXqZEhe7eKkGvhzlqClDRO075SBoVCwyt12EOSjD0ZNpfPbVApMk64vXRAMs\nTbQGI45zkSp0/pKaJ1YU/ekTZpF7+vPA92oI0CfsfpFLon4cOAuuASncNEHO\nS/4MkWGETHod7CICGkEZs66Su5gnWQ2/NjuT0y9BFdTQscHa6FiFfQ4HDkOZ\nZ8ba\r\n=8C1h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGzCuEzoC4/K9nCQpP3AFwIvxkI4+R4RiSpeye58ynUtAiA3z6rohqHs8RdyBPBLSZ59opqSmqTofNVGBXg0VoDjuw=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.21_1619946038833_0.6087980331695699"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.22":{"name":"ipfs-core","version":"0.5.5-rc.22","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.25+0a4fbb4f","ipfs-core-utils":"^0.7.3-rc.25+0a4fbb4f","ipfs-repo":"^9.1.3","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^6.0.4","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.25+0a4fbb4f","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"0a4fbb4fa20b17d80b75fc57be49fc8cd7c14877","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.22","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-8EFK1b38tVTLvI+W2BkGPGhg6lGvMIARDjvyjy1WWa1OjLnfFYt/XegxO9uUfAL8JbecBBjw/ozhMHEYIMk3Uw==","shasum":"f61c2892f033a15e5a3b2b2e3f22d688609d6a37","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.22.tgz","fileCount":470,"unpackedSize":2412687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkPuJCRA9TVsSAnZWagAAjhsP+QDRSJ4QDigsoKWGgsce\nM7pnEw/XpQgRI0H4CMVO9nA2c3mD4cdec7YX4Dde03Q7/Ov3hxU4H9Qbsjjn\nO/LArF2ITvq/TecjKZHaJSD4T2tblBiFE6QOPoewc5UCyO/JmPemLmNc6WOj\nTHXCS3kXtV9tNu38axh20IdS1xmNcIz9QEI95jzVOtyFFDkrA8ErBi/QVp3U\nY+XaLt7OntMfuY6hrFRj+04y6wbiP38TGdO5fV6i8/AGPX+D/Ua+u7xm+Scy\nuKUYeeU44SVDOqeRnbMtqkeDKYeLnP+STHS9TVxmLAu4x+r0u/Zir84d3Bi7\n8Bl5hNmfTWnU+QGeDLV9aGzOk9nXRSXx3/WWISwj2Dyv3FthDkZbZ1Jflw77\nsKK+M9sbMOzdDpvn4NrNy9YUfNL2dw/soCRVIPuDS/TnMRdbPRoEFqGYsdBn\nHF+LnmNSKAwRhFSTvPfUn3LzjZZ2aifb47Bfyi2HVFjTyWyb1D1UE6t+5gQG\nxMiellocZMfb9PZ+CtQSbqqtVGXS0pke8pTBvt4sJG7SE+4WyRCqPUJDDZLz\ncWwWpZUIo/URTJdlS54Nm1nW4RmaAaRVQPEt01mysc8Az5ugyEMBDozItp/t\nrnb7PAR80ldZKND2+956804bZ1KOc4KyebbutySwvsVGm6jCRB3QnIktKpdS\nm+zx\r\n=yKge\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHVVGvwVXG0+BD+X1icbcICCzd8b+HMDg9sWUAST+AwGAiEAm7ZpEyB1PAdYx4Z+NkCglHJLkHOM9aAXNHYoAZmgIE8="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.22_1620114313477_0.18746235352927965"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.24":{"name":"ipfs-core","version":"0.5.5-rc.24","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.27+a297e8e4","ipfs-core-utils":"^0.7.3-rc.27+a297e8e4","ipfs-repo":"^9.1.4","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.27+a297e8e4","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"a297e8e4770f0b8e88e065a604acd5928e561419","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.24","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-/PErotcDK4UavbKL8Yc6tA75Irciu5D62638+kNK/nGCq6yCCDhz4Ww3DPK5Wrs4pApIQrX3fGtBHVDM+MianQ==","shasum":"83e570bf5f24d443dd43e0267d884d061e05e50d","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.24.tgz","fileCount":470,"unpackedSize":2412735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkSh8CRA9TVsSAnZWagAAqEkP/1u/4UOlNVpgYDiu6s4K\n4BZbTLGXS/eEh63IpijlPfQo10s4UNDj+E4jbY6wqtKMNBHc/t6sAkBphuG6\nP1ri/ATVZnZ6GEJpsx9yrKqKTjKykGtWeS7mWbiMwTk5v4cZPgyUV+g93BUD\n1MsOzJaZkbjph2Vgrpb6z6lwNlwT9gggUV83kiL/vFpMXr6nkav1EfuYt7ol\nmJjYcBPRY5mWYbjMlv7UfDVNLiB6MZzLg18YwO8waeLI8GLQo8ev/miyiBhg\nlfiRJA0B+x+aCJQfGoU2CTgDzRa1pL7BBjR46iXl33kdkIgBXAzdVXG3wXle\nokkBzMJ9PzNkeDXWSvVVazJWsN0K8rIihpk96NVvW4lEPMBz4wADNJgUkDnQ\nz1Zru5MwjORZjXkcui5KKPHDRag7XCjIDb1qo6TyZDCJkGAoylsTRrvTk5ps\n2Or9v1jpDsz9mbgt12V6TLiDCN1Y6uRotZI5WUvMx33lIetGZq3NiSumh9zA\n+4ow6GcFBQQhJDBMF12bar16l9g9a2+GsWmHrqLM6r89LdcXe31Fyu3TEJNy\ni96p6+f0eTGZOL6/nki2KHx1WU6dVQH2ye43uXHqmb6D1mhrKnAUiK6dk7Vz\n+lsu8jiZetdejYdaTqjykQxqjenNxiBac77Rrx3ICaEctyIUfcAES3jq/idD\n3KZr\r\n=b/ZT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGocgxd0a5myyniRvw2ZPZGhX9gzHEGvJWXBogCVF8rlAiAJk/+yyQTdOhsg6lLKguuRYUJJ4dEjH3HrPvwS34GQQw=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.24_1620125819998_0.43856904905491656"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.25":{"name":"ipfs-core","version":"0.5.5-rc.25","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.28+09a65ff2","ipfs-core-utils":"^0.7.3-rc.28+09a65ff2","ipfs-repo":"^9.1.4","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.28+09a65ff2","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"09a65ff238770978bc9a91449c9d76896f9db8ce","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.25","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-8LfoO0lvCRs4xgqnM89lO/aFQu8ZitZyRwJ0aWLH4vzExeUR05QFbnsR00ofZ+1p6aKBHO7QHk3GpbO2Aqj75Q==","shasum":"8fd592a008daba5f668d20b7a2bcaa3a3ca86b32","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.25.tgz","fileCount":470,"unpackedSize":2412735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkS23CRA9TVsSAnZWagAAfAQP/jOMze8kkev3fFIlypZm\n/h+CSDNFFYT2mVRjN8AMlnTDlLhEPeK4qGPE6njpxReKjQ3its/LkRb7Tw/j\nVHH46nXd+KlSUvnGnLpxMASIla2LbIL+ZUaq0x0boHqkxeNz2Z0nm3E6luib\nHKJeTh9krgVGeJvTwhqJWv0MSNFSNsJJIk2aZ0GPQNKowOboZyXrcBLfmtOk\nVZkiD0N30/WugLjZ8CYi2IAjEvlJjVgCM1v/nrLpOX8a0GVdTGAsBEP4hMd7\nTn/c5T7Zh4C3dNYJcnl2XX2aK8l6sW0ax9XPWnd8F39/8FVvj7gTQzZjBfnw\nZCP0PuX0AqpC1BzvFtYBLxEUI4hTlwOg+ySfAFiaDGsX8hAYjjCftPBgJv9B\nRdBIqT7U7FWZaUp+j1WDhbd151EFFDGCOnh5spbSgqNF4H0GHq5zg5V3fIzj\nhQf8Q8EzHRYslgrc9/0Abo5VtYttEUG3v5/AiHbwGxZVmiS1Ooc6/OH4x+4L\nWUvHXF8ZKQxUtWX0wnT8L3T4CUX3CZW9ZPiwbUmezD4JSmicFlwmX8RT61Nn\nsE/SatL+JEloJSDcH4rI7akyvw2H7kDtnIrvWfHyDE5SAaKJbJUhnei8Y8BW\nlxmjCn9gxKtYvFXbz4BFz4C25Uv7G9aEllmL8V7O3dcGDSbuOBTRNe9HuMAK\nJTqj\r\n=ZRC5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaWNE5RRh1QKdxjADMPg/dvXBxbHPOxKMkbJJFy2jojAIgReXKsWxwPeogX0HSn2PdpCML53P/M/5bX2qbRODgMHw="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.25_1620127159324_0.6044131130906658"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.26":{"name":"ipfs-core","version":"0.5.5-rc.26","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.29+1173edeb","ipfs-core-utils":"^0.7.3-rc.29+1173edeb","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.29+1173edeb","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"1173edeb04e6497a8e4d2336c83fa8c450fc9a24","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.26","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-hBThqJAERI7aPoDdsVxujqahcwwPdG85Y8dWAtkiS+SzInkYTpgC0QGTZ8+35rNP53Zsz26oTK3vAfFcH2QfDQ==","shasum":"0a24cda829b42098c8482fe40f1e18cc107c0aa3","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.26.tgz","fileCount":470,"unpackedSize":2412735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkVJpCRA9TVsSAnZWagAA+SMQAKGAb0uHjgR5xTYUUBxy\nBdRZdeRLX5hxQEZDljxDn6XSMx2CmdxB8+zXeqWjBwvq8CRZm8HQqBAS9gSg\nF0GVXDnU1vf4IlE/rN2LXuGy3OZRWsvaoxDVXoc1wWOazdxV5HOhlMXF3XZL\n77m1FtZPsaeesJWCSq4UeBPXFt4ToUn970Z9YR2t9rOsvsS3XlwToObu++vN\nBs/IOre0QqL2GvUbdK+000CPXX7qaGz9PJjcQdhr0c4vlePntCmFEUVc+YqG\n/9zG43O/PPWjaRlo4UZsvyldJsAlJWBJ8EpepgQnDHNeemiQZfbO7Uf3NLSn\n6ZlmNb0QAI+7h3PwvbM5AzYwBMIPlXVBcG7zzAyUWuGEFaqxT6YqSBHn1TG7\nB4K3KIaOksKyEKeu53E01R14XjD/gY5Kf/1TZ/tMu2L+sByFc991xJD7m5Ap\nEtVbsZ7m4PS3psxiiWe7awIEnzhFf8i6eDxtkmG+uTzzZyi/y8GD2XKMYVRW\nkAmXkDJtd+g1B42xvPnAIBMgGCie7olodTIpTc3xS1JWbpd1EoUXjhuyRFlz\nH/vUIy+ip1VjJUM250YWRC2JCcbPB8pR2vnNyMeC2YWbd57zTXIp+sZmG1hy\nunV/powN1Cp0KBdxgl5MrU2IX05z6QEGEWsPyp8H8oKfoVd6J9IGRjcUuD/m\n0vaR\r\n=t3r2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+g9/FDA6lfr6vjFPatxvVMOSD/TpDi2ynC3HqO4ZLmQIhAOQ2RQPdM2NJxpnhi82iOGCQSPWql3mZC6I3F+0o0yeV"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.26_1620136553079_0.45368145502374846"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.27":{"name":"ipfs-core","version":"0.5.5-rc.27","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.30+3ff26938","ipfs-core-utils":"^0.7.3-rc.30+3ff26938","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.30+3ff26938","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"3ff269385bcf0432e94aed545f74ab370d664557","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.27","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-QkpgFM97d0Y780xP96QuVj8bajulRPg+l+YB1BpYRIy3yDYcfWE31w9LeFBhMq7g4OpfJjGL0IZZWRwbYilF+Q==","shasum":"e6e93c6b344d02aa010ba8c2c04ee9f6c975a165","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.27.tgz","fileCount":470,"unpackedSize":2412772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk9ZLCRA9TVsSAnZWagAAdv8P/2iU7Bv/V5B5UIpGbrEI\nG6zqJk+BohQagp8eIKg/D367V+q4jus3zCwaIxIkx9BN6FZ9uvcNM6OUHGuJ\nIyBN0Zegjmob8efSQxAu1KbqICTyl2ZGlelLLLInbM1n4BOwfdzWygJESeWk\nxYNxvhvRhapN1mbN5YHNgduOoENcOyzj52pKftDen8XAlxbmgrdrNji+rMVG\nPUrWSeW/dPWf/Vtnghi5H4UuHZOZIE6eerIR02nOf6RTON1vg3UrZ/n0l548\nSfFyjf3vCq52fCd7FgvsVCB85mREPcCXdjaEPpMSsc8fIOhjj/0j5ljsQH1Z\nSAVgvXYzhEMiHQKhwbn8ycRetrNhNSB+U5XRr4WMRMJkL0Go9wkd/AY0nYYD\n2vnnZFYQGCRMeVEc4YzRvySa9JYOLVOroL55w0g3LatlSchcTjtYme7+S8ra\nZYf/tr7oHVf7CaHvNpC8662g1ndkTBRH0QG/7aep6EVNO5VjmXT15VuoSqf/\nNw8yViZ6OXNJAz/65cKwBKCBUSYQRDZHliImHCNBU6/76RAYs0n61UavY/4g\n0BFfWB6pWowVUfX4/OPtTRmBv6LrTJYK8XPrgsmQpHKbdRVR98Jmq3siGh10\nJG4/bujLmPb+VUBontDBsofIR6r7muWsmT1JCmmqpng6VSMj8cdqb2gNN5MI\n98ji\r\n=aTHD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID146P+eVNThT2PC8VByDpmnT2zLDmw/qe3p58gniPaNAiBhBGg0ywkB8Y2TntP0J4sCgxiFhnrCc/q2774HnD7fgg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.27_1620301386960_0.14897381944585475"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.28":{"name":"ipfs-core","version":"0.5.5-rc.28","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.31+d5897854","ipfs-core-utils":"^0.7.3-rc.31+d5897854","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.31+d5897854","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"d5897854419e83a146dc8cc01de04e73b250d07f","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.28","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-Rp7mqFxXjLGbh+pjP0km0C+kuYpETI7JxrssnfXQbydDv+VA4Dy8Na8R6i0gbzHnaqictPeystajXbTSCjsUfQ==","shasum":"b2ca07119f9cd39dfdfdb55a72032024f2c5c10a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.28.tgz","fileCount":470,"unpackedSize":2412694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk/qeCRA9TVsSAnZWagAACMEP/3p2uCxGh+RSYLgdranf\n8gBZ8Ypn4q8xUS3XHxTcgFk+4oej38W/08AGiS13LqqybatzyT/MfJEk34Oj\nE0xHmrVVHI1h3gMivC5qQQmXIZ63p7apSydauB+7JDj05TRJlXS3cw81QdoU\najpLpRfC1onhYo5nf2ByzD4kvzG26UL6t24lqThrb4D7FHDqXnhFGzre/yLN\nSP0+5l8zUQMsFF7ukhgJWyjB7ZNBcHrcCJ9YzV+IovXFZ6lyBWXGQQ8CvDFn\nk5MHw4q4nrwSJ4rY98DrQOMeTk6x/x/AB+FNH6ltAoA9CwfFEdYy+JpWGUP0\nGgZgdCQbGYqcePpkHWpSpI2kU7x2f8PZiLpBg9ZtjqM84uKIpi9kcgMWCoGK\ns5FsY4Tu5Dk6F2/kvUObMZ445hvW8bb7WnA5YJelCPOtDB2+YPagPwIuXIb3\nFbzek31UdV8jIfPks31efFOTGFrqx3L4bT0sns7BtUIZeBQbDheYwotRC51j\nVWXTmHrZj+lZnMl9jHCHZvG+YoV+LHWn6qxDSlDPiPkSCJLHB52ip5ye7LLj\nTifolvr5GlKUHai2YLXVbsmJdE2tdEG/M46IOMpXqj2gpS+o5Bl6ceDXt86y\nVNk5Gdn+R180nH02aCv2Dv5jrhIy5CfMymPrpRSrFM+Kue9gt2CvMsgd8/fb\njbwH\r\n=mUXp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgfuZMXQm+SXTXoaq2XbmF9iDThoS49yMCrZ2rzy7mQQIgH+6lPU/RiD2EVRJy+sjhqnZGN2uoxxs94TtKY1AYn5Q="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.28_1620310685965_0.9296128167480988"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.29":{"name":"ipfs-core","version":"0.5.5-rc.29","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.32+3923133d","ipfs-core-utils":"^0.7.3-rc.32+3923133d","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.32+3923133d","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"3923133de800ffd5a5550da86b7bca254206104e","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.29","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-YMf7LJ+4Ii3sbSk0tCf2mNfvu07MV5tbk1Mr6XcYexxtJyXkYuIlcGFKG9VXFLz6M8Lm6v7qz6cGa54Jjv09Uw==","shasum":"7064d35461c22bd49e7376522414dcd002d1d94f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.29.tgz","fileCount":470,"unpackedSize":2412694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglSuUCRA9TVsSAnZWagAAk8QQAIX9is5ylzgL0rjfWcIv\nWmCbZyQfJZwojfsujNbZO/ROgAz/P8W0HL2pifFu9IfkyaWAA8DpLENAab5t\ny+Jj3fg8g3XZvM1lLK0yCqHN78TWs9vCodARV3ORp6AaG9bVQowwE7vnuTMh\nl9DyCcvRYtwxk8Fsq7Wr3RLT6Fgcx1ZDH22NkBMbEAYj4FQvpaXcMHeKAu0Y\nveGudVPaz6tTuOe1S6qVYTjg8ZBaJEnaC4/Z7wgjejpIvx4tKmBBCbAD14KA\na/nxE/nI7i+F/jrtRpcnoRUynagurESxMQWP5Rr1CusBHEyqmV/ois4NaIcC\nl4Ybvox8A084WAch0KCdbUEDrZkwR6xJ7LnN7LbRO540B6mMkWzXHwAN88Hq\nfF03QeaZOJCcMJ23tYvKzkD0zsq+/ftR2OM9B7DHLgq5GU62fXu/HBXo91zx\nWkGwYGixj9gJoLCAeDl+M2U+sbvEzuMelsdWKjTewNNwrPFfAJXuYrRLOfHG\nDzQ5p+Agmdt9ftNLZ1cPos6IewdZ3/ogZod+pu6LWnQ8JCtu5ZyAX5q0XabA\nBo7X5xtGm21aribv5JXTEl3FYp0CvZAwMjQuEokfvrg/4wT0OoMV6VV+hO4+\nA/Hh+D0zPblPhbpzZQ01dieCCGiG098WPYkeBztS+7I6AKMlYvUpR/wDJ1sX\ndkSX\r\n=DMF7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDy/CkKovy7M9NtnYBi9Eb5bnCWXweSu7qpPm1S9i+ibQIgTintg/bLz5oRAFn8oTSMaPEJOEH6ha3fpoCEI0naR3A="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.29_1620388755554_0.37784782321207033"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.30":{"name":"ipfs-core","version":"0.5.5-rc.30","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.33+cf78a190","ipfs-core-utils":"^0.7.3-rc.33+cf78a190","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.33+cf78a190","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"cf78a1900dca2d466b3694dcf677eabba5ea3b17","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.30","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-JIEDpJH3CrBAHlgrYUkaS890rwnc36brg0w+r7p+4Iyfb6FytSSGq8TvP0YAVt3cHoyFywRQ9edMeloVt2oO3w==","shasum":"163ec2182bc56881ffd6fb75b3999da215c4cf6a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.30.tgz","fileCount":470,"unpackedSize":2412458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglUMmCRA9TVsSAnZWagAAhLQP/j5qRJ9AyUt0W4zTYhSD\npFrXbo+xM8Nx92sfkcArzQ53m2EjRG8l/TaGnDgVUagVH3+bHAH45V5yu3jF\nTR8Lel5s/aiLypOSK0H1tKWIzy7Ztlu92gGNsjo2biR+RS/5LYGDJzR73U0a\nkaWMkPfk0VgYoLxpImXV2RDFt991LAiCtSjex0iySWkwdi9bNAoh+J3bqy1s\nkbYudFiNr5mLbhFEXFvW59TIkUw6f25nZTPnV2/8AGV5aegUBS84lvxmpIDp\nXMlxd+eOrFq2mrKSXhi+YPw/iOoulMOqkhqryvtnmxc8vh5N/1Thm5B9naQy\nv1NJ61Skh3mI0kyFYFKEMBwiA1bAQXEjzFzFgjcKcIdBQe7ax1HdBbauQoxb\nHRpRMoHswGPk7edhaFhKnoTBvXEfwjRGDPz7BahQxa/qhAJpZcVIHvzVlu4M\nDrcLvxSy9IdvVBYdqc6XrfNhqPLw5NkdIi8kZ6CwvAhRtb/g4SwSCUW9b9rW\nQEFWSKc+Sio3ye3V1++ufelNzK5P65e3OU+F2Vrf7GmvWlgD7f04EXFL1HM7\nech/oHKLKHp23/rTY2kfOUaQEikWOkzkTFUN4FAhwJLiiVbbsyd1p4ef1Vam\nDXqqwkNCgmPUNBcMORh17V3dQz32Udi8oJN7ekVSTEOcVLURrxD1FsO3f/lJ\ngN/x\r\n=uT8t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcZBHg+7RRAy0upDME8t1wH+034J5c47pY32RTe5ckeQIhAPaJxqB3ZIqhaYYTUmjnycO9C3m5xA0G8fFjuKOPE1hy"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.30_1620394790149_0.5228402165734736"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.31":{"name":"ipfs-core","version":"0.5.5-rc.31","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.34+fe6024ce","ipfs-core-utils":"^0.7.3-rc.34+fe6024ce","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.34+fe6024ce","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"fe6024ce70fe83da84bfd938d725f3e6814d0e9d","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.31","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-8lmd9kYhCB9KezoehiUuADCYZRyjZZxSUtmnmlbAQpOc9IpwSXDu3lks5Etz71G43P5RCFmhW5cTEEWYesUxPQ==","shasum":"29ec6f2c17e0f3368ab551f1417303024d6a6474","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.31.tgz","fileCount":470,"unpackedSize":2413410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmR+9CRA9TVsSAnZWagAAXIkQAKJA5abAouhmU8enUbKg\nSGMlfjqNUPGiF8m/M5SJEmpG6kKrRrHwh/pQNE2o01cK2o7kI/SYIJv3QmnT\nlvD7/Wo8awmiMBQoBpMagBTlfoep99qACOyQgqaBNI/qWgPJgHZJs47bT9O8\ndiu+1U1kfeyrTIUJYs9O3FCegYDyO3HxFg6AyE/3YG9fTmAhvjr1GQQqTzd2\nsrzxNU5aTRUuoSSd7w6SDN/S2FLQHgxo7fR+XqZ7GtD6hWfTyy6NhgUCMbIC\nFjGWItycICJTWaTJA8Uy7Y/66IerWEQ6oWeJ6zhgg0JY2/AKIgmsmgUJOYfp\nVuAidar0C+lt+d60xZsteldrdAaKPhmcp4mobYkxdfo8cMpJKeLIApjqME/D\n3Bkt8lGELl2gWifd+YUDfrPmnLOTXY67vyXhBA7vCQ98N5H6fNcOgIyiir4J\n5jOA67AbzKyIKqnHjJhWRh4h66CUMwc2RViTYBMy+PhKAoPUmzABkTjqr2tA\npdKIyDup1dndpm3BvZOFN9229v2wu9idoXKjA6vpRTwIFgPdUPTopytQYbrH\ndhDfozaVzb3x9UxOGN83JhEZTvTLs25Q1q6mnkrHM1AS8akz0RuVaqMf2o7z\nqyxefjM55SjzuqMfkQJ6iaCHvgUK+YxRMiaFvD9uzlGuRHeDNmxxeXMwba07\nFmth\r\n=MH+B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBrp2ABn8/hWePp2EmSLUaIzoVEM8rOSOSrrjX3/HqaWAiBx2kuCERoCjGBp9RxW0YppqZ29KlHEMoMMgWSwYJo1hA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.31_1620647868639_0.6891375689032386"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.5-rc.32":{"name":"ipfs-core","version":"0.5.5-rc.32","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.3.2-rc.35+bda04d10","ipfs-core-utils":"^0.7.3-rc.35+bda04d10","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.144.3-rc.35+bda04d10","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"bda04d105587606ab2d7efba04b232bc89b1edc3","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.5.5-rc.32","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-Px3++pxDjW5Qu+aP49yZhBafoPMKhv61j0KtQHhP7HJX/9jli570jTbSy0oScvm1qvKdv12nHDVPEfieLNxKZw==","shasum":"fedd2bedb3b5163e9a13068ed44a57b377ef0541","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.5.5-rc.32.tgz","fileCount":470,"unpackedSize":2413410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmSU4CRA9TVsSAnZWagAADlYQAJs5d78jQsaPQiPJiuzq\nXxkR6bf4olUeV4byVhMWIqzhxaNZzJesAYCQ0VCG3bgcj+ObQjYLkbTc0Lsy\nbM+lf+mOI9iAu7209pQkYDX0DzMomJlZsPoGmBzqgFSLEr5SZdTPg+GCXkqd\nC3BbFBonvLg8kkOqN83rwlbnPeafYDbzEa5DUARSDzBUMcaM/pKb6ckWd+Kv\nsEO/dv+kLXa1xgZ7NKPtGFQ9rYuM2U5NuCLYvGvYFRhrN1FFFzmyZdANYQ7e\npzWv2xHSP5eNdmAkHTl1XO/6HwmExxmyEEZ0FZlp7QmYq+SkA8J3l3RemoU+\nOpwVad1HR+xliwH34Cjx1Cc8kAFXDGQoOcuzz2J7GSRX6haI9E1PA1+G2dpt\nCYx13GW89u6WBir33ASaEJjpz65o2Edz9AsZoUhY0w86FRWxCMK3lpPiMsG+\nnxHCr72D0/gqf4TApXZ06bWYOdWFpAwhCiUDwxyUZfrAkl8oDU4xrUTOHahZ\n3ojSuVa/yyhcpegGYKCF412+0uPtMN12aUwLEvjJgr9H5t55Txq/73chugfO\nINf7VwW5MrfUM3VmqvMQQtAJ+7ihBj0XEMJguZRfK/KxwjLWSuQ+sM/oH71K\nEnDgxk0atm5Wt0AfbVgJinUlPN0cIAWG8Jez8Jl/uKflWn+2vJ/f/I99YnQz\n2/Sn\r\n=/9kr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBvNm2UAsC3MtTUuViYgRAXC5QRhJgz+s+GgpwOEOTimAiBJJXTJtqmrDEEECZBzrwz5vJVibEadZ8x59WUXAqC8xw=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.5.5-rc.32_1620649272401_0.08980898455112007"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.0":{"name":"ipfs-core","version":"0.6.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.4.0","ipfs-core-utils":"^0.8.0","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.145.0","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"99053f721305d1905f36a16631f036e883cb02d0","_id":"ipfs-core@0.6.0","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-9/OkLzir1iJKmQ6aB3BA5q3I9ThQYWBIquGOycOGDpkoc+qpn/E/IrLFR+f9ErWNug4VtaM/0pmim2GjIsyCwA==","shasum":"88baa666b9a696cd889e09bbf1a3b3dd5689da81","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.6.0.tgz","fileCount":470,"unpackedSize":2414488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmUlYCRA9TVsSAnZWagAA3y8P/2GIBOAoQs3M4fXqj7rF\nDfXdwe0ZS4ZDpzIw2Hz1HPNw/TXdvoRI8J4HVRfm3hP0Hmx8AccH12M0PhsB\nlC7giUlYyIHCqPe+EsnmsER9uG463b5l1A4ZU8EafXMlx4V8uXAMCgMvTY2D\nCRvs/SQ4B3zNB+gYqbOrML4FLRLmVnD5TJIkB5KxM+2xM2hBmJj6zdWyM8wi\nDLTdzpI25VroyhgALXb1Zb655AnzMNgR2wSYIW9j2a1nYljAGsw9nk0uatfG\nB2pO+phUmr4HbjYK/FT9+5EGLfMzDBIksRyveUCqnRIjaZMsBQlYO4edMyVB\ndLMxzTGGr369tEhS9pjLRvSLc50WS6wD28M9EXUMqzPwj5l41w9ctlkrud51\nEq3FVYRPvMsYsdOnR3NOdUDCyuSbrNBrQPp5q0k0j0DAk5l5iF1oWYkX5wxF\neGBdL7QaNduzxXHxABMhe5QZ7CZe0lqXFDZik60nL2brzos20MYxGawrIio/\nc2MaWM9vsuvvdSeQLxP4upsa5FMWizxc3H5qt68ss8yCIj8nigZOhHqwR9R7\nVf5fO+jN8hbCpHdah3KhL0PyGXW24hDJy2Lj82iOrvhjCJzWVEh7Bazi06+1\nbc00SKpSNW5koLyd/MJ44F/x8vwZHf9aJWOCpfMkR48KIdqMEbIek21+/a5y\ng/uV\r\n=H15t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBkXwIHR0w0m0lDm53dPqn3KQQqKI53BZP16CBLdT1OiAiBdbjQyyuj/E3v830bCa8Dx6LhxIZ1/2DJNNCXpvt2V4w=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.6.0_1620658519678_0.01770719229266926"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.1-rc.1":{"name":"ipfs-core","version":"0.6.1-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.4.1-rc.1+7f6faa76","ipfs-core-utils":"^0.8.1-rc.1+7f6faa76","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.145.1-rc.1+7f6faa76","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"7f6faa76a8b1903242f941837e2c717cd8095d10","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.6.1-rc.1","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-r5aze8EqPyhiNQ2gJCLXZUE8IYeY3x5NwntVapHkzK13EM13BNEeVtuJZdCjx4nOA1EVNpj2HSInCAZ5o4XGDg==","shasum":"5effa350d88f97ec13d3d4209f3c32021ca7a304","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.6.1-rc.1.tgz","fileCount":470,"unpackedSize":2415284,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmh+sCRA9TVsSAnZWagAAI1AP/0btI8m97lLUVsKxDfg1\nOXsuQ2LEbK9WVWQnXg7SSTxHryIFe0uJAuEnmq2ROfLwrXh3Fv+cDLXWwsrf\nORuNBdj1F7JPOx4C49zFsiWjFu69qEihc+6SxzKLylcGoAGmwEker909N7Xv\nrVyMEmBRfsRWgIPTlvWq1kwb9n8/epa7AVSaKK24faTPP+mhxSY9hH7O5Dbb\nEJe+dFXj3I4J0qx/9u6a1NthPh58t/fXiZ2afu8sp7UqOxuZFLmdxvPb9qNK\nIToOZ1Wl55vvNp1Ci9XmUDyyquuPuxwEPuIxLP9EDncqBViyZMA0m9Fr4JS/\nclaEjGq7/OZplnDWg3q6pA5itNJv2KPjGLczevLR74eJVc2gSvDRvGBbgY2O\nnbEp/mZT4AcOMEuadsoWZ4fnuBvp0dbP7Mvlq2H0rPqLTZ261CnjAMiUNxCy\n5aExGCAInQVbIaiBB9mpcPSlKpkC4yFB5CEIzR5NP5C4Eokg1K3e3kYqM0++\nxf8cmmr8asiohfG6plsmXjGAWT2w0Sp7BniQbPWamV1PzMejMaTOL69u44p0\nb8Yqm2Q0NZUTCkRbrjeTlJV6LUjblSPJ7BOAcYcNlXWCpYRQZ8Zm4y9wH1ZH\nBzL0qC5CYfRwfhTvePzP2QLfYn7t23sqJ9q4PlfXxrqgoPU9kRtfxYAvkR/m\nwThK\r\n=QK6b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICUY3Wsvd69gsy1fJaj1QTCeRuGh8qOu39UCGYRhAPpsAiEA7Wt5BB6tC6GmN6ZtDrV1nYwVNOWQ8OfNBaAxrKRPaz4="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.6.1-rc.1_1620713387949_0.4998386485710684"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.1":{"name":"ipfs-core","version":"0.6.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.4.0","ipfs-core-utils":"^0.8.0","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.145.1","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"bdea5bc95073f568a3b0ff75ec5c26a64dd2bee0","_id":"ipfs-core@0.6.1","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-StsMUOm8ZKsTddKM2vGYReZVcgL0Nd8eR4MkNp+l+lpbv/O3/vtYRcJP3j1o4iq3wNTm1FLdWWAsZ/Au/qC6rA==","shasum":"8d5e0603b396ffff7b794f8f7659e65290913fc1","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.6.1.tgz","fileCount":470,"unpackedSize":2416091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmstpCRA9TVsSAnZWagAAxegP/jdkbMbb0V80B9ZZHanS\nKtQY59IQJHl5dAv26Phjpqk2krps74wle4vB+0YoYa702HXO/nEsemqTk/6h\n81HQxJZ/plRqWhaiP0FD4n9wpXKDVlGpcgCzptrck1t2UDmSl/CzW+TT0N2N\nm4r+WnSbeWdPNbnv+MbfvpfjjlUSkuiOP9RqvuOzeSpizERizM2f9O57IFSh\nY/exzjNQZ7yRDzzkTmN8w1sMYKkGJ2rmDTGbxCgTHcQg6O9SFCRj6LT9bgs0\nhZvDA220TsrWJ/5sKozj5/qQjR9+1swca4M1QjXxuqJ2R5xxrCy7Rlft6i0N\nDW20I82qPFPU4scHcTfDClyxwro0BJA2hCtF7RXRV+HVSYeGVomPYuSOqWZl\nWJrdUGPFeNYot+AoWnapSPVH56Nrb/qDdufsFoCdLjrLcjMHSwXKEVj+FaVD\nP/vaOmmehuUoQ1TwJuYhNu58W9KIc5MM90RdICUwCbETvMjSwJemlZ6H8nx4\n4DGLpvcTIL0AYoDqzNht/5UzP0kNBiR8u9YwTyIFeQNyLxfJPgwJJ02YefwN\nrJoxK7EhjL0TwhaIfrxM94IW37+p4Mjjcb2QSNLbo8CjUcydoH3HVu8udaEZ\ncLtlx3smW1AIFxL+/6mzZAF59bY93kc0opFhZfM3fKX7cYYf8M9DqmAtKJyX\nLing\r\n=TVSQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7eGfxQ4LVemhQLSqfZ3CjEnePXk+Yf8WGtCQksu7z5wIhAPyPfedJd0M4kAzxUaMYcCn5ZguDO2DEW4v3CQezw1BT"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.6.1_1620757352585_0.15623900686370273"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.2-rc.1":{"name":"ipfs-core","version":"0.6.2-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.4.1-rc.5+18faefe8","ipfs-core-utils":"^0.8.1-rc.5+18faefe8","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.2","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.145.2-rc.1+18faefe8","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"18faefe8bd4ee1f671919672917b848436247138","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.6.2-rc.1","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-1QipZwufUU1pQhVX+xvB4SWQyGYkw6j5L1EsLp7VoaELX8rwRRk4IX9tjWueHMSOJgH8MvSXJZSHupTRyd6Wcg==","shasum":"8b16732379a4cd4f6b419b27860500d701356355","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.6.2-rc.1.tgz","fileCount":470,"unpackedSize":2416105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmuirCRA9TVsSAnZWagAACYcP/i1zvOVVDecX9/69igVz\nd8xgKIZ7guSOUmoU3jECpJz+FtCp6L+GSKKFijcD3YM228f8xoS18TyJTx2/\n4b0Cq3uzluqqhssxs/bofWhMDfpG6X8CdZtohqPUNIjFeqBLzCGGiNg7MbKj\ndxmK2uTl441CxbGvrcWI36VLp0SmPoWcfJEPzL/h3MRHU+Sky8tcKtOlxz9r\ntQXB7H6bVAjju0e8Y8FKq173CdGCPj++9bmE/E59W16s4HsZ8j6RGiyLIjce\nG9y0fXIn1NbgRTZadcB93nptxU0FcGtjEqpg3/lKfwnPR80BK0ipgXd2P4xV\n4sT/E6SeoTGE3wKiiy2z8CPATM12DvbTMlPpoZI3XHG3HcQBXKI52EQh8IZ0\nQ7mlTY4eHVFyRuxoCtFZBAKKCcH/kZ+8AxTc72ZB0iwujBKX+XmUcoNPdmQD\noMeQMFUA7XlsjF9g0DSdTykTWtcLKYu2ae86L7eX6qF0mgPsOscLUk4Rrin7\nunPNhKB2TQfmEQ0Y6P75bj44GX1FK7CTH4RvW/HFaDaGcI48mB9uLV9TxMSa\n9n8PBhzKo1ubYEViukMQD4tQyK4M/XzN+6Nv6DyhrzaeQ53TlQsMHpIE5ATY\nmzR9jDorvSMp36w8SnySzoVfUYTD2l6Fgc1sOtAFENt13/3X8iJH+nZKt/lx\n0kHr\r\n=HLjq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBLivCmKgQmcs/pFPbNv6Zr5dmOqipaRCKkrSp/bc2AXAiEA69a+OdSRQf5W9lFnb5HUMKYkn8vWMDWgk7NgOIZG/3s="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.6.2-rc.1_1620764843493_0.14678618369829444"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.2-rc.2":{"name":"ipfs-core","version":"0.6.2-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.4.1-rc.6+311ff504","ipfs-core-utils":"^0.8.1-rc.6+311ff504","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.5","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.145.2-rc.2+311ff504","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"311ff504a98ca562e738eb3bb60fddbdcb5eebf2","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.6.2-rc.2","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-1p+4JQKrln1pzCoAu5LVww+omSt47osrJ/PFTrps73bkg+6i0X+zOT14pYXiKPreywz4eJIOiXUg2tI15KBYpw==","shasum":"769c717205ba76d3e5d17726eb6dfcf29caf39e9","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.6.2-rc.2.tgz","fileCount":470,"unpackedSize":2417020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnWq/CRA9TVsSAnZWagAAOzwP/0fKyrxedrc4un/OPbTK\n5xnJgvBlAlCJBhZsBANHqlGgdjWryfi5kjhkoGRpW2THt3XhXPIPzViCsWf/\ntwRvYmmquKcXkgCEn4htEVy8yGku1n2bdX4NeUUYZ6dVB+bry05u+8W7JTF3\nzG2bIJ3B53GYeGfZbFxKHJIOwgDzK2RR/cJ30qC9KA56H9JLMGQrq8eu2ybY\nwv17jNZB6aM9q6bnl7C2oyRHqfVK2iuygT/AtXegt7xx4GoW5I0BokfVE8U5\nPwpmoq2iigT5UVdHtYrSl1tYD9qqKkLWx58sGJDboMTRuG6kCeLj2NvwAaIj\nuoMNibKMG+dhOVxJq1h6stWmuIyEv+OStDlvMXco830dT9vhXg9VySQ6dhLE\nZNrgh8Y4+IRTYrfKFbJiZmZQkQ+LOp5GD1ENqaZ5zvV8EumR1FvI4YzTclGs\nUXijq5Kgt7oLGbCA6TtGKbGvWX6Bmhzkhz2d3xQYbIQHnfKcVBtmEkUtebw7\n75fNmPnx6/r9f8VYG6fZP/zdgOfHFa53KXUhXBdVIjQQ3Roi1HWpcWE7OCwQ\nV/QvH18FFtofwjNYKaIyH1q4QSJ/uAY3FaZlKZn3uuB3pGSPYJS5AGYTJLsa\nj7ekDZ0zmcXfygJHFan1TYD1pBJP0k+BDzow2/wAHStsmwcHbXiouN0ZLdI+\nd59A\r\n=myAv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDvngz+znWgJQcFIdvD3qajR0CbgBAgL5znH/jyAUCBIAiEAt+jKApm82nD2kOeeROnfmhqQkHLWzdv3tE0XPnFHxVE="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.6.2-rc.2_1620929215290_0.21301875933725523"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.2-rc.3":{"name":"ipfs-core","version":"0.6.2-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.4.1-rc.7+1926f990","ipfs-core-utils":"^0.8.1-rc.7+1926f990","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.5","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.145.2-rc.3+1926f990","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"1926f9906bcff5bdc8d417a7212a9db52ace7e3a","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.6.2-rc.3","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-WNoXWBip2PPcZYqJUL5Iswx280l9iVLPG2k4MJ2fThFQWOn1eeNfnfaBG4Y5zo4c4+kAKV/EHWePJcRk+8tsiw==","shasum":"5db7999b29000c4e679b10c168c926c203918ef9","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.6.2-rc.3.tgz","fileCount":470,"unpackedSize":2444394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrQxNCRA9TVsSAnZWagAA680P/1bmNNf/TQD5rMbGWMeI\nJJIkDKemtnTtmIo2gRBWJGPJyyklSwND6RFYC/NXOsl4rG7ccIqAy3zThz1i\nbKlqGJUbTk9/F/elfdDfv+139UgQxSNyLKXkgPll53fJuxBQbsQnODNRR92q\nkxua2iX8JPlDCBxmlrEVk0HecQBmBN/gwMGPeqQ1ucvlFwBo94ZsnLfEE7v0\nDaffsuLzd45cVlbcmQiIjPUOI102V1EL2qL5x3GyUt6BP6CS12Pcx1rv5mbQ\n2+OhTY/FD64Yn1cUL7lIa3r+Zpravp1ABINFZCvfKbCSfDKPA81KXDQS4hrT\nQW+NOuCyev4pRHMBxOEuHlt0IAvUrOxgnJSQnD0K5sTuSBtkGopoc1H7NJqA\nthtEyGDaJroH2KqGDv50D96linZoKXya2NfI+Htft8crSuad2vXK2u7xZUd/\nKLaoFoVw9paoZ1iGqBb4jntT5vsfCxWgZp858r/brHknle/VFrzVHc2oqME4\nq0ER4XbDACrhsw+uIUP3XgUJilBL/6BdfB47/Ly9uoVjaz+SAsr0g/N7Flw4\nl9shbFaWncxnA+JkXKGZYzM+hq/4ebMyqWpybWZxSRDAoiTTPO6/NXhdFAnu\nmon5OcYji58ILfMceDpuMD6GJBFKSAo3RTisJDWbAvPb7WWD8KsRc2QaUETN\nOlT5\r\n=ls6C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3wbU3Mv4eGWKzd7jsJjn7SaW0BMokI4q7LTs5gJCRpgIgBDIPK5vIpOljEVkHY9aBh2ya5wsTPARe1IvlbHU0l/w="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.6.2-rc.3_1621953613422_0.5802260895444231"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.2-rc.7":{"name":"ipfs-core","version":"0.6.2-rc.7","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.4.1-rc.11+e91a1e52","ipfs-core-utils":"^0.8.1-rc.11+e91a1e52","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.5","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.145.2-rc.7+e91a1e52","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"e91a1e52b86fcc9ce5ca5881e8721863b58d5d9b","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.6.2-rc.7","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-NQkqBKB9EWhQrGu6t94w9xZL8C0FZ/JDIrOSUtzf91GhR2u28/o55JCXXLvDcxGIFlHHfbSkHi5Za0Ikk6NqtQ==","shasum":"5c8e7cf700c3e56da0d88fc4f0ebc455269066e7","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.6.2-rc.7.tgz","fileCount":470,"unpackedSize":2444419,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrSCFCRA9TVsSAnZWagAAM/0P/1MAsQ+hm5RP3rQclJdC\nnkSdSjv1piemOznycmfdk2Xd9hgZ3WemNjIMUajLE01tzieonnu7UHGi4QGQ\nxixeuK0+rH6n2+29wV7GLAJBVhiCymLNyTidYJE3czOMPBdZtv0EVvyvra9q\nPFoQ/xuArFrZiQ1QnVhuUdmCLK+k4iwDWvi3dnDX12lHdT74HoNA8nZ7Rcrb\nVkj8KSjwY4qIX0qLWieJ0OsxVkg7t6DTdGahSGTdV65grFQOQq9djlQG2EUJ\njtRCiNlB48esNIEjgYziFxBOZBXi8FRkLiSaeg3g7baVM7B1nY/jC2KjlZ6P\njEFg3mvZTab08HFznsh8Xxp8OXZyYPsYcKIaYYGV2/uEBoKaN6HAzR4VQH1X\n6CyZYLAjEbJULWiceOYZwPbw+bPGXGEixuoPq1B6JIrlJuGdi68uRSrJNHUq\n5um85UnOrVqZHEkzRAvMls6bSibWpanELE4PPCgMLekM8yEQIb7WDa1vueT3\nMwt4KD6+mHZ58SzTH8PrOFsyEyFn3z/dm0wWAES/LFdNgntePpJCvEpP/mI5\nwWqXP2G1P7SV/9VVvsRhKRiWpg65aLVbrMErwdw5tDzEBlSx6IwQx3hkBzrC\nYC4E6EiTKhWPJeGFGP35dtMprJZmHZbTJXYVKpUIH7EiWObZZ8RZyXSchhWc\nLhQH\r\n=6sUT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBQhSYUvIn0ubA19/wENYi94HM4fSRD7dRJU8PefOgGWAiEAtJpDKXD8nfX2B58k+MCMvfzgmEdWJ5zZ75Zg8Ic2D90="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.6.2-rc.7_1621958788628_0.020835962915747075"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.0":{"name":"ipfs-core","version":"0.7.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.0","ipfs-core-utils":"^0.8.1","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.5","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.146.0","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"c40960358550b920d3291b8030715537a63c63e4","_id":"ipfs-core@0.7.0","_nodeVersion":"15.11.0","_npmVersion":"lerna/3.22.1/node@v15.11.0+x64 (darwin)","dist":{"integrity":"sha512-TyOv4+nXATv4dfKZxMQkP0D2NQkcvb5DYcznx6ffNiINvXfBiy0U9q3Df/V9VggbBUyg2Z5TP0vBNSOGSRdoMA==","shasum":"96582544884afd2271e80598a37d04a5e958f7d5","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.7.0.tgz","fileCount":470,"unpackedSize":2386890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrhX/CRA9TVsSAnZWagAAb9wP/3KOqDl1bjxa4aBKtrkF\nW00zpxJLmmLOu9yk80BvkN26bRowrU4+liB5kKsYo93994FbKi2VGtHsD8Kt\nYb3KAZpUxGjHvra44Qo3PM0SWDowqnHnniQcMR7GFDaV5TqDXP4OQ3aN1yoS\nq+0gkllqHP7Bm2uZAUUSazh74fPdZJS88O2Ras4FI8KwIlCMdPEd6SIh70rh\nbfMgGqqwSTm7Q/levM9ZNElCXYg8xy2T0Kze6ieOLQ3urRDruoBbg+QIL5th\nb8i5/ytLw32RkxVJZ6BB4PmCiVs7fCv26C58ZEDkUzbdzfZa2WJlGv9U414k\nedpPF+qCytGlmyAqFkc4izFsPdlGGAxeNBeVyCE/R7P80Ekn5ogpcsJ3x5qq\n6nqbwzg6BnfWK8lUOZEkZg6yY2sWqiGMItBOETz14UuhPGDERyNX0WgMtnff\nd0M/5kZnf0SR4kjd27zO5vv/3720XZfBmQJa5g5MCTQlfreD4UW+OdeBDmAX\n9tWNgMX2zxIOdp+vOPjGmH3RqxKZqD6qp3AUZq8PLc/Ypx7aSNDxSI4OeEaa\nLtQrTrGZ4dorPu+3gq2HJ4R/Cdn1RPr8X4Q5Ab62PpM86IYNjaeLhU6CK+PN\nEtQ02TTbkVblO7ocPl3FpJpnmrn6FMRXB0sSE1KqJ7urwZi6r780CMY5CNmB\nkHHL\r\n=a40W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKmu/TWz1qyPqt5KYRMzJ14rqhuQZySVRc5q8rMZuL5QIgXF1oPjbu0TngRxr5blAmsAlekA3cH5VII9NbkgAtsAE="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.7.0_1622021630705_0.33471020335088486"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.1-rc.1":{"name":"ipfs-core","version":"0.7.1-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.1-rc.1+48c4a952","ipfs-core-utils":"^0.8.2-rc.1+48c4a952","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^7.0.0","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.5","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.0","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.146.1-rc.1+48c4a952","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"48c4a9520e4ed668f4eca2fccd67f9849e967286","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.7.1-rc.1","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-2nDP6aI3XgsqY3SNusv4ZKMWOR3D0sLDDyPMhW85J7k2IOf3DHaS5TWxgMjBvaExg3HOQcCMYZ5uQXjv/KeEWA==","shasum":"4aceea757bf74d06af610ba647ede5d9ec3b0808","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.7.1-rc.1.tgz","fileCount":470,"unpackedSize":2417314,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrj4jCRA9TVsSAnZWagAA1NkP/jhVlPxKd8C8q8NHFdSA\nyPY1yzA0g2b4NLdXX6thjxp33Cwf4Sz7ArJwIOsd/t5B1voap/2l847hhA+2\ntB/yQ9IfAE49D0bxeVat+Cp17LzXwXrMMvVSab6f1OvYgmT96Rg/Ns2qVMEZ\naWrc/IygCsFfRGb9adaE4FfOgdQD1ZTIR8Eak1go3DxK6IT3Q8+NW3m0MwxB\npaXVwbjHMsEi1pabbf1zlFLzwLDZRqsZULzCoENqepzdb7VP6/po59mCgjte\n6u9ralwCp7opsl5+SFDqqrlINb2p3z/k0uifBTWdBiKq8APsYy9fX9cuvQR6\n/et2ecCT3M21WeLmVW4Zb/V2dqtkuqngGKJe8qWsmHhcHah2Pg6AkLBjiiUE\nPZZi9byTwqP2YAPEzM0VkdWN/qL0waVXeKWGBR12lpFhHKNdSu4nPW2jLSBb\nNd4O13InUBLEq86Zs8ItUlfFUMkgXJVOla/sDPDF97Y3t3tahQqL9Zpfdkdm\nnF3O2/oPhUvoyBNzcPlgATltHa7TdxlL2aI2ZNTyki9Alxh6KhndEABinbf5\n3FxMZqWKh6GXX2L34+KrjbqJkbJmc5WlclDr5BzTEeZvdcF1qWOmQ6FkVvXP\n4y8BTqXZuKtuLuiPIrjuQCzYXbqmIokUhxAdrbCLsHkqBjhKFBc2FlhwnACx\nvWkw\r\n=oGMZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRnKhu9M3JNja9xpm3HuWYlYVPPL6HAw0DsZ+9s8of+wIgZ+8xzKU79SJ8FoQ4e3lnfZfFi0jdsf1B0xionU3xDBA="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.7.1-rc.1_1622031907128_0.7589650875574392"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.1-rc.3":{"name":"ipfs-core","version":"0.7.1-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.1-rc.3+ff56373f","ipfs-core-utils":"^0.8.2-rc.3+ff56373f","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^8.1.2","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.2","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.146.1-rc.3+ff56373f","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"ff56373f0606ef2c59a61916f02e42ff524f16ac","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.7.1-rc.3","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-EHg4EBn9tuGyM8nwUp3t+EK+QjdZNUNwybg2I4QEyBpa6hRtLrerlOcre+soVAaOUuGPRlwT2xp4hcZJDb3ilQ==","shasum":"7d084b5df05c25e4552feee10fb37bc04cb00b33","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.7.1-rc.3.tgz","fileCount":470,"unpackedSize":2420869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtpr6CRA9TVsSAnZWagAA3+oP/jqqVH+ladZdP0waOXsE\n6EN0sWU8Gl8KIlViMNYHahvKCGMHOfVpd/16UW9ajiDo0meX8w91d3unsCgs\nSJaJYL33hEcoX254HtxnRw8C1ks+0jxPYxvZPTa5eTU+xBM7+uuk68sUwV3E\nFAv2VqAuNPHV+FK2Q7XitpPkUNG1pfK4XP2sjhYg2NVktp93dfMPYZvyXdR9\nk3jPleCNIYFTTd0LaBJwtyDRlFARNAcKhO4uQcI01JL4QRL+s9MFIEtFSpAR\nUXkoHcWuT4AtWeCAegZi74PIfS+4oHjZTJrll+EtszYBWllxiPY1HehXVdgB\nxDjfuRZyKHV6z7xB+1M7HAhsem+mC/509+hH3rEjCiaHDeramgprbNcuY2C1\n+V7aolKvzujvCzwjVOCpTckPqAwYbzsc+FpXRVreAGnFLJeEgUuzZ3fHtNxL\nJwzfYW8NZmW6ZZFzPtiVFKXWddq3wDIDCSwQkiMHXBnAJsRkBwVqK+TRfQHc\nxwo97ZGHOTk7Mi1QE+ABWvw1OyhTyxR0Xa7O8IBtOHJJX96psfPpOxrExT1H\nG8uzda7JP13KNUH+3rXKJGvcJk/fSPmD0T9dOAPMd8unTIMBOQsPRe6+m3Mz\n2hD9zt+qE2bwCzOQ5AOY3zP9hJ1JmKD+wt3x6LXrnEfwvdicn7ZcnUm44uvv\n6kNC\r\n=3u0n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqJREkVwFLBdLAF1U4xmdPAhjBrJY3ldyYdw1VaF/wfgIgedLNWUKoZmwlOYe35sEkf0MNCX32Fep8cLu9lP4lYvk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.7.1-rc.3_1622579961690_0.11718017956403082"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.1-rc.4":{"name":"ipfs-core","version":"0.7.1-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.1-rc.4+c4a1aea5","ipfs-core-utils":"^0.8.2-rc.4+c4a1aea5","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^8.1.2","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.2","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.146.1-rc.4+c4a1aea5","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"c4a1aea5addf902506e34d3d9821285ff0423710","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.7.1-rc.4","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-t04Cw+3gBwRGZgAoU5Z9B+UQpSFk0q5rI14CL39lTpmitciUCpEcVPkXJk+8Cf37OqRkFNdgm3VS8LJNbq5OJw==","shasum":"32ecf92067e6e101225168bb8538284f7bba01e1","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.7.1-rc.4.tgz","fileCount":470,"unpackedSize":2420869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguxb1CRA9TVsSAnZWagAA7TEQAJuJOPzf5g4NXSn0YFdm\nm4QLYkyNW0rFS7DRteIRUdREq1Gvi41PVvIESacKrLmx8os/QjEvzuEiQDnV\nFUil2Ac+ikMYtmH79s5FweFH1fDr/jBWy+HRG7kD6RBbPPf8NCc6JcmGeBch\n1C7LfqWgQr2j57Ul65ocHAx2SPjQ7BW39r3/CuEacOQ5Tp/a5YPuDpKDmH5M\nV5WJ78ugsI7+VYZ+80Z5C52XJifsIW4T3JjR2ZW732/DyhqaRhXBKvTtuEBB\nICYZLYLuNAZZSlA7fvh7vhCsA8asfthPUGIfMJrnQJc7TR1MqNe2TSsCURaQ\nKUpFu1ADs9gCFath0praSnL2WZ9EUOW/BdFeBl9SD7i2n0u+TlhGev8Ob9nZ\nZwlartoxwDth2CdS4N0/4ORr9EeL2bwhH/34Nm7cWT0fIFwtGzu21oFGtU0O\nwrjHLfA7sU6nd5bw6WVvmPc3jjDfHc2NGh6JqxaUgYn5M95+QMkBa3zcUipd\nmX7zfoSdlVlh/s/q5tYSolRGvtCwvNU6HLkl9DY+nsn+xikFMdu141568syN\nkbQsAbfXkpc5uhKXfI01IYknusxKflxbpVCjc+o/3+0SImJDWOENlwRfttNw\nWvj9gNGYB3aB0Ek4OlWMS8+G3nct8xhL0aU11xwZK6L8UwKkqdkeTW+AU4m/\nYBgp\r\n=ixbz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIErH/6KMe2XahqQFPlbtRB3HFWnpX3vP2Pw3t5LxiA3SAiEAjrIVdLOPI7WZuo2XO/gNuCmbmOFV+wB4NrrRu9GAmnw="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.7.1-rc.4_1622873845514_0.6673137029877985"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.1":{"name":"ipfs-core","version":"0.7.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.1","ipfs-core-utils":"^0.8.2","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^8.1.2","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.2","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.146.1","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"08be8beb2168f39252affc8e840ff3e185c69a44","_id":"ipfs-core@0.7.1","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-1ZSZ+xcRiE4i8wy5Fu5E1i9Rp/sylwO1IvnxUkcJWJftJj8pHg99wS14PJaHWDk1E9JBFUlgOPUAwyDhCMkxBQ==","shasum":"5a486fc77ee2532575b4fb90871224b7d39e26d7","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.7.1.tgz","fileCount":470,"unpackedSize":2394398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguxqxCRA9TVsSAnZWagAAyJcP/A6l33hs1SNfKP4Pqb5V\nle7bYMbCse0wcqJ5gALnTM1MkRqgyWSZAvDxG2RAedekgFb0SJ/Yr2gQ5MZJ\nSyg/QQIC76YBgaeTSte+JeWg+IMCvVxwIH60yz5VSBQHz0h7nAU+Yrx+Xeyj\nt0xwpST9bKr7ENh7f5C17BkQyTfqodEOcmdfeMQgVA8P42lozQV00jTbq7GO\n2asiMnEnMKwaJWs9PDkgQJMAnyDscdkerFDqhIH384uqxNR40hH/yh/IrhV3\nYEODBHCVgy6XAj9dZaylFf5VMl1iySjtTZ+d+vQPHTlbK59SKeoiTY5ZhXq3\nqecKEdZiMcOO+bN1Q808jAJfvDI2BK5JRlLnlky1nECwS+2qsKFvCuQGr0IT\n6bo3a3ltus9hJ6492Px4dUIZVTbxYELKiipdHjuYK1O/Dlg5/QjcrNJAcG8A\nxDInN357+dXnrmKUvaWej74n5XTXYa4rVLLBk/l7bADQojCKjA5z0j6Du3/6\nMnsl3RuAFDm0ZLwG27Hki8CZL5Xh+gUJkrQ4Ie5Uohi37lPq8i9fXezeDmXb\nWcz4eWF6e+btzW79YlpHlZYJaMc68AZTj+X/t7rcVyWcWoWcJPnqzL90ya/M\nfGradPe3h2w8z9lmp4lJwzeEJK6YnwxYfmeoyBLeYAh23XUMPFwrNSnNcyhf\nQ7Ge\r\n=PXlr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAN2ieWpvtSGp0m5btd2unbLrII84WJ9Y1Mxr4MrcNIBAiB8yQSlVXzZqkd2h3Gz07WCU11RWe3Gfo7CfSyVkZE1Jw=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.7.1_1622874801150_0.6819259464272887"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.2-rc.1":{"name":"ipfs-core","version":"0.7.2-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.2-rc.1+714c3de1","ipfs-core-utils":"^0.8.3-rc.1+714c3de1","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^8.1.2","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.2","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.146.2-rc.1+714c3de1","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"714c3de17f4833b8dcb7c0ff51536661a22cd6e9","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.7.2-rc.1","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-MmLhnqCORF2qzl520/eTTtAmMMWjanY14Xd892rl9cm0h/+S8eCILAURiG/3dnCPvFibglh7TtBLEHDCDwIDXg==","shasum":"9303d2c5e6004443bba5eda287542f6123b73ac3","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.7.2-rc.1.tgz","fileCount":470,"unpackedSize":2389348,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwdrXCRA9TVsSAnZWagAAOLIQAKDAthq1YipZ7/PKi8YK\nJpyMvKXiSvefdbUZiy7mLN0YkHYJd7A3NJN4+tKYauTgjwbClWXp1jLVrykx\npyBeIsDH63M6ez3kMRW30g0d55bDuD0bqcaPfsHuJSEtvXjlHKagpsm3Wj0S\nn2imUwh31P3xIem3c4IvreQb098tStsAhwisBU6GuO5BqJg9bJe5hnJDZkSH\nkQ/TrXmussBYDSGuyx6QXk2LWOCy1iWP6iB5bWe/p2GczPY1Nm9wZvVwNfnG\n6Ww+JFQzqYuvMD3M0f93y9EDuuDcHPniTe/Za7lbPVcBe6KnHXeMCZrnGIDv\nuuPuhIkIm0Ly5LdYyEyBeBmSJdCDzDK6lKphmumBMg54Atf7avmPV/k7D+P8\n0SH60Km0dZ2vVzBdZAs0H1wJ4iIf46/+aPhTkBRlXHcZ9DHp97SPZ1DvBirn\n0ozCKDqves0CxoniKdXpHyzlzj1NsS0CF+oXuYFuPu9hdgQQYCKOhDIsX2Ff\ntCd0pFMlO7Rs8wqwRMsXO80v9kwvUZ7fTdz6ehfwcoHz9+qWS/HSJF+wGaAN\ny+ZkSoJZrOuECPAYbORw7NGt93omAHcg/VR52rmGz3SvZg2Uy1RN2tJuaU2i\niY0F3mBiOHWksvUA8cZXG1qflrA6uQo6prcAmFSzvkSsrUlNKSsG3q/sMGjN\njPVF\r\n=z6Pp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvRRF5uk4R6hCtTBwNtTWhGIuG0QNXz7g1j2O8/nOzoQIhANMaNSrr4X3RSYNVX85IFUAxCw1ciZA+R2/k7x7NSsHS"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.7.2-rc.1_1623317206955_0.5021509746844941"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.2-rc.2":{"name":"ipfs-core","version":"0.7.2-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.2-rc.2+bf44a037","ipfs-core-utils":"^0.8.3-rc.2+bf44a037","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^8.1.2","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.2","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.1.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.146.2-rc.2+bf44a037","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"bf44a0371a53325a8ed10c93ffd3514b995185d4","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.7.2-rc.2","_nodeVersion":"14.17.1","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (linux)","dist":{"integrity":"sha512-TL+XEzQlu0+MriqSgljnZ7sIQyg2Z/+3wiVlUcSp3bLKLoxGIC2v+9Xg8rJsF+iejH1vAvCVPHOCTqagR3XmHg==","shasum":"9c054040597b97aa1a90bc4237a8dff322873a4a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.7.2-rc.2.tgz","fileCount":470,"unpackedSize":2202811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyNoHCRA9TVsSAnZWagAA2lIQAISlp5ndJiL7Ck6ysr0S\ngJJMMcH0nPpnICmFtYYkU3jZDsODoFGNB+MqX2sSupY+Pqg/+ee3eENSX9p3\nxEByJYODGzIqpWDUnmk5xJlIzm0otptobx45o/VcF6OOh4yfPvaAR9KW8DIr\n8WBnbq2wDwOxbOIuyE+cPbtEVPj34GXmFHJ8RJzK82egZbmpjboOg3V7eEY3\nQ5J7mOLMyYUficbaekpCAvuyrKmwbPQcRHtIcjglEYbeyDcOGK4xHgIRkBRJ\neFgCeSP+5fjaVB0TGLctWbGeVQ+zXb5l8ENSdUu65DcBEk137FP8xtF1IJ4n\n5AOjOXISD9N4B8UORtvqenn0CvQmZ09xIhv/W8a4dlvlKjdei2IpT5OsWlhE\nytppTd7MKu/ujtiXnEHJOSu6wB5GRc2+GRyxdrVkSOHQSIgzrjwWrKRo36pk\nr/dHXTiH6TOPANoY7G+AkaVa8PuPC71DoIwJTI3h8OjNZ1DQFqHdHOICobTq\n86CESIeWcBLG3xI/yKEWIWnhz3pHOXTf+uHt/P7XvqoZSU1s1uYw08KIOHT8\n5FVWQM+LC5jkD7+FAgznobIPSISM9eChXG52cvcmmEVmRqMVineaoI6k6/zE\n8E7ShSuua3NEWFhYFk3ajoSNoYVzjS20ntILIot7OMs+GBzILsf4rm3E8FZG\nXtrQ\r\n=7OcX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCN5F/B2df4PyUXdbEzX/qy3fg8lUvLWshcWQw4PsUNgIgYwOWdEe/WJY/gPFr/Gk/e3UC2zcwTGKsgS6ayXqJIK0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.7.2-rc.2_1623775751772_0.62386799834608"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.2-rc.3":{"name":"ipfs-core","version":"0.7.2-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.2-rc.3+b1bbf5f0","ipfs-core-utils":"^0.8.3-rc.3+b1bbf5f0","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^8.1.2","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.2","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.1.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.146.2-rc.3+b1bbf5f0","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"b1bbf5f004fde7a26f8cbf6e0bd7356f07dddc94","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.7.2-rc.3","_nodeVersion":"14.17.1","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (linux)","dist":{"integrity":"sha512-VPVA5b4vXkacxsAA9Rtqdn92Q/RWjGGe0/1YPHWAqZm1rdZFWU+zKhayNsV/QqJu0wQezWUthX6kEN1T9b5RuQ==","shasum":"4efaca4da263be6b029921d47e77d553ee318c43","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.7.2-rc.3.tgz","fileCount":470,"unpackedSize":2204903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzFUyCRA9TVsSAnZWagAAmh8P/24MKJjjabyDLrUATiij\nyV+Wo0ym29SUvvkK+oEHje+ABQ03G/mShlVgyi7ddFcTuzKvZlVtuvAk9YR2\natwwbLEP+MpHJckX4IGkd7sWLhwI+sEUBTLDaPTHh3MNLkBGAYsfGk/7Ti/n\nJFZrUe299Oo1yqenM+8DDOtRnEnx3H/wilo9IJ8klFuib0TfYlEOay8lzOBC\nXNFDhnng0ABZBwLFc3Azfia+fvM9sKmL2XxB2T/gIlOlkqX608I1TLLjOmly\nXvtv/DLF/5gCFy8oiSAUXvS6cvzvi2WaiHXRKDpBudI3KFZgVp/mQbRr/hJu\nUqLbONZHg/rBLPPtosCHJ+gLUTQv/lTKMQBbMAS6zn9TNTSg5TVf7eWVvaEo\nfPU2sgsmgOuGd2sugjsAT66+9Y+yhCdvXWRkZI3yI9szkJpHfFtUHNTWNQzl\nkWknT9MTO5PMA79BLwYRc55YaxFcifkDx6s0Hu3NI/f6OJM5mOZrTTpf8oUF\nUn5OxLGpjmDUjGU88WR/0AC4cZHfLN3G1xtoqe12hHpTtyvmfqVXNOW+fzEM\nNFpb0/yygQ6W8A4cRFFCwXx+cZaVAbqM2ruwzSHGY/6DSnUjSXkEOuKw/kyQ\nWmlH623nmgS7yVFJQFgBVaVKRAq4eg+/YNr0JU6cZDocMA4DeJvHfYYrBDMh\nDCDD\r\n=E3Y0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCH5EVJQ4C3mxRKn2o7ueAU478sfho9+ZtgPixhGC4InQIhAJn7LamH1Fp9wWbJJLDX4pnYu5FDXFbeiFjSxstnL1VA"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.7.2-rc.3_1624003890475_0.3106137515653691"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.2-rc.4":{"name":"ipfs-core","version":"0.7.2-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.2-rc.4+7c1afbdf","ipfs-core-utils":"^0.8.3-rc.4+7c1afbdf","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^8.1.2","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.11.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.2","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.1.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.146.2-rc.4+7c1afbdf","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"7c1afbdfafcfb81f698cea35cfa0e392711d40a8","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.7.2-rc.4","_nodeVersion":"14.17.1","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (linux)","dist":{"integrity":"sha512-4DmKvVZ5ucw/5Cd1q5YK6zOdKH6wwxYUs/v3HOKcqqz2/JE8IcAzsoB7whLcdkBMkDHarUoK/5+NJb36kM2N2g==","shasum":"23b751db69b1f7d72106a8754574f1763c84ccbe","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.7.2-rc.4.tgz","fileCount":470,"unpackedSize":2204903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzGWECRA9TVsSAnZWagAAMXsQAJWep5gC8j99kNFND3ww\n/vF/AzlzVIs61t2wYpVdaFBmu4GSIXtVK9QiyIisssrVuxvNJ1zMjVkUOYFV\nK6dnKCcEFp3lwV3QCPxc5/ImrF5yCTVEIZGL26y1UV32/Q7O42Fque6tWyGK\nYaOpBtT1blkTkqcR5VkuwRZZvxIqiQ6w8A87qTVoMSlMo0O2uFbGfwt1xd3n\no1U53mXb4xufSzltQ3STxqqm20fSuct297Gne8qLDaFmYuoJ9IburLnAyG8M\niDcYM6q3YVcJdia/5cH5qJAtRDthrwlDECpOWB4SUStCWfiLE3X16iFVNyhB\n+X7DYL1L2HmBr/6ijSw9TiXXrMnCaSzB2rTPYTIKNs8Yut2CeOzT5VzE6FWp\nUZRC+jRxwaUbx8vN6+oOEWdbP40ILhYvPgKZbnWUlMGkoaGXTaq57gTecv2g\nD3g7LByBOQLftLsVouRPw1212YUhihTpmn8dbExAZNy2lUe2hG3STU777sgK\ndk6yOoFKOq4YPikeFvco9NiQ7nvffXRgSSouHry0FRrmi5pFTewjHW6xJS+5\nKH9/LgxzmCcMABj5hUsopvOyam3pBgq9vzFJIluQ4T4WsxPkT2xf3NmAOKk6\n+y4t19SWoPyMw8qJMXg6L1/dCxJmQJumaYNULCEPzwRyMYTZikRFhbJ12Lbs\nWfxe\r\n=BV0A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCylOlt/StanSbM9qgXdbLOyvAOyk4TDfLT45ORATyx/QIgVTNU3QrFbHoKyIR9yF91vRtAAN7TvSZ6pv6dKjvjpg0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.7.2-rc.4_1624008068253_0.9996771776377444"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.0":{"name":"ipfs-core","version":"0.8.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.2","ipfs-core-utils":"^0.8.3","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^8.1.2","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.12.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.2","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.1.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.147.0","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"81f944163f5a78ef15fdc23b2c488ba7f44af0be","_id":"ipfs-core@0.8.0","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-FQIl5TYmgvtMMKiKjtZkV7+WzeFI+qd4CuQ1LHjD6q6OSHHwXAiE0UrXc576Wc/liOUaH2fYCRCIh6aVZ4qMJA==","shasum":"5e189b2ce663711546bbe4f203ffbbe73776c31f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.8.0.tgz","fileCount":470,"unpackedSize":2217159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzICACRA9TVsSAnZWagAAQjsP/2xsHvgAHaAU1xD7c1ko\nQn7gps0QhpgjVfAFnNfYNKcRThUM0RJx1rphTUTilp1Xwirg9Yixr4KjMTsb\n0MkLk0yFp27QHZF22KvZmJQxA912PDkiE0JMSOSxLNx4+FOMeRTV7s4PLUII\nN73rgzn0oMuo63fpeSTWJj5lxeLUFgCSXjNBicZx/GlDu3M1lpLNia75zq9P\n6Q54OHeXeNatSNb7iDzZCrUxgDEMWEmaV+4BykWYknQg+SP1dZuOqfzWHyGd\nuxUBZwiNT0IFLYzdP5tU+dSRn1KJjYdmny68C6wm8p2/ddXdYee1HfxlI/E6\nVMqlkvPS+wMxrSUFduUWMgtzLH0GXR1Be8NyOBqDBDRUUYa8SvnUxEWtM4CV\n52U7/Acoha8GAo3nBpDBeZP9uurdf3klhTgG9yVls5g6+Ja33CkUImgB2aE0\ngFDp+sfm2PA7mD9Kz4oe4dRHEO+cvTALCwkdgRN5MFibtRLlJEhpkWBDj3/5\nwCCqfmDwVsHLJykN82ZtAuRHOPxQsR3UQcMLRymzRItuBJ1m3JWj7MUawgEj\nP+VV/VA5HQoWmOCtV90wMESDYRqTsmccDJu40qHAT3gJN7/Ze5yno2SjVpnL\nOwbAofbuxxNiE4YGpri45/2xbOa7G3nwOCDFhF8GTwGrss519PtBAbnFOCGH\n3mbo\r\n=lwGh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHnOw1k7eehOZqU/ZV5LSc2nub/KI/Br67Vfi9Xl9e3QIgJ0zB++4aMTD70T/AWNzj/Bv8qpJUXB9DvkUp7r5DE/I="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.8.0_1624014976357_0.1208686734388349"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1-rc.1":{"name":"ipfs-core","version":"0.8.1-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.3-rc.1+f4b2a8c2","ipfs-core-utils":"^0.8.4-rc.1+f4b2a8c2","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^8.1.2","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.12.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.2","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.1.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.147.1-rc.1+f4b2a8c2","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"f4b2a8c204271922ea34ef8c060592eb56a2a1bd","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.8.1-rc.1","_nodeVersion":"14.17.1","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (linux)","dist":{"integrity":"sha512-p+f18C9T0yebuaYWi27Pg5ByGJJ30ERVbMM24th0W0nkXvqc0wcFiPTu+81Z4WrR+mzxDj2BYvTAkzcGWda6WQ==","shasum":"656356d56a265f589c0afef63d58321da9358422","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.8.1-rc.1.tgz","fileCount":470,"unpackedSize":2217955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzMKRCRA9TVsSAnZWagAALi0P/RmvIcGyAmWxw/8dvnT1\nu8PELCRiUwhJyCuQVeJjiRcFmaTdlJnAQX28NIEqK3phHUiGWbtQPKAlnbCN\nfl52SPdxXkPpoCL3zXA1wsPFWm2vkBJKXHT8oyV+4QFKQTGmNqJ0CgkU0v8p\nWfdl93/5+CJFIcAq1wCVOudlKPQ+3BS9NgcKRHPb9DwtH/ikY+AfZj/WcX34\na0h52DirMGzPIJK1++TkjH6XuGL+jHDA8Z2M1yDk9ou6FOUGzQ/zEzgY3bGy\nbcp+txhBZnYC0ESp26yrOZVEJEmG1j6PENN0tWolMajxehfpuI3aNfhMKmlX\nxCfSILlVNHkrSd8ORLDTr2I8zwTW/R8GqTzUbjSDQ6B48aO2Uyf036AHyKp0\nvvPKoRRfWoa0EEqQwGiD/4X4YLOP7chSWDCKCVLrgW0d+gGqz+g4+4pyDiYt\ncyHfSpbsNgo7krZReguZHQTAyGyZqHOYwfnQ4garjrzLYdv7TDAFvVMZxyiU\nZuMspJMBvykk41TDfrt6B/jewQwxFqk0Ro1eA6mIVCevSvAT2+X/eP1ZwsQX\nkQL6VELr4y2XcOGaf8ExTI7CVNeeqHHdpIUk4gixbuDpTkuL/D4zSh25LAFY\niJjLlfnzmQXkULa7G4w7DoazU+/ccMg3mMtG5/T2J7I360/7Y7cZ3LS10wbh\nWzUT\r\n=E0LV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+DbUytuifi2iiFntV73bdw24hutHtf8IIbRz/rSIcqAIhAIvpqDDIFmUG//jRhhd8qnBqEnBJlvQrdSmeXjFFuJCb"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.8.1-rc.1_1624031889288_0.3162116402343256"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1-rc.2":{"name":"ipfs-core","version":"0.8.1-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.3-rc.2+4a4a360f","ipfs-core-utils":"^0.8.4-rc.2+4a4a360f","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^8.1.2","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.12.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.2","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.1.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.147.1-rc.2+4a4a360f","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"4a4a360fbd368b8b27653a81c9301820c93d91bb","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.8.1-rc.2","_nodeVersion":"14.17.1","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (linux)","dist":{"integrity":"sha512-5pUDv92xcozHUCf2P7O8FzU2yZwh4nNqw2In2G1a7sCCSwPcsMLLs1yvnSv1fJLwj7kLVnkE1geLu8slu1qPHQ==","shasum":"a1617374c6c4742c6bf4680a14369c8aecac1ac9","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.8.1-rc.2.tgz","fileCount":470,"unpackedSize":2214104,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1fK2CRA9TVsSAnZWagAADowP/iivd+rBQlCI7+NQgZ/A\n8QaqYOk832Vp9LXePrW1POFAjJaqRVhAAaAQVK2OGL9ZSbmurx5Ze4SmoRRz\ny9sty6z6TBvpE/leXlz/c/wkzOioZHggcG/CvpLGNdZeWFtFXumx7yrQ+wWn\n6+rvGsKCJfma3Bh29QuliNj5PazEzk0HDPtOFIX3yOPkx2qS0RJepNZ7OEn/\nD7dIL5e4PrCNKlCaAGUOhHCp9XfTvYe55457xO6MiQdhj3yEh4ywdM9nUk4F\n2QiH38Juez9tdWesmGmM+gUYMIReIob6fXWMHH6wIuWUK+AsTVXsIqd0T8mV\nzhWLm7V7z8zcqDLTQxzDjEPL1hslCGy9Temm4UjgZQWFtPPKzGxeSqEHg/14\nzQDLvyh7hT209r8odDMB4ahCzEqRW4+YbSuyluSEjhm96FBCxumdUqkJkyX3\n+rDXxsgCrNaOfDwZTLKL8cG5evbYjGG+QgspY5N/xs3JOGxtOF8FnhOeVewG\nnu73RAbPneEEG8SD3cPpngcGK4P3N/whXY9+oc5rd5dHkcReqjwuh3vXqUqp\n7p5mCh1n8ki6YRWrKwCziTnKJh7eQB5RhSRWylFabhKvT5pPpod1wfW/PwIU\nqBxwprRCMGjuzR9lKqw4tWkkrKlFtQYBScwVtORMwl8yil3fdvOLoBWRYXNf\np9o2\r\n=UR2Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEUE6tjcn/L39bW5Y/xFRRm/e1wrPOKLU3WFCowj/8lnAiB0UX1DaS58mCznd141b7nzYYREl2NNSI4euQz//xEfEQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.8.1-rc.2_1624634037775_0.08167592938751955"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1-rc.3":{"name":"ipfs-core","version":"0.8.1-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","./test/utils/create-repo-nodejs.js":"./test/utils/create-repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"abort-controller":"^3.0.0","array-shuffle":"^2.0.0","cborg":"^1.2.1","cids":"^1.1.6","dag-cbor-links":"^2.0.0","datastore-core":"^4.0.0","datastore-pubsub":"^0.6.1","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-datastore":"^4.0.0","ipfs-bitswap":"^5.0.3","ipfs-block-service":"^0.19.0","ipfs-core-types":"^0.5.3-rc.3+88dee13a","ipfs-core-utils":"^0.8.4-rc.3+88dee13a","ipfs-repo":"^9.1.6","ipfs-unixfs":"^4.0.3","ipfs-unixfs-exporter":"^5.0.3","ipfs-unixfs-importer":"^7.0.3","ipfs-utils":"^8.1.2","ipld":"^0.30.0","ipld-block":"^0.11.0","ipld-dag-cbor":"^1.0.0","ipld-dag-pb":"^0.22.1","ipld-raw":"^7.0.0","ipns":"^0.12.0","is-domain-name":"^1.0.1","is-ipfs":"^5.0.0","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.31.6","libp2p-bootstrap":"^0.12.3","libp2p-crypto":"^0.19.3","libp2p-floodsub":"^0.25.1","libp2p-gossipsub":"^0.9.2","libp2p-kad-dht":"^0.22.0","libp2p-mdns":"^0.16.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^3.1.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.15.4","libp2p-webrtc-star":"^0.22.2","libp2p-websockets":"^0.15.6","mafmt":"^9.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^9.0.1","multiaddr-to-uri":"^7.0.0","multibase":"^4.0.2","multicodec":"^3.0.1","multihashing-async":"^2.1.2","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.14.1","streaming-iterables":"^5.0.2","uint8arrays":"^2.1.3"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^33.0.0","delay":"^5.0.0","go-ipfs":"0.8.0","interface-ipfs-core":"^0.147.1-rc.3+88dee13a","ipfsd-ctl":"^8.0.1","ipld-git":"^0.6.1","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^10.0.1"},"gitHead":"88dee13a9246d841648d31edf0db62e4a4f859fc","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.8.1-rc.3","_nodeVersion":"14.17.2","_npmVersion":"lerna/3.22.1/node@v14.17.2+x64 (linux)","dist":{"integrity":"sha512-Wv3mz3QtHZLOQtkDxU+ypOlrRC0Mw+FCMKF3qIig1Gv74gM3Gc7+q3T3XPGorcGgY9WnXz3knEGzzsFlf1FYLw==","shasum":"81283554939d7da4952bfd8828a0764e22d56d58","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.8.1-rc.3.tgz","fileCount":470,"unpackedSize":2214104,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3efgCRA9TVsSAnZWagAAbOMP/iWrH+/V7Qte5VFbtZVO\nIYrb8VygYO8UIHlE5Ha33mXJW+tO+yZukKW3EH2YFsHTUG85GLOhNmmoqW+j\nZNH7CBcN5tlkfm4s6dvx58pJHuouHMDU5OXNy/DZJxdbPIz9Lio7QhEUgYQJ\nugJ5e0PHZFloIo9RkNF9p8pMYViUqHqLsRBqW+X3TlrBiqv/IHUxSgzKeFMf\nOc4kBKQDdJfskDaMJR1dGcDeM+LsRHbBsNsA/cCPXBrvDXss07le9vSrVLOW\nsDrvNvA5FLRd9pEFipvuFZBJSbiu11Jx019JrD+e3jGCc0p/HVD+o5FvRYmw\n5+Tok6rma+MkarxkcO5jSx9qvT+bVndrrt7ASUUr9eG01QK6JiBvWm5F2TPD\nypSERwhlJcVMLMyWAGdhu9/VyppGlQDAsf9b1QpbzAQ5PTKeW9O+XyKydWzI\nnX+kfU0TRWk0QgEZNnT9gPP5wufb7u2CQkJa6oVP8Y0D22u0ZcPqGYT1fIRn\nGfg8N73tFx3pm/k64whw8Iwhvnlg09/hP36d0voBb2jGiWet6jX2dBmN1HiM\nXGk4laOf1gf+VWtcwSSiXCUvH3c9hji3K4wRnIlHOfUhhb8YzwOMIxhOAYbx\n0vwjSmv+HXX+bUwvt5ub4znf0uY7gHfqzHCbwfZDbgkSAQ5tty95Y+xJErTI\n/UTY\r\n=ahlF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCovHi3rMe9Xt85oP5AQxYgmEp0apTS8H8DvW+Mp7VoqAIgN7cSIYjU3deAA2jK3nVEpuOqSlWKwuJZj7Tgojaz8Yk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.8.1-rc.3_1625155552421_0.6422371529285511"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1-rc.6":{"name":"ipfs-core","version":"0.8.1-rc.6","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.0","datastore-fs":"^5.0.1","datastore-level":"^6.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.5.3-rc.6+4155de5f","ipfs-core-utils":"^0.8.4-rc.6+4155de5f","ipfs-http-client":"^50.1.3-rc.6+4155de5f","ipfs-repo":"^11.0.0","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-pipe":"^1.1.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.147.1-rc.6+4155de5f","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"4155de5f78134a6cbbaa4551d1b35e8e44b580e8","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.8.1-rc.6","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-PhtV9wb5VwDuNQLWBT5XOtLhveHQpx1BTXjjDQHGsLjy9bJGa10Ujtg1SIN+t+ZLHGZckaAxDUkoYqOhkPZOQA==","shasum":"a68c9a07ad49d0ddc1f68f915ba2a2e81e5a1ab7","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.8.1-rc.6.tgz","fileCount":458,"unpackedSize":2163996,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9ZroCRA9TVsSAnZWagAAu+4QAJ3SPEGPecG64Hu8Irt2\njKlojRMuFDG8T20GxNG/CPmyy+nMDqC6bdEO1yxHK85DKskSiDAxEia2oPIA\nqqS8rgl5cw9RszzFt//71mhYQ5gm1EEWNep6U5CAb8+hIiYOu3TpOUqDGjy/\nlB9O4VI6se1u4LdCrxR+pC5tOPqY8DM4ibdeSM4v4/WwdFTClZGKcO3wYX1z\nR6Y5owPbq4S2weQWPLW8BpkADXYBtcwRKsYLiCiv3j9ydxIsS4CMzIo28xQu\nxKJMb5wkpbfAOzOkIdSnuQ2w/hdGyPFAP9eTvWEnJn8/1YgcKIN5zg3v/n2B\n0mzS8SoWYwcHqwmLg67QTcVGXqGQ6noUZneegUzH/yMbaxaRUNGcRlYcA/Q7\nOSJyg9IpI2RnlxhSWnrj+VVkErKjMxoZiFQ8k/X0gdFBgpFtE5CFvp8mnaMO\np70CR0kKPb5MzmzMXJ9TYwgrefSyPkVSRfvIyP+15WXBG0I5SZ2HI1TKeYBB\n05hvwMvz8emDr4lPKRT6Xg9jExUO9Zaroow3GnZ/u3DMfMzVdruStD+zexr8\nGFV3DHk6Yo+azYfDObwmQvVz0nb66pYgYTHyW7oEoxBaEpHAFqoLTAg6b58/\nc0jvImWNDj7IdqXTxt4Ca6ECmjxHGsC08sDIAkejOnVFrtFUWV8E3SPzkQ0+\n5+p7\r\n=OjPl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDM9m2kML7oFZ+N42KyoGq7B1dqh8OiKBiRHG+9LIjNZQIhAPikqB82J7j/DavUTXeCwGsVHSWBEJkgCfVJm0mukgnn"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.8.1-rc.6_1626708712631_0.31069616651845045"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1-rc.8":{"name":"ipfs-core","version":"0.8.1-rc.8","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.5.3-rc.8+50361a7c","ipfs-core-utils":"^0.8.4-rc.8+50361a7c","ipfs-http-client":"^50.1.3-rc.8+50361a7c","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.147.1-rc.8+50361a7c","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"50361a7c0ea69489bb24f6922319601e3fd919ff","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.8.1-rc.8","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-JD917R6JY9GKAs2u5VBFOdkNAkuPOuSBwFHtMJ5qFIPgujjFGoW80eeIkEtrzw5BYEK+pksQUcDC8AjzgqZegQ==","shasum":"466cffbb579f5207cfd1852d3479da533e2dd719","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.8.1-rc.8.tgz","fileCount":464,"unpackedSize":2187918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/9HyCRA9TVsSAnZWagAAxnoP/2SGMbS8WJuaZtWCZiOg\nHm/CPLyAxyzTuyIYbdkC3on0onJ6FTvSw5vge2GrXK/E/tl45qXGqV9ZFA8e\n9riHTcDZ6o7TjgJFnpC+Y9/cCsK+H5u2xgvqgF7vQxJBWoZHofQwNeIOXq8a\n+NfKN0PyCuq0VmJUH6F5SzPlLo7vQ0Dvy4fqHVNcp4NiVP1j17aTNtSn5qdV\n72lpspuxlV5LGDLbIAZdVlA1A2yIr9eN6cWtQTZARa7ogxdJSru2yXqmQKSh\ny2caD994yXQ9iP0zXIcELSZ+eRiU3Se5qQ+cuo+zfrzOrxj0q72RRswUO5CS\n0lHOGeMDqiBBIGk+3wrqx7EG0Ais5g7stmGdBW6M+8GFHq6sjTHs9za614Zc\n/LLchewZBDkPzuHg8oieTHrOZLcpra4rLX/UIWjXyRw1ejYSajcsnWLcW/TD\nd0ElPIP2oON3zVoW9jQGhqqoE4eiUPA73uPflJ7vvom/b36BDtWdeIwbZMgn\nvZqQN/VTqvcprxaayThmKmwf5yRZqfmJ6AyxbizIXlfMwvPbpbjfO9mlQYYG\n6qNpvnVawGdKiLaHHsJZcMLqh/ckk6ZCjha5pax7BJQ1BzbmRK2kc5KSFdqf\nkDA5Ilr7MGHWm7sKojXRR12VIINo0/0ft95Gx7JVXCRFxj2M2pIbfmEjbOTS\nXWv7\r\n=5BB/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC73Lnqyr/ZZPmvilNPXlHh5dnB5DARYx48G/uCbFFS0AiEA/wnUf3DqmJOkrP1PKSx45jcn8gLwFQa5dTHYOgliKKw="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.8.1-rc.8_1627378162708_0.23493378711073643"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1-rc.9":{"name":"ipfs-core","version":"0.8.1-rc.9","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.5.3-rc.9+09dd763d","ipfs-core-utils":"^0.8.4-rc.9+09dd763d","ipfs-http-client":"^50.1.3-rc.9+09dd763d","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.147.1-rc.9+09dd763d","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"09dd763dcedbdbc52c590150bf9788c3f17074e5","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.8.1-rc.9","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-Ns+HjftynIQINPUs7g+SJV2u6YpJSltaM6G6SjGYp5vJ2/1lgJE4aBzCiyMF5NHAuwMa315W+EG8RT0PqvEmlQ==","shasum":"d87d37a73f135c7b45b5480ce5b67ada4d1cc058","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.8.1-rc.9.tgz","fileCount":464,"unpackedSize":2187918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/9l9CRA9TVsSAnZWagAA4nQQAIEJo3xx6FksqZaiGfNx\ny0NWY6WzjieGE7bV5Bua8ahaw0XLbWYoU2ivvoexcbWSGQwDb79p1O9WKTFa\n/r/i3E4beKwypE0A6nIG2MoXRZRndyl9jxOMDK2XxrmC2OTRUxOyI5UPUle2\nwRfUESoVj9eG0d2dNE/6b7zHwOH3dhZpFn+pEMzQXN+F8uyJ2w93lrZ381WT\nn43qCpJMpCdC9cPXlIuzXDbdCm7srbgewVHLRwGR7O9/UxvIiAS5hRyUDz2W\nPPcyDjwmgX3DAE+nb5bi78ey4UWrel7GM9Uy9ddWJ+WrWAxQXTX3PGvUgizJ\nApeHLVOMbIEhcUHQrqzaY9c4x93HdfZ9aKYrVR/5TdziM4DuTPJEM9RNXirw\n3tO9uQqmA0iZ+B0y0pcsd3N8579QUym7gEetDJTsuAvOlWFlr33yWU2LDK6H\noR0+JgvFagDQadGgZjv0qchzIGyV+AP099XKiIr1Uh9ldyLV7dLPlh1MKOxK\nk0TP0jM8hjzqEXYdcs26dV2ozipoiD5tl66Dec1VvF9r1/UN+AZ3uvhwnppt\nL2Qz1Iqp1gGz4zeNDlBBvXIzuyrrOp7v6pU/gwqpFrniN1R20nM+ui64KXcJ\n4/Y7swcaUB0tLgx3P4AuFcJExmkYDxzvyHBoLYV6fBOen1IRP+pQbdc8ee7B\nYXlP\r\n=Wuch\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiBdAavdvI7h92IkwGmQLXTuub4dRDsL/CD71SadxWMQIhAPxgy8WaoOhdumF0w+3D4xPsNj4dzh4bxC86aQf7DtF/"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.8.1-rc.9_1627380093477_0.3393453869627736"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1-rc.11":{"name":"ipfs-core","version":"0.8.1-rc.11","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.5.3-rc.11+32f3424f","ipfs-core-utils":"^0.8.4-rc.11+32f3424f","ipfs-http-client":"^50.1.3-rc.11+32f3424f","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.147.1-rc.11+32f3424f","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"32f3424f86c9c7bc28155dbacb12edd97d9b84e5","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.8.1-rc.11","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-j5xUUf6ZrAe0ku6acBjsqhFPW9fHL9HEzSy9c044sfJ9nUNSOsmD/tG9xPsXcE4vsxPvFFGZjxNfXm/a9+e2lw==","shasum":"fb1dd2e91b6fe8d7bc01f76608f9565661910eaa","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.8.1-rc.11.tgz","fileCount":464,"unpackedSize":2188067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/+JVCRA9TVsSAnZWagAAZAsP/iysrVQ2hmvO3tp69nRe\nkfvEpH4kZWeYBpW4Oasn3BTJNxlbLBySIqkkwL4dixkA0bYqtP52k73vasY2\n3jK1hr3P/4K0ogVa1OR5o8UCBZVWKAl23ERuEfwcuokQ54oahIal1O3y3Pzu\nP+pbrCoDiz71uLz3qCSNW5TDxrWNOqleioiNf101DH8buiQHmt812MOXMqgb\n0Fm2Q+7Cm2BdLab/xDkzS7HRXLzk1aWi8ZhjFggtSkG07mW0h5cYt3cd1Bhc\npdKmq2+eea2E98Bx+aN4pPN5Ocnh8gH3/lOH8DVF+jZrOweHxmTympTa++hN\nIBmv+sJvVVRusl4JM7dPOSdV+tase5nnwmVgPGyk0ddXj9Pgt9UuGzkTEK03\ncjcoqngq7CEOE14Ikz+bHUQJLSE7AlvDcLXj33gnbTDKVazAQV99+ImG0Xxm\nOH2m87hYHSwKisfi0RU0YEmwD3eR856/u9dJa8tShAb/pDWc5OZDEwLprq/A\n7owvkFkiBp/904ncgu+9eK3AyDDuNzVMLT0xVrO+9M6OIfnt1GpmYAaYT3Hp\njc+QFNUi7oj1cHLwXJj1SDY7WP2PnS076Lp9iFMOml7B9JSI/RnfR0eON/KY\nKQvYuBSuiSrtxzKx8aKivMI5GExPvyelbVRnP5Gqaek9mHsDUWetRj3TLWQ9\n5Mxz\r\n=gdM6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHIFq1YLDXk//Em8wYFHHscqWAhSNzGIU4WX1SP0LiKiAiEA4g3V0VPuaK1ktY6QjRve+6w3fOhfk9QI7HCuyeT/ITU="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.8.1-rc.11_1627382357112_0.6986828746405711"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1-rc.14":{"name":"ipfs-core","version":"0.8.1-rc.14","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.5.3-rc.14+71bb03c0","ipfs-core-utils":"^0.8.4-rc.14+71bb03c0","ipfs-http-client":"^50.1.3-rc.14+71bb03c0","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.147.1-rc.14+71bb03c0","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"71bb03c0a3d5e64a1ba617341cd706c83a7346fd","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.8.1-rc.14","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-UhVm8vovaE1g6eTBaxFPexUryfBCVhaGBHi4aZIB5zKEmYeo7oC3XmUPn++AopSzdkXbNgmmNcd+JTIwckDb8A==","shasum":"90418e36afe89cd4f97a29f2d48bdecc0acd214c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.8.1-rc.14.tgz","fileCount":464,"unpackedSize":2188067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg//oLCRA9TVsSAnZWagAAe4MP/jBKPQgGkoaCMoQrftgr\nd8KRwJmXxn+MTCqoEuaz1EM1n4PSldhJqWVTrtrGbU2i+rZf+VQmCT2Uk7/a\nIIJ1kovNehZQ72fFaShPdkU2rLOhq9j2eUKGOFttzA1WvRZvQ7kIcgwBgTJj\nfj0dE0enZ9o7epOPrsFlU1bhTO9nJhSz6Ue0gmcj8HRkgIM5gzUMJ+3nKTYw\njdrKChOWMMqcTRwC435eNN6yLb+yBpELlcKaWcHDAeT32Q5nBY9JKB5m7JN5\noZaWZajiuwUpPFhJqqiAcniFOvAR7LwA31J3xp7/4BnPHokdJi8AM8EgI1gV\nwRmD0xdtLO9g0XMaKpP5oWuPI1Pi8ZdRs1Dvb8QcASuTH9AJc9G7sIKsFq1T\no5AansgGy1H15PwygMWloYIxw5wHpueeE1+fc24QV75Kqi4gdWKMmdY+9/R2\no/33k0FktHj1ehZEkq61DkPWJVuB25FxTe3zFQtHMD+QUR3MgSM39qwDJUdZ\n8Rq1cJD5IYNGWX/y11tfRtl3auQ1I+5Q0Rq1gJY5crXPe3pfd0LOVGAWUR3h\n59OW3Hu8chpXtGap4Erf8dMm7RDzgzf7hFM+r7FXx0Mth1UvaLqti+/VARW8\nxouapXUOrhSl5jfrEUHu4uO6zMHqAASvV5ZtO7hZIZ3bAQIYYPsgR8qXFgxx\nuv0y\r\n=/nHM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCg7ege6fNs6KQ2MpmwDFpUC4MSmGFmLK6eQC++aJ5fOQIhAJcxXSItkHwrwr0hbhsLUNKJS/ohEy7JOv2y7CF1dCQI"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.8.1-rc.14_1627388426949_0.02324550124089453"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1-rc.17":{"name":"ipfs-core","version":"0.8.1-rc.17","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.5.3-rc.17+3aa4afb3","ipfs-core-utils":"^0.8.4-rc.17+3aa4afb3","ipfs-http-client":"^50.1.3-rc.17+3aa4afb3","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.147.1-rc.17+3aa4afb3","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"3aa4afb30b2dc88a8b3cc2442336fd2583e2b867","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.8.1-rc.17","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-S3CEDvlaqou9TVeQFP+DPlmP27QWzfFTjTrpy5Roh932Z/bvzgCbvwDcaUNl22dFANFmV5vQs+XOFT25+76MWQ==","shasum":"fd255493cc6e295060ba91ea12b03d9efde9cb9f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.8.1-rc.17.tgz","fileCount":464,"unpackedSize":2188096,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhABcACRA9TVsSAnZWagAA8SYP+wUjxKawbcb3tMgh//0J\nr6kNGilaOBqOQQaR21NZgKdIwFUQf1a1aLIRL9Tj2F1hCL4lwc5OmkUQlCis\nIjgtiFlnDw5COK75ko0p7JxhaEOZ8m4PcQPvDTWapUpq0ClmZu1hMac/UomK\nGkxmaLvtKzG4tyo9vDHqSgwbnhe/HxQnFHjwjDJasjDCjrKO+IvTfsBXTcZv\nuWSQt5uB55OuwW5f2LBuyjuTXE/t1O310KKxrBRFHNPeAvry50jM1NFMTxKo\njTf2SmG36KFdZqWml61a7CGOeuQ1EkuoZpbtWRq0J7O/PYsb1ZddyKfjEvDN\nsbv1kBCYPhyprGZrcLwMvHdbwYtLi/u+498SUCtj0OxBi11WfYDNiClO3nEE\ninVpkl9ovGNUFPKb45W0Qxcxc5uqbhfIrNw9EJmZR8nRnEkkL00jGTnXd3uG\nhe5tLPZZk6EDto723vuE2HwlRVsQcDCvZQP3glpStjAfMhjnXgqdddTirYrk\n3mFq2yoOg/7lv0eJLxKIhPh7nNjT9BLyDspN5G/X09jiqOPRKLo5A77PYma7\nq7l8oonFEJh3NxM4+ooSkmnU0QMRzDSDzNELyrKjIy/oiFXFmxeeMuoVN8w5\n9ZSvZRlheW5QF7MVcNdP0lhkuiBzJrM9uBDQgsLAyKj04jNb9vOp5XW8JgP3\nFWoA\r\n=RKcs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG/Ri/RoN72wrzMsY6cCHrskxCfE8ZDOG/XxdftBDsT5AiA+Jaolelx40RLddApEtibSH10H543j4fcH9a8t7tIn9w=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.8.1-rc.17_1627395840731_0.630099973694549"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.0":{"name":"ipfs-core","version":"0.9.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.0","ipfs-core-utils":"^0.9.0","ipfs-http-client":"^51.0.0","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.0","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"ef41f924e415fc2acd30032e2b484bc32f042790","_id":"ipfs-core@0.9.0","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-iJNaCWWPcOVb7a7CQxS0Yo2WMF9/0ktz8ttul6risKP94v8vOhmSpMOf8Wtw7rWZ9zxqvSMmBGVO9gxBbp2CbQ==","shasum":"056176ba03fbba16000f09c488f1ce5980a989a6","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.0.tgz","fileCount":464,"unpackedSize":2188744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhACFuCRA9TVsSAnZWagAAz8EP+wQzutuGecX/rRrJagxk\nzrxPV4qS2tC1vpwQjZg5FPgQRKhIFbc5RwFYtULrLcqjh02Yai042SkcnSe9\nxW8ETtlkQ53pzx//AO8ikkeOZnhoRksC7dlUmpNe4bmJPvHAsq/S1UmJl0se\nAEB3y/V3FYW6vM4SvKdwNRbba3ZyV28h2i7qcBRwSx59rGkY/bV0M/hsLQ4f\nlcQagkRe829R/lZPLdQ169r/FqRy/fmnBPRW2siM2HBfLLaRSn7+iQCvp05z\nvHM2DoaMc3ihvbZpRA7f34KAZNmsh83QoLOcuGmOAGtKFyg4wg8wrMup+sm5\nVTZBxLxjI5PATO4sEwYPQTKfW7X3HRTDFOB9oxemP+QxXzYfRQ/DoTb7JGq4\n5v8VEWYfF5PrcWZTxgZ6MquqUNQpSrQhQWxboixs0IdaGju+DG82/D316XHZ\nCIs2Y5vdXgAWTNdhUdC1rjKm8joaQurYQnJt2BrvWHHxGRfjJqY8kkSwK55d\nVVkfMia5FSHg2QBA3GRMXaK57bAt0iYF1sps87IJsc2EDOwzS41VfORDpf9I\n3WfmsoqKrjbd1EWs+G25A5qWnSsYEIDYe0v+OHJXtC0e0XQ5iPM6sZFb+10G\nb+ty4vsfIko6nFpt4CnriX19Rjqqu4Dkmn54qYt3cVTlsfO86RUA0fLsuE2n\n3Z2v\r\n=OL4d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDHqxS/bLg1hnuGU57AROH9vlQexkcIOk3RYQi+TarSTAiEAu8gRw0ZnvpuaZq3hEB8EcVwzAziKlYq4QLImHxwokRM="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.0_1627398510020_0.7382667701707322"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-rc.1":{"name":"ipfs-core","version":"0.9.1-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.1-rc.1+5c43562d","ipfs-core-utils":"^0.9.1-rc.1+5c43562d","ipfs-http-client":"^51.0.1-rc.1+5c43562d","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.1-rc.1+5c43562d","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"5c43562dd3ba2d2325e297e0a42ef441f9fd2615","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.9.1-rc.1","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-W6YKHkIZ8q0yptxTL9HeOKF5YG6mRh+q261Umbb7Zf0R2XV2GzoeEPpBgloEowxPofgDUmD49me+dnJW7tEH7Q==","shasum":"e2d098a8cb2df40dfbd7e66c38433c448f4aeed6","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.1-rc.1.tgz","fileCount":464,"unpackedSize":2189653,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAT/VCRA9TVsSAnZWagAA2cwP/Awovppy5OVtdZyChxU7\nWnBQpjXdrmoktuV6NH1FR/ixo9FIxLt7I76dHxC5b7S4P/va66+780ZwQPMv\nERNTcyaj0gnAfM47gt0VnFrIAVHeGlnH0+PexDKmJw7LKA73Z6h6w591sYCD\ndIoNE8Is962KGX0Cdp7UISgXBjhz8wVod8prF1WUKM78gNn1C9twlTmWvw9o\nyhNlTpEqWOGJ3sT2jZNtGSFqNcneJBIbo+yRrByB5RlZ22tINHt0XdyeSX99\nrsTLR9Y5s2SfrP31LsgKoME/NURHB6U/SJVXTBU96gMUSWZPuAFpG/oXjT7T\n10SDX6OgyRKi/Gn9Q7cR3UxuNXWcP9rfvwK5MmLaStw202Q3JZu4OticMzNC\n1lcTCZunufISE4EcAwc6taxUR4tlMqtIR32BUb6oRF/xV2f0fowwxZJUQOt2\n8SLCal1nWpWXXbyrfgYP/NcWvgTLXEnEs7O0WQKrAcjOywTqIosQ+hBH5Nc9\n9xjDA+30ka1B0Tgc+NMU0yWhnJoNrkN+pH6sPdyDJZP02pfTSWSkFsDMa2WB\nwLoR1Z7ji0tq6pdey61HFQ+LCwFoW9fwIpbawhAHc05UIhfDkIVrM5y0boZ9\nF4KQlWQR+r5wN5r2ig/CkEFh8Vaxf9PYESeQnVZqguniKjGZ4S7QzarhnZNv\nMeoA\r\n=GJ/f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2LF77EFQOA/U1v9JK5bl//cak57mbdTNY4VzTac64FgIgMhvCA5iAktwtE6RwkrptmhuYk3l/CejZ9QYG5n4o7gI="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.1-rc.1_1627471829238_0.5514063098792323"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-rc.2":{"name":"ipfs-core","version":"0.9.1-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.1-rc.2+fa015c9b","ipfs-core-utils":"^0.9.1-rc.2+fa015c9b","ipfs-http-client":"^51.0.1-rc.2+fa015c9b","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.1-rc.2+fa015c9b","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"fa015c9b2291c375a5ecd86337831eb1071932e8","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.9.1-rc.2","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-3oErOuAjqO5xebY2eCA2A7nH6mnhbS3MIONjRoy5rRvlr0L1CgH/LqJVdWZ89qsqIVCC3dSDAnWcnSBL5OZyyQ==","shasum":"42f0abeebef6a2f188c5b578e72a39657ae1ab22","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.1-rc.2.tgz","fileCount":464,"unpackedSize":2189653,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAUzKCRA9TVsSAnZWagAAF70QAIl1eGmB2mFb9OW57+A7\n+3yihGn+86jLM1lOZXNV3Td8hBpkjYeP5jiRmk5iuiBDOJMfHFjAM2uYib4j\n6IRjU+rU4gjtE1N4CbCmEYIjAjRZtuYcm6m1aaWi0aHxlm1N9Fz29JwW+2R0\nhr+aKcJaJTHwe7eFR67hD2esfsJEJNUTQ1qVTIH93bG+f1T65bCEi1KMGvyn\n0oONva7CCRf5TG1uR/gu6urkw46To8lYOqctMv5H01uGVypSiIBs8oBw2gIl\nw4Nv4Z1vtPL877MlRI/VIbd31kSZwU5MzRItFxVjsPxDQoue+aVOmIWYFjmR\nT4Ue3sZdrPaapaLwsw1LWPQE7EXLHnAdZFK84nA5ujLzmAjCxBsGzUzybNA6\nCQbQEeDeTcGUwnyf0bmZOS7vW1ahbehW6Een4ZkJG4p1QuFm/X8U985wjpg4\ny2438ztFWiPpKEo/mqFsM43jRjMECNdoY1dn4/b0Dr2JONjkjVOoy/D2uO7g\nJp3fBleDBeVLwlnfxz+aTEe4TnqWm4zgV6N9StZwrU7ZsckCEhP9ovgQefmj\njiOVN1+2BMzMExPbyvMkatQFmz0UFt5VBz5h4BRRPT9XIGihB2OdjbvnrAHD\nDGy8n1VvCyS//llvfycX5TK+j0u+XA7unbSUmCmDextbtQkJ+7Mto4JAvgza\nbqvL\r\n=JkOI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSakAuoyQZ/ItwAEIkxqYumwfz5kjFVMJzTSfWkHZiOAIgSKrPTop0hjBkUhEwowj5yGrvK4mqK6mzZQxPOKl0QlE="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.1-rc.2_1627475145796_0.6317140192093376"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-rc.5":{"name":"ipfs-core","version":"0.9.1-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.1-rc.5+43db72b8","ipfs-core-utils":"^0.9.1-rc.5+43db72b8","ipfs-http-client":"^51.0.1-rc.5+43db72b8","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.1-rc.5+43db72b8","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"43db72b87f0153ae4e9c46aada750fbb85d0bac9","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.9.1-rc.5","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-LWhTd7ySCr5SaSjPNrqbDcLRRZvB6GnI+ND2/KURCVLueQJMoOH+iOOfvDCrMSmkR7LUb4ZJ7Be68toZlWl5XQ==","shasum":"92223d9e294a653efa276961a4e8b7f87dd6dfef","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.1-rc.5.tgz","fileCount":464,"unpackedSize":2189653,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAYxcCRA9TVsSAnZWagAAykkP/2omRu58BEL0ji6iSVRs\nrhZvzW0YR6JP+Cmwz2buf0qYiw5Aashn+MMVR7TJnLG4NcFB+BZ3a7ocNpGv\nlZa7jN1EhlM/ToFA855t4dvp3CsuDcjobFmAkm56yJ7E3oGr28mwTx1eD/ei\nfEyC1luEH5A6OH/pFu3kD4SN91jvxCxYLQyg4O5ojPqNQIA/vVY5uSaGjV+q\nM16KuIhEytPGjg6JGdUB4XmHQ462d71NptrG29VDbotHiwwgy90/K6ZDkXmZ\nNiGfb1vRrbF7HXzemiwTfagBX+OL1teU7eq9NQVwRTEjUUoUG8TsT7m4r9Cd\n6W52L2NS+1yGPkTVSSSFwk1XvU58ash2e1plFepXOaagkGUJWXrV5FG3RlFM\n+mBhqX2pQ3IgvCeFIarDlN2m24/XZurY8d8dfS6CeAr7QZhDRD3yZUB9r67P\n3rl2bX6gdn5kqIVmXNUQcRkQ5COptYo62FKNm7J/33cSbn5qCLW2oho3L7qU\nYOFaiwjB+o626JfI/4r+X4h1PXtLP2UGZKshGZI1su5orH/lSCLF4KwcIBe3\nlTCF7CG9UNH6z9V0NhahuqtekiKiKkFI0vHcfhqZnn3DJpnpwNPuz+kocMG3\nZDqMgJe4jAMu92p9Iv7QbKO4wON5OZs2IG4rZONqlBYrlVHg1jRxAvmqFVpf\nh3kR\r\n=s6Ff\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4cAmLiMOVZnYbmaha3siRrRf0HGW4JGTUS22Azz04YgIgUm1nWjAPfTiEexdFmRFeLmyHq3ruwnx1BJjIUtjXnJY="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.1-rc.5_1627491420328_0.23541891860623188"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1":{"name":"ipfs-core","version":"0.9.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.1","ipfs-core-utils":"^0.9.1","ipfs-http-client":"^51.0.1","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.0","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"dde3d28b4a0d0f74d73c0c0b38eda2e01874a2ed","_id":"ipfs-core@0.9.1","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-8PqNmZfdzfdE4zWcSwrTWCU+4ROCcaRdji9egRpdI7e6rzxFxCwod5JgExxkmTo7By89KKdwnkDynfsKSIbeYQ==","shasum":"e1eb7cae9d5c110a569dbc928492568caa2203a1","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.1.tgz","fileCount":464,"unpackedSize":2192331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBDIsCRA9TVsSAnZWagAA0m0P/A3uYdpDk+yhnTFzMkm6\nFKeI7NsYJs89XEsZ4g3C230w/aC5Zz0/NsF/BLFioYDoYiXWMheySN0oRGMy\nyqlGOpowZIryU53bLEh1mfCeCa3qZ+AKnnUeLg8sjEpC7zluVQIFaLew2mrW\nDQrpaBpBiltTFKHLj5XcObAULpD+RIZSdfBKZhobZkhqLB0h5krt7qf4VoBf\n00KG/Kf4Nb9cLUni6JpQaqhl7a5Ruwa3Zh3fqvrMwTXE3KeOnwOQEECIxN4E\nPgdmkn2q/Z8jTsf+SRamqSDVQXJX9jCf1UYFSGqijftHumEpCiZpxWxL9D2n\n+oEFyVqcU1yqWlhHo5TFRmDq7eYjrVX2gw6wEYd2XlnJiROolVJnc8804Txv\nFJr9wu0J4ygZAJtcL4mly49bKoki/pI7CWrDXrK9psN/lu7D3siDiuEMYYVj\n/0ESweyPtFD4djdwdC4TcLydbNUAhK1fN+sHEhBZQTcMoYs6rH3mV6mYHFQU\nKv2PNnFxcRuSzHCcn1gWP8zL/LrrbYzU1dq3irCZCFirjg/u/nQRpJ3Ne1eB\nn9k20GHC7XiJEJBHXtAgAMnWC8LsKnm5OZV2IRC5R8V9HycUpDFvXhDM6EJl\ncfUd6xZiSF8rQVR6jQ/48lRLIeoz8agf2F1beScRY/81mCXMjgqTec0G6PJj\nrdPp\r\n=hJiQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIjCBRDnAgfiZwlWyeGuLJL8aK9JH5buQfNgvS12BMFAIhAIZxs5EfSd73dQ/QZ4DcZ/VfHi1+TIo/tRzwomlYjNtX"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.1_1627664939964_0.48717470168651933"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-rc.7":{"name":"ipfs-core","version":"0.9.1-rc.7","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.1-rc.7+fa78b4fe","ipfs-core-utils":"^0.9.1-rc.7+fa78b4fe","ipfs-http-client":"^51.0.1-rc.7+fa78b4fe","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.1-rc.7+fa78b4fe","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"fa78b4fe1386a151422bbccf33818f3b15fa36de","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.9.1-rc.7","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-eqbjrSyZ2Zp7t8EgTKIIvCnksLakAB6EAObIAdcJMgC+r04UTAGpiQmdTPR8EJYjXVBpMa2YYM7IgANA+86DlQ==","shasum":"a3f03998d3bd0f3454e957b16d2dbee639953378","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.1-rc.7.tgz","fileCount":464,"unpackedSize":2191968,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBDdfCRA9TVsSAnZWagAAW5sQAIOerWBousHKor7Utq9t\nIsVzM4Pf55quFrAcRhxSMtyFzenFTidZL5Dme8Y58xMDQ/q75vwZogiPzWE5\n10ZCnPslC6UiCoB11wgSxwuPuR2VmeAQJrKNdo8n+B2N6PjRpPY8p98DQrO5\n6Lva2C6MSltA9ikP7tPFSqOm2bxZrF+eNWPgW02te3jQefn8O6+SadTGkh7U\nFofrPwssxK/PlihcRpXROtm/8Agk/Zv/tU4/rEKKPWNIeKSPYo5Qkx2ctjKQ\nco9ewuPO5s/L5AsvCsJWCVE6PpFzgFug838QeAXgUwRjv1IZF1JFzskP6dkE\nLilzmI9ZuMpxNjw69ZXZdQwtjuiNN+i2KELd/KkmC5crNxSTmK681thSHUKO\n+wZV/nQcB40F0HYTuTvOp81dws4aXqWyU0DNNjFmhub7owVxuEfxwE32Z8kY\n/o8EKS+4pHWnj3C6zDhORQgHnOGG/n0SSiXw3Ndj4TFkwRit+D+oNAJvGuIF\n4zaXHVtX4JhSqL0Gzr9b+LGEiIGfa/pYxEu+sy8TI6DVN1lyGgt12KTo83eS\noJElX0wcdVYsB1JhL3XgFiVtwxwuHfWz9xAYg6hpr92KRl1agfeq3G1Ljq7+\n46VEjMD4DGwiGMNyesP93On4+VYDIL7AaB5BWkkfEjMNsAjNdmXJDTumEkjS\nhBsL\r\n=E6yv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxHK1jSAYJbCh2BqFCGVbsVzEYZBWNCdqYzdj6zQ4fVwIge21rRmeS335O9jtRCIgFe9U26x9SVXHy461fvab99oI="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.1-rc.7_1627666271282_0.6476437630278167"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-rc.1":{"name":"ipfs-core","version":"0.9.2-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.2-rc.1+48f655ad","ipfs-core-utils":"^0.9.2-rc.1+48f655ad","ipfs-http-client":"^51.0.2-rc.1+48f655ad","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.1-rc.10+48f655ad","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"48f655ad4a2ec96f84c4f73082919a753523408b","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.9.2-rc.1","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-Qbhe4pvqSdqIDSFFox0dxIyr7/6Xj3r/rr0RwWkWQMqLO73F4ZSz8dibXy+nyOrZFwn+PdSC1IJEYZ6VlHdKcA==","shasum":"4547fb6c8fe0fc11f6bd5aa67bf7b5bc526f7acd","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.2-rc.1.tgz","fileCount":464,"unpackedSize":2192456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBEueCRA9TVsSAnZWagAANCMP/2+SV2RB6Xytw96bCcU+\nbTF8q/SH9CYvbGxotw530EC9BMqvEXPb6sRDFtjdD1BH8BPIfb2dJPj8IDIN\nUVFL4y+DshJtZnCtruVouErYa3O+YC8n3gKN9jIjOtIFgze9WitzB00/pQmQ\n2cL4V5sJ3m0Y4ENZq0uUlQIlWekVUp3lZGIXfSVBLMEssn5+wQoFp9tc4veK\nmcyOiH4zg0OWYOLTsM5rN0g2OjDobQAyEVbpHBt8Fs64JL6IxVt9v2lsCU5t\n02gXC4r0OPe0KjTF36Zy2FitVlTIaCvmmvey9ja59N+96z6cuw8ZHqZCIxTR\nVcp9Wp9IC3jd9mdhBvg9pTKwf9RPTy/I/EAaF5AbXgCb0wGtbY2b+xmmx6yx\ndUuU+DvFv9ggbqnKiPYCWNTJ6KR4is6CGUsc9zNLqdA6QRb2+hevxoxAbgi/\nNznXVWxC1qgU5k6jUnyYdAGIwiMg3KyYa9qRx/pz/NCO5RavP2bMf7Tf26w4\nIXCr84CWUIvqWTnyieduqko5qAPZLhzfk6hHq6F8FpicP57pv7J9vrZ3NIog\nwyDvusfd4wgNvP70HuER0GM2cDy3vFOyjkNPMfNa7oWTwIIe41u0WCzduhFg\nh1zaFsEr0UGsRnnhiG0Epy6VxtDitQdt9hVq4/Io6wDFQQ9rEqXwkjKM3YyM\ncT8l\r\n=tQU5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICo6fvicGHqKabUWNdSwCTmbrNy/0sN9viiZ3tSx8akiAiEAqVctd8fWpyEwt2VR+fy+yBKlcHtIRXy9id6+x3mIa5U="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.2-rc.1_1627671453706_0.6361037745033451"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-rc.2":{"name":"ipfs-core","version":"0.9.2-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.2-rc.2+1db6b88a","ipfs-core-utils":"^0.9.2-rc.2+1db6b88a","ipfs-http-client":"^51.0.2-rc.2+1db6b88a","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.1-rc.11+1db6b88a","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"1db6b88afc5647d3a187e0ca4199d8ab2082c629","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.9.2-rc.2","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-7I5FIr2+499X/VSPk16rbQsBEFEKZoG8yNkULIGmjV/AJ/D4XTiNBtz6UZqwPPzvmUkr8AzHDTt1S5BfVd0x+g==","shasum":"aff85251b5b385af459e6a8d5dce9edb9ed73577","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.2-rc.2.tgz","fileCount":464,"unpackedSize":2192456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCpu/CRA9TVsSAnZWagAALbwP/0bAQUN4m5JlVXg4ieBq\nY0RxrY+1JseNmActHddVMp3eAcUrbJn0cBWi4s4W+aH782XpI8z2iJi38iS/\nEOfp8GQgOHW6VuGa+yuUzb0H8kaTbzaxqMd0j9jfkR3dyL8MBLY/9AXq4OrH\nxATD+ZUQn72e2IJtWTmIaOzqsW/5oXTq9Ve9yg4HPG4c8452jj8Ht1rudwvs\n735NEQn0n0ycYIz7MbFRy7X+cw97gdLX8yolrBlxRQPxSy/Zsf1mhAwjdocT\n9LcyW/bckCDUwrA6vDPgR940zWiflrCS3v9TAHmapmk4iO7msbBrgt4rviPR\n8zNR90Bbnc8j7SneJBbZL2Jx7+88P6mnBqR4/rjVidWn07z/z7Dbfo+KH8Fc\nQl/hj0LD/Qsue4182hAxaCGzo3L0JfqHGoaOjSWdDWoRBbMG26DeMQO0pGyN\n5CBx1NAIJ0vQpn614trOcZQDzcdd7nHTtBNzxHbbIFbko2arutG/ZNUPpNXL\nCknLSAzaB1H4cZbW69POS5Alb7DpL575VP6Y8dMXnpySZb37fnWz9I+a9+DX\nR6PNIkaNIiqJvS0aKsyKAYKdqDeiYpPlfRSWKSsouGXtVi+uMhLhHUT3vOKT\nb2CwEsCQKFHPzfwjvhwy16WnLxXX3YEl32FBVroQEx5KUXd8NCzSVZdiiuiM\nSkdZ\r\n=Ate+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID2VoWLTnrYo3PKD6eUQElMwsRxV2YWIau8Onq/UnaTEAiEAwksHAaTMejbzyRiLDRHRYEizXKq1+hVNmuhCxrBxNM4="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.2-rc.2_1628085183115_0.6552287578615894"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-rc.3":{"name":"ipfs-core","version":"0.9.2-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.2-rc.3+6adc3fa1","ipfs-core-utils":"^0.9.2-rc.3+6adc3fa1","ipfs-http-client":"^51.0.2-rc.3+6adc3fa1","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.1-rc.12+6adc3fa1","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"6adc3fa18f1dedea22babce41d24d7435e497ecc","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.9.2-rc.3","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-naa/n9YTJXO7vEpVRYG1edPXtrESD6l8YR9QjE4uUzMd4TJS8D6KECFKAeTW1ciceHlciYuzRQS1vloAtThobQ==","shasum":"9c0867f59083542de049041f04ccacedf4d449ee","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.2-rc.3.tgz","fileCount":464,"unpackedSize":2192456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC9AOCRA9TVsSAnZWagAAK9sP/1T+QwifACEhqUgX34lV\ndG8wzcC+iWnxyrH0RN22PagJ7MBZAQ1Imw3s8NL7OdNNZkCqqxOPkcKB6a8v\n2eECHWFHO+VJSgeN8rJQnPjPJ6j8KPruvlr6nY+UwSrrTlf8vBDVHpgFxR7Q\nuEhOwrRy6UjugiBEPBzPMvmqlmOdqbovwe7wO61mSZidiDUC0eVEODek8LBC\nWJux2xrHot2tzfTwbzE7IoCX0a2PnnOeaLEGh8XMqUs7yAqz8Jrf1qPYignR\nvSJYHxd933rfD5WnyZ6PZRGMrIGXstJRrwdfBTRCvRunUjkK0/+y7rjGJaXh\nOPiBv68LUO/ovYT4dUcBgWV1k01bML6gvs5+m1V2Xdx4FMKAk7TboxHY9bMf\nuUHJOXkr5+r5/zzImkf35RShCeVF4yWt/DB77ZJHPcyLq86mC/Kl5engT13f\nOT8D9dhxnpyFOnCWuzejDbfQt8RfOTFJ+5Uv0H5FdVtT5T9Tq3mHZjG5m5ev\nrMAInaqeP6iwK/b4vFySZcdfuI/M9BwPr119jp7RoHU3uKtEz6+WQVcGVDLy\nEkhAL974B+nJvWt9kScjcshs65zUMMBdZ9nFhJZrWxUSWMlFobtBfgghKV71\n76qMyFaD83fmeN8oWc/vuYdmeTeLmKWmBZ6jGyIKgndjHGpVPEvi5xUg9fav\nulzM\r\n=YOE6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEREvDIk6kPAiPhCQlKSPjWLmepXZyt2iFeUEWrwEX9VAiEAptgE6nni05e4FisbCk43FrezwVUoJukpIkxeNL5loD4="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.2-rc.3_1628164110291_0.2731538438680581"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-rc.6":{"name":"ipfs-core","version":"0.9.2-rc.6","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.2-rc.6+a6c68803","ipfs-core-utils":"^0.9.2-rc.6+a6c68803","ipfs-http-client":"^51.0.2-rc.6+a6c68803","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.1-rc.15+a6c68803","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"a6c68803ca19536c022c72554af2311962b2a063","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.9.2-rc.6","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-9IiH9GEe5Qhp70mGKXLyLpzvMlnQbyA8J59zWsEVzFEjntq+zIQqiRV3RAUXJaTkJlGRrA1RaidrGZssJhjITg==","shasum":"435bb66505bacd331a51f47ece9106e444d8d091","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.2-rc.6.tgz","fileCount":510,"unpackedSize":2253780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEViuCRA9TVsSAnZWagAA8DwP/jeYrneLpTW6Sz72Woh5\nVElkzJ/hEejm/vJChnzKPfKE8A88K0CRk9cOBpaLblYG4rBwGHCzYsa9OPwU\ngXdOqOLNFRl6iXK+qFUx9nWsDMSJHkVnP+9Jz5TJ/dptQm0UkwgrDGhkWLIC\nwM+N1XgUJOhxlCecJ2L30LY0vNlFJsoKyfh0K5l1T/+1axJn4seGWclgNoit\nu/oxT6RjrfeDY+EeLqk0HaV47HIuhNgZpqV/wyWgVcamq7fk7fvQLPugvb/c\nMmzdO3V4okkoB6A8llKAG1pGzEEZq0gO1b4UEzrCFKHxBjLNJF8/aKYrn6+g\nGwizT3QWhQ6CpSYmFIGW+NvXgprZiJxY5brLfB7UGAGX/+NTqSEvri8OsZyO\nQm42i/AxGH+hG4fGH/GPF9cx+Q87472Gm3d086l/V3JXZIGSZfySuzjzMlQF\nfspCkDihC2kIhg2IpvxOQLU0LLeh7ToN+xYfxQc5rBw9VIyDgARc4SIJXZVh\n5YpFgx4iXbTV41Lzf/NGhiucKtnWTC1zAQWUv0brQL/N8fR2L94EY1jgkzEq\nM4l6k7X1QFsxKzHci4VPTftNXeMfWbWmkKXbUH/C+isrINfLhHebTMIaOzmE\npd0TeqNttS5YFx1A5TqfwKdqHC313HahwCk26p+/TzZ0x+kEav/RGdNFFCRL\n8n5M\r\n=8jqG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB9T1+IwCQY5Thw/ioPpuOfwUWsgUQO/c+ffydkh/rXQAiB1AwsYNI9zW+xx5hvoVr8HwHhMnt/gZ7qgFVBLShBIMg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.2-rc.6_1628526766772_0.6343875520120381"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-rc.8":{"name":"ipfs-core","version":"0.9.2-rc.8","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.2-rc.8+213f0b2d","ipfs-core-utils":"^0.9.2-rc.8+213f0b2d","ipfs-http-client":"^51.0.2-rc.8+213f0b2d","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.1-rc.17+213f0b2d","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"213f0b2df0e407dbb97ac2de9b82830da234fbb0","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.9.2-rc.8","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-Z2kTkfqppmuP8ZxLQ03np/IH2J8/89OLPV6aavK4I9DJ7jkeRH+umNbweRjYq67Ar7JWoYJrAq6QuASJGWxnNg==","shasum":"ddf35b066b70de3f92ffd6623705d39569a10d77","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.2-rc.8.tgz","fileCount":510,"unpackedSize":2253780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEiiNCRA9TVsSAnZWagAAy6YP/3HD/a1U3rIM+x7lvpMO\ngwswRELAdUHJ+VZc/gtYA6aFjBLp8MYaqd6ZFo11H3OfFZctBVKB/dlIbYcw\n/LNIRKdt4hz/wFXMWHFwREf2G1vAjq8B4Gow3Dpbcj6NQSxeqhIZHmdii0jQ\njCQgjigYRNybyZknWhMCik/rbSImzW3+ttsL5Nqwd3uEdCcoUcbVpbfVxQyo\ne0vHzpbQqzbIC96028rReA0FIvOGSHOvCJJJjc4nyHGagX+OVZ7whb6ODfRI\no9sCg9YTpSEzoC5f0sm7OG3Y/j6JhE6XAhocaI08DqJysVKkbOr/Dg7p56//\nBCiZBMHItsGJoVH/nIXRuA14NIyeyQwaVF/iTP6aaK1hH2wos+vw6Lb11umH\nD7O7qtCdTapInsd/2Tzuepf96HxNqp6iqX52KLJqnWHkJIQ/MTpRYXPG8aF6\nu9TJqFJPr86jYv2mNedLSuy4In/mF1w1zO8Y3DmXt0vDKF0fdtAg77r2NdXn\nbDYebp3pSQ05sfiZ3uSJluaci7u3BwFuTIKr8sluh61e4k7bDaUIoCBxbP9Y\nDRw8DsX947nOeO9jtEPhcuFzs5Zz5sepUhqb3p7J3skzYBj/X0G4MyDbXDAy\nmqirzr9pxv1kE98at5iTxwbIEK//hg2xjCkeBADKYnpSW4SQ9e7rSPX5k9ld\nb0Vc\r\n=oGMm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGvEDIhyM6/QXfr9poyjtLL9Fzz6hjN9JzyiFelWDhWQAiAUdC5Ki3CDp5ogFl67LCdZK1II/wKuOmfCaZrBxC2tZQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.2-rc.8_1628579981327_0.5376977398786451"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-rc.10":{"name":"ipfs-core","version":"0.9.2-rc.10","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.2-rc.10+4150d1e7","ipfs-core-utils":"^0.9.2-rc.10+4150d1e7","ipfs-http-client":"^51.0.2-rc.10+4150d1e7","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.1-rc.19+4150d1e7","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"4150d1e736c15863ae7e354fd1f7d6d4e34e4452","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.9.2-rc.10","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-vOeKh4PWzlao59sNLHvEiwV//Yw1eqwn+LPYkA/r8LCBPLmhYDw183Nt/5/0Jpi8dvYO4Z23s2TtnZrAp+rc5A==","shasum":"c80fa702e80a2aedaad7b7601f5c94d78d8d2f3a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.2-rc.10.tgz","fileCount":510,"unpackedSize":2254007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEkJtCRA9TVsSAnZWagAAkBAP/141Ac4m4YpHp9STAwgh\na7j68tz5NWVzdF0K3TJQ6WLrvaZL8jaTJBXEHlEGt/ajQ5CrxxTBVRh2sXPp\n0hxODNftVXgz2KnhsVk046eMszlysqiEzP+Jcu26QQHCdzlGlKvuaMG+dpMa\nq7y+tL/JK9cyRP0AD12/byOi1Po+C/Hv4NG/BTH85W34Vh0q9Z+hnTt+nDrH\nXFLpl6i33lIIZ9cPsq+XkNEa/orQbAPM3tYmJrN1PkojHfTYm6PkkWbeviLd\ndTxfrO5z6101dme24Tpjj48insg2Ns/IesgV599QDXOvcCXV9K54Qvj/R3qF\nj2U3SmAUaXOPAXUi2IgIMgS6Fyee/KxQbV3WT5tJ6srQep87Z5xMBdLBrzQi\ntGZ6DotDAFNdIjsgPgaGWLJFwVldSwrdgbl3SgRQgM1RdgfPyaXxTehlB7WB\nDfXvAdjIeqxEA9aO0NWsq5juoBo6aKh6Y+yF3ur79TMOwSqyxubVm52JhcFr\nWwS3t2FUeLAIfLzEypCU+9CrnQ7+gakoDCIxrhsxbtGLCt2L0H11ByJhXnqk\nELuWYBfdn9bP4dc+YFauR1C89SLoeD42pCEE6WxmAPL/aF2Yme01VOrjSNRS\n40XPBWDoQd1B+syg7tmAihcsxW6pokg6ec4GtJuk5KdMduGLdtg5q6F1u208\nlaWJ\r\n=LcyJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGFxBR2/MS3s3Ms5vxhAF27sOaxjoT1q9JhScmZ3u41yAiEAug/xDSZzQk+/B0btculecyK77Zdxhjqy6oNRTz22/P8="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.2-rc.10_1628586605456_0.8086343207265554"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-rc.11":{"name":"ipfs-core","version":"0.9.2-rc.11","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.2-rc.11+fae59868","ipfs-core-utils":"^0.9.2-rc.11+fae59868","ipfs-http-client":"^51.0.2-rc.11+fae59868","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.1-rc.20+fae59868","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"fae598689a0b9a3bdcf80ac71c19b709294f2932","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.9.2-rc.11","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-p0ABxmXJGSUT+o8R9Pf9o47VnWacxEz/zz8tB15BB3lAeYD4LbB0cvBwmte3g2PrHartRFzo935FYH/VLsSfnA==","shasum":"22e0cc3466cf907d00ba7a71ba5c012b56b1e419","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.2-rc.11.tgz","fileCount":510,"unpackedSize":2254007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE5b9CRA9TVsSAnZWagAAziEP/1Pm4/OxD1l64wb3eyko\n2IMcLzGUUnAu9TewwwV6oYMYbOszYjwqlNP5l1JRwii3xREYVcAePRsCFZkk\nDb/iFFl5euVHKb+zWNcme7ATj4mo6m3YvpyQ6kPicf2gLvaK1zKaEbUcRguU\ntjq9NGSpzmLoYCDm2LO0dVmbxBx/o3TkzZv6032FkIVH/G0JiebBlzMzFVTw\njth4SooV6dFbJSEb3QyZU1XevrNfbsrxe48bmkEnQp7ZLcbRQukzfvv5lc27\nFAjHuuGKPjCcCcvlhkkflK1iKaLhBL4zPMINWdRqKqqHBYveaRUps0FLUALe\nevw5JOcqDgMxgdqR/evoeMHBhiT1Pj8uwRHzm7bfzboO273VtGTZrFNw8M9O\nH7CHf2lScqRKNlhDh5b7ihwHh1pHbZGf2ot7HIu/bRO/hF+cT5+5/VpZcyFZ\nnNX5bEkumeF5RkwGF33JaRY+FXxPMvP+mS5hW6CbOU6bTgMJpNm3jDiDJouM\nqpK96Fhq/1V/+gBRZGRFbJI6i+aQCSel20TjRGB27vFC5luxFcU1QH6Uqq8Z\nZxThQ2wpvbMi0WRPau0sN2oTFZgqv932npEIoRJ/3q8cvPFLkp+A9EuGsTIv\nLFZ/KV8p3zadds5zun6T3b3chrvoOsIIpKOd1h0F4v0jO7Da/bNAZllOK5zt\n+KmR\r\n=If7U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDGxxEfx5UH3fxAnXOrLSFgIVgkn+HCTNmQiy5fbrrCLAiAQpYI8wXIyeNZhTwvarKmtYS6YQhqwVZCeIMAxznpViA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.2-rc.11_1628673789400_0.9632632220490356"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.0":{"name":"ipfs-core","version":"0.10.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.0","ipfs-core-utils":"^0.10.0","ipfs-http-client":"^52.0.0","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.149.0","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"7f241319856719f2d9f2c1fc4a6b1062ed1ad398","_id":"ipfs-core@0.10.0","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-ut6FhK6jO+v7IbGlxGKQjK0KX9U2ZFeoeSOkVL8E3wTVNnxEa2zRhO8McHXBLhmSL+8SHsunMx0LAGH5uZ8CCg==","shasum":"f294fcd4879ca1760ab49ffe57b288ee5bb615f1","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.0.tgz","fileCount":510,"unpackedSize":2256234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE+jeCRA9TVsSAnZWagAAzR0P/06EkVwfe2+JZkD/eA53\niBCAp+L8QnBjYMhhqhmxuZ+Hx5EOcHRfG1S/R0BovcStdVWaoX06lPCG0N3u\nPF07BG31oCweoNDxz11T7d+w2aaMpQ044iVLgsO/kM0EpOXV5CyDHFceovUa\nSnvB41yEO/F8TcFqoVaf4op/EpsInbcSBazQ/FCn4Cq6S5Jmj+88XH20U9Ww\nqUBYky8Zfex8I6CFLm+TecbCR8GOtRonMYCG78YVErzWebgUYb7X45Uw511l\nU5+EDjqwh7gyOOZOmFS5OPYzIdKvflweGAvggDV9T6keE/fFmV7/B+rtJ9iz\nnxZnnpUeqbGhVjDLgy4IkZ0SY0xhWRt1z6tLkWsNXG2IgX/4cfqTkF2mHl99\nZ2iV77DXb2Z8fCbXMIwxwSXtBAMT7LydduDYuCEJQf8Rm4d8V3VH4emZ6XsP\nQ2QqsRPD1D3sDr8d/IH/EERLMc2mLtoK24q8PaotlAYvm2YwB6XDio1UV0r8\n9VeWQ1HwE18LD71S3zkl+TlcrD9lTMR3EM7Phv/XY6prRq9aNHl8HLfrHxPr\n32PI56p1VXGORII3yedr517qP6gMv5ITP1iClNWZAjBr6qWkogAOy3xCYwd6\nxWS6ZkwrG3IJTMueXAubg0aHHr5CrrbxWkGTdTarJZIgQ12jRSej5sUYOC9c\nXrbp\r\n=81M2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFSxOPxKUwsswWRoYby6VdUlt6ZrwD9pETESV6hQxzPOAiA0+Qi/BFNHKg6+JKSgL00K5H+KUBsW8oQvInAxqwZXHQ=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.0_1628694750295_0.6337194248761351"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-rc.4":{"name":"ipfs-core","version":"0.10.1-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.4+b7735674","ipfs-core-utils":"^0.10.1-rc.4+b7735674","ipfs-http-client":"^52.0.1-rc.4+b7735674","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.149.1-rc.4+b7735674","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"3.1.23","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"b77356741ac597f57e0b9ed57cddcf0ce3fe7806","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.1-rc.4","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-3TeQQUMrOTdezRzgXNn4yxLELZtmbG3+pFae0qaU2FrxzkwYpmlTTLPu/28K+aYyaQunyxa61BMDOfD8nvGWlg==","shasum":"0c97c5cc82d223d3f736933740d8b9c0dd277dd4","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.1-rc.4.tgz","fileCount":510,"unpackedSize":2255368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFP0qCRA9TVsSAnZWagAA9isP/AlStggjPkuJAwUjB3/w\nilYcfuzHgHc5hOWNTTBVvHE/JKVQZ6mpX6X3ya0fSG0OPIH6JENBRiWup5TO\ngtvOsdoLKDLKwBGnl5yMotpJWW+nR7VoavnppqNSilN1SzZB1JeM+cQVmpxw\n1KRdFf+3UOjP/caBUwbBesvyDE4aEMtbZEpSr9S3o5xHHaWonLUpxb/ayVot\nahInGB7QgmTkLZBgq1bxvcppXZlrLe2q2VzaDMWvqxdZQ5aKe3eHu6bTVslN\nAe9Zxb+K9SCuHBEjEY4MsbxqXfSrjtGlyAnqK/IWhec+/86ZHZUOazH+NQVE\nmXeC6wPTBM+n94peHzRRUQFtNgKOnrQc+H82zHpXMnNPGgFUD7g3wpyvts2z\nJeSWldq2hQghAIwXO27QaBb5vXMlsGHIOTx+XMUp7/tx+b3x9BfZb7VXh3ak\nkWUYXxGjZNEwrboheuekV1uejnHhwRrHkJB/WcZQXa3SLvPh4gtPAz46XHHI\nzzhaoDJ8rzHFEna2Gcju4nk+imbtUILwptmYKHtAOpljwNBnzAd8wjltXnKc\nyP/wvrBebjXSYX7uyMUlJZv44ZTLA4OW8iyEiRSoygAIDA76VI2eFURkPdbk\ns7c1I2JG1r3mhXN6xo8xp182nb37H+OI9f9yF8E2TOJr5N+3J06WtmV0fp13\nCIIH\r\n=7EME\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHDq0toDf7+muT3VSSwZ88mnxsClvQmK2zOtVa2wJNg+AiBgO3HyBtZb87y7lWKNPbPcTyTLlx5u8id/ziNMpr0wCQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.1-rc.4_1628765482451_0.07282039718715172"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-rc.5":{"name":"ipfs-core","version":"0.10.1-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.5+55dfd937","ipfs-core-utils":"^0.10.1-rc.5+55dfd937","ipfs-http-client":"^52.0.1-rc.5+55dfd937","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.149.1-rc.5+55dfd937","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"3.1.23","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"55dfd937e4175e049287b9093ed9a52bcf085711","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.1-rc.5","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-TwMhlj8Ikz06AiIAi/QUqKlkK2LT0rH2I/QWVhh5hvsNA0U9UJ9MZuRoooc41Ugzu3lmQztRm2HYVNcE6K5C3g==","shasum":"5405eea76702d09c096bc2cb71663edeca6bc961","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.1-rc.5.tgz","fileCount":510,"unpackedSize":2255368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFQDxCRA9TVsSAnZWagAA/NIP/3ClBjVv9dWxdgNiUqqm\nFe/lqzlVKIxjYV3IypFagR7/9jFdHMYyg1oT+I3aXrlJWyJUFaP5yo2I8tzr\nnHj9bS6dRXrH8G4+ZzQjrmtKtJM++sfWyRJrYcyrUmFA8qBIt153ni6vVdyF\nvtpu1WNlZs9XNxbuZqQ/a1xJZ6OXgRd22ccX5vBPVGxbT1u3tnZ6o4LZb2YI\nnotYPmaBWWzRmu5jPu4QrhhqloVjKQpa8pnehVP5ghgPSsn6vc3WFeh47uir\n3E2yCYLgFro6Ge7LgZUcrrq+cxVxjGUz+jLPJufFHNMaL2YkxVa2l3Hw8fMl\nTENVxy7UpjcSsdgrTRCOp+LMDYjWDzmgpDPPbEzHHKGgNqNKW3xWI6RKBJsu\ndpsqXOVdT1j2qBaHg2eEKc0ugpTmqpBTFx0V+8/DXwLpckTjyNad4iyezziU\nYvPYdq3+xJswS+fG7EUGZJWd1lbtTRP9nUoTvnXL6YYHGCSOR467wSioQTVl\n8eE6oaTqg/+ZF0LHM2OLE6MuUNpvDIgbJJ1JIew28lw4N+RI9aTsR7N0TYsB\nnFB7Z2yDS3nWQAnlpqLUFr/pogkrGiMAR6MCgzupiv3HMpL2bQrZPhMlhP8z\nemkUgOqD+0lBNFq9mCd2d0V1nU0pjY+K307lGap0ngwGBhPxKpc0xLHiIeyj\nvjXd\r\n=tMKN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDl8go94ATXJbKH5ci6nVIvqci3XGWrynlxT2waAGGi7gIgaMg5eh2lbQs9gmR5MzMyQqJJUa0XFQo4poGX5RTvHtU="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.1-rc.5_1628766448807_0.6485264022366837"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-rc.6":{"name":"ipfs-core","version":"0.10.1-rc.6","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.6+9eb29106","ipfs-core-utils":"^0.10.1-rc.6+9eb29106","ipfs-http-client":"^52.0.1-rc.6+9eb29106","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.149.1-rc.6+9eb29106","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"9eb29106c07253d50121a5be1aaceaf62b022742","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.1-rc.6","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-2wAQUqF+JDb4wm/VPORdYrZESkCg1yRLJbeT59ErEkHUDbTEbQyt9Xl5/nkhOE+KAraPw2o4Mj6vynk93ELeDg==","shasum":"9c00e1b3edb5bca4791aa3590c94c7220231a20b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.1-rc.6.tgz","fileCount":510,"unpackedSize":2255370,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFSv7CRA9TVsSAnZWagAAf3MP/0C254gPqUJAMlWdFQbK\nWgCfQG240xQS7Wv8h13BSrugPNPmjcehHmMGs5tsYf3RgTzVDiRlzRrPy7Xk\nTUiTKB4oNUeQRXdsqGZyd3bJrkdHgZcG2ZEC1NJPxqdCahlfSgsm2ZC3Yfqz\njoHmosLZ2jdOeFDcGCJwmLPjB9miuX2I/xOrj+EOVzzTYReNfGi2lvYM+HMA\nHATDKsWZfWs0qlRVyPtit6QHvPzvGZf1nStAg4+ghepgK2rJPxPMWhDyq2WD\nh3lYh/N4v8IFUt+xPtKKjfDmZSZwIWcPeR+D60Ro+UTzOFa1x4bJUAj6bq9y\nLiLRXpP7mgDz6KYDU9Nn7q2NhSvpw9UQs7fxHdfWA8GFXhG1BCpxkhq/0PH/\nhhJhmYvtJInjevqOz92p0C1N3hQPL2685x47diydUDoegPQtBQs2nXg+7kGM\nmniWJq/PKf5Zor2ttYhoLxDxEiQhWb3My1lHc6c17/8X/zLelrjq4ElGfhHe\nmmorPHZ8uKrYQ/9tk0SuheVLnHVSglXGDwFjPHnH4WAIu4GwhX0PirdecQWS\nzac89OQ0Kgd6SgrulA0s43hHXi1+HDuRv21ppZk4UiLvlSQ6teEAOsOUwgta\nDPRPxgQmTKBnsD20jtOyJ9ao+N0Vy9pA3ZICHAWnzbQoH12WDN8xjOmhhgPo\n8jx8\r\n=UqAW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEe8TXek2J6GG7fgxMm/32iYbVUuqeazaD2sjpSKwgIAiEAxh7bkMZl8L70TdP3mU89UQ6yB17V4ywej2605cZOck0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.1-rc.6_1628777467398_0.9080157973658725"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-rc.7":{"name":"ipfs-core","version":"0.10.1-rc.7","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.7+1fa4e8d3","ipfs-core-utils":"^0.10.1-rc.7+1fa4e8d3","ipfs-http-client":"^52.0.1-rc.7+1fa4e8d3","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.149.1-rc.7+1fa4e8d3","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"1fa4e8d34f47d1d6273b6d82801d324dcbc6cb61","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.1-rc.7","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-2ANfre9+g7UYxmuaj+nHCXbjXgB/LiXy/F2Ep0ANcSaycl26n5TCQg6FW2icDLcLbjKo5doiBw4DhPGgpDs6Tg==","shasum":"1b79049c969291b73f2ffdeaf151bf053002f254","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.1-rc.7.tgz","fileCount":510,"unpackedSize":2256546,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGoiWCRA9TVsSAnZWagAA/9gP/2HdyUt3CuDlUBg5c4Ry\n8h1aWILl1p3I7zEiWIsSU4sVmPf8xnaE0OE1R0IQJjscP/i9+MoXxXItPncL\nFrjw0bqBvtn/yPh0Yi4D3tVxZz5bBxkKOONghMCIOUCiJqbYoFwXvPpmpG9V\nFsaVEq9MjXfPN9wFTaW+RbUSpFxbfU5fXB/UsPW7k1zmfHoOhxGRllvSjL29\npNWWb9WXYhMY+SjeDOD5bJt7nlWdmtgqq4pFmBEKfVjNbVaiMLEomlXGBnjv\nGY9+pbMlGh6wgEVSyKLPt7epnQUUpNMfsqjNrUjIULUYOQnjIxgqzAckb+sM\newe4pTu95Q1ZZ7re+sNDHOKk6dt1IAZs06+LKtzpnGlCQmaCJHOtsP7X8sqa\ngl2gbShFbEHRgIoUo8Z6/DNzv0IduPSmjVp50sQwc+e+NdEo7XdWukW0aDha\nGOMBzVb1VgXKKuc/gMSaRZatw5uRnn05R80LSG2tFbRdbBcYLy3pWT89Jo5t\nfd/YLCQ4/gzXYwttk9pZluwAwsij8QtYmHd7VdlDG7k+5KvQ8XcaXaM8EgYY\naQwvQtdvutftdI304x+kgIDq84SVjfL+8FswGzrVpTEmWgRj83BtqQvL4VJU\n/foI0Krat9vEqGTS6jSXzaHveHFdOTpGVtzBN0jftwrz8Yi8fEwFor8k3mQx\nsBrs\r\n=N00G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGeLSN2sY4sF6PyAtyUu0dj5xOlfHHjXApPkbc9vUPNqAiAJs1ZTIsa0iahNxt0zSHls4ziSTBQUR2EQ05pGxkOsOQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.1-rc.7_1629128854061_0.6319251550447023"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1":{"name":"ipfs-core","version":"0.10.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.0","ipfs-core-utils":"^0.10.1","ipfs-http-client":"^52.0.1","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.0","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"f9099fd0b24c0f474f5a9a3309c16adad5574b83","_id":"ipfs-core@0.10.1","_nodeVersion":"16.6.1","_npmVersion":"lerna/3.22.1/node@v16.6.1+x64 (darwin)","dist":{"integrity":"sha512-YvWtI6nxVHceTV1ueHNCjNLBtkjP5Uaog9hZrLkMzxm0nuLgTH9O5pCgnm39+5ETuMocpuUt5dbAH4GTS1LpqQ==","shasum":"a4f7a2ecee415180e1a87be780608991d78d580c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.1.tgz","fileCount":510,"unpackedSize":2221780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG5LGCRA9TVsSAnZWagAA0mkP/1cP7oepIEsIfnJdv0pr\napjHaBhqbK3S7y99M/Metw9k0hTSrh6677gSPyAD3HA0DgYxAhb7eQrj+Sxm\ns2YBSKZZFeiuE3c8r3AA3m0rRXU9MOdPbeUUmm+LqzvTUlZky5jBJcM74KK/\nGnlTb+TlZ7F6CtopBe58o5TkISWMedqIpU/nI1TBocetQbBJyRAASDx/rrZu\nBWgt2nXTefFJQzrvKSmaI+lN3nrlSk7VVOBH/kaToS2HuRJ48bCRcn1uoucR\nSyPqD6tnn5rVnvBcIma6lEQ+YJ+vku4L5bxK1paTzBvBNaE5vU5XazD/7NCQ\n1Io+Nib2qcQ3wRDg3cpk0SuMKdn35vfR+jeAahw61ruwSK/avSHAuke6a47S\n5wVoZ5uido3igPiIYhpAn8uRSSKwae0NAQrC5PgdS6oAiulNb3h5RWzD7oSy\nzYq4gDvFna+h2oLfhwbQjiPESZxfDoxqnda0cHHkiYszaEXFXKbCsTfBYoVP\nK1zv+8m4k3M0mFzpcXNAbi5lme3HoCan2PgHxgycgf+HNwy5ZR6Feb9/I1JO\nqZnIXZcHxfHjCnh7naAkL58yxRFX0gUmA0nDBAqOsxKCqXAkEU/biGYgUJ4j\nR2QoiWyN6Mqjprfb3CxJCw8+2sftXHAIkfSu04bHEC5ADNfkpTGxm04Zlmio\n2CUz\r\n=kpnl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbX2iEPffesMntx2xQkA2qXrCwdAZ+ypNxutimbWo5tgIhAIL1shnOD5yAjsMyS5xvyZCQpmt9C7bQS9bNOJtzwqYM"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.1_1629196998032_0.17501473057232197"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-rc.9":{"name":"ipfs-core","version":"0.10.1-rc.9","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.9+c1375617","ipfs-core-utils":"^0.10.1-rc.9+c1375617","ipfs-http-client":"^52.0.1-rc.9+c1375617","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.149.1-rc.9+c1375617","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"c1375617b6d7137e098375134097d61edf316ffa","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.1-rc.9","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-azbTJr+hiUGmZPj456KiyLXV5zAHZcMQmU2e7PdY3e+tYzClBzTbGFmy/B7rSxVd/MEQNaGWvsOtsRgUTPesOQ==","shasum":"1ce6343dea3a7ba40c8483fed0f72c653fff5289","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.1-rc.9.tgz","fileCount":510,"unpackedSize":2225023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG5TqCRA9TVsSAnZWagAAtRAQAJVzmSxYz/iQTsAwtRpt\nsmiS5/7P57NPoUjxVamwS+usWPHlGPxwgQa8jqxipF5hCbf3G88m1RPkcQJ/\nzV8NtbEQaTCXYHVADlLDOCjj+4CQC0PXGNHh7SysesFtwt2KPXpMsVFfyK3I\nt4THAeyVAfh3ADCGprghXLSj/YP7hYw6QNX9o8K91NCQyQE2hEThyuGpXpSE\nO/iFtWG5iMlhUXaQYE3OAwt7+jBfTOQYWFHwnvw54zqN700dWXo9golBNb0n\nvPkEdgiyf+oQHIf+D9wpm+d0gRsfv39RsepiQ2M2LEgYPwLPY21wVAgB7ndw\nxy1vKuxl/4TnYAQTiOtCos0+GYVBnPlpwsImdzvsXeqcwhtL+k9SZF7vIIZs\nqHF/KOxIg97Vw4nZiNfpRDdePvrWRyb+MWcZGELLh8akvOHKxKh3o5dPJ1Ab\no9MQ+XLG7WTMniJlfl0iBFifd+DV5oWrLnb4H4qaHa1xNsyRsWUlujr/G1rD\n46fnG9PB7Ze+jT/WFC9L6qkpmxcEykoyHUi6PHF9Yqmb2Q9FWWhk4y/ox9FW\nXgy9o7MBHCro98Sc+qmWfLByaafSiG68Vxxl6p6AZGpp00PGz1Zbu+3V99xK\npM5XVbyWOY8lKtXRdzvmHKxDF8TJhcNWFr42BZPPXhoVl/4fMRUf7avMhrLg\npAOf\r\n=DtVl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClsNIZvS6NDZhdS34X97Qh9N029hNm2MQFfEAddv6O5gIhALJ1NEqv5g2nubSomgCo3si/b/QLKFCUjNb7OO0xW7ak"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.1-rc.9_1629197546499_0.5021066134661982"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-rc.10":{"name":"ipfs-core","version":"0.10.1-rc.10","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.10+2c1a23af","ipfs-core-utils":"^0.10.1-rc.10+2c1a23af","ipfs-http-client":"^52.0.1-rc.10+2c1a23af","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.149.1-rc.10+2c1a23af","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"2c1a23af193a23c4a710a9007c7c22b4b729c7b3","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.1-rc.10","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-ADuBoURUe2pWjcbRM/happUwWc3SM3b+XK6wN07eYicW9SC7VGBdhrxxvEhIJDcMkPCb7IvRPIICyifpP6LcZQ==","shasum":"7c6202fe0618fbacbeaea49f458a07753a492bbb","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.1-rc.10.tgz","fileCount":510,"unpackedSize":2224985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG5kACRA9TVsSAnZWagAA0ycP/2PWhjuuJPCLZkklQTJW\n419IZdDLa5cncsjciQGr5ZKn1A5sWMKHF+2ALDr3vON18OfJZDFbypqcDYf3\nV8kihkmCGZnIGJzuAqF+DDhBasQZfLNVdAH1wgT6GFuRd/yrmkyABYLEP9xA\nubft+3sBIYZIYLj/VDOJ7AP5TyCWa3WsAhFF5g0MPukg/5rZUKpAPX7u7wOA\nPxPmzj0vBHYf7jwwn6wJsNyxkWDGUloJKHl7DQOJcFgmkaXV4slgaMJqMAUk\ncAEwvhYQ6mUcp9yfOvH+Tf+Q0+9a7zYamP2GofM7A8z9s9ptm6DVYXKIiEYN\n8Hf4OYMX5TCv399ohIbTFg7cUiowRbkprRQ2v2ycXGlvdaceGoYafx+yzCBa\nBiuNfDRp/X8Xd1xKmWwbGgGhhFAKMRgpB/MHVkNFKwFg87zrwI0fQwR7ZHzZ\nBUKezpQJsBZSZbd+ROqujBZk2yt8qHWxhk7mbI7xXCmHtXFSWdlHzq9LCLZY\njPCKk5+5gT5DX78fDUuyNO3A7sL29Rwo1K1qtny6vn2Tg7fiJE1IJWn5q7CA\ncEfCJr5g2DicOvr+a24/dhyTuikDm2/lFp2gcSHDG88g+bdt39CXp+v4fK/k\nyEoh/Uya0qzKj1cxC8PHyQB5hF3wptpK4Z4mOpfUrSk8nSQI98833IhU3QpU\n7fdr\r\n=Z2hE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBgQSQ9xDL3uj9zLF8lb5WWjrgvmEXY0748z0uaSajujAiA06zoKXH3mhOhnax1VTpL+gtnrOlgFFmarV1MAg/05pA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.1-rc.10_1629198592162_0.2562705473626983"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.2-rc.1":{"name":"ipfs-core","version":"0.10.2-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.12+438110ca","ipfs-core-utils":"^0.10.2-rc.1+438110ca","ipfs-http-client":"^52.0.2-rc.1+438110ca","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.1-rc.1+438110ca","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"438110ca4bce91dc771eafd9d6589573801b16aa","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.2-rc.1","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-z1qsEDDi9eHyvNZ+MiN6jIHqmWHPm6VbuX9CSTJVkMQZZQQ30rzGC8CoX7WtAfxKEtu6Pc6CotniwKCvG+5oTQ==","shasum":"b4965c77643c7583d2243d944567334028370b16","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.2-rc.1.tgz","fileCount":510,"unpackedSize":2225699,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG7HxCRA9TVsSAnZWagAAKgoP/RzyJ5dgfoQNSvRn2Gg8\nV1K+2F8fYcXSRbg54AoyELicMz1OUWPrGdTHnBg69t4IJ1HVUUb3VxdXM+zh\nLRJaEYDszR2GRd7gC53TPjF3/DBo0VllTeMjBMBos1vZFQ6ZtzlPTldxAPZc\nfxqzrKOxk8fu1CVe1Us4X4x8OAuZlaSbpbVDcSKTx0E9VfJNRJb6P6HAg80/\nRSkIeuNpwIYr6qxZptuA4j9MKoMYIESppvuW+4MFBuLlpp5wDbMSvyyG9g0W\nWHznwpYPoEBXgfvJkGvB6WYiJkx1+HqruVwsZsS1NFIFhhlfLTeGJGsTTVJt\nAutPZusuyMjVx0jCjuf472PSk+tdzOEl4qeidJDiYLPNBClXKTIa65tVgzdm\nAGBDELv/GY4cXv9Zts4I6V1E99CN2XzCV2FtHrFc1yZf7P9g4ZO53yfnhP1i\nbmt/5+ztHeQZmDIj5cJBKLHn2WvJw0GZz8CKb+Lx3HaqvRHn6qbdGZmp9H3R\nQU4hCm982VHzG0P6XquXdSuBEkG9AGsPvhZqW+ivuFXMhcYPd4tEV0tZkSW4\nfH5xhlfTS66UpR2xhAqPnStwE6S1fGohc1XGQIyU71xwXnlzDUGDCmKGZ2o5\nHtpNeDqEXX3Bczds3gTqjxXCTcBAV8ONdcCicfig8Oh0KW+mr9cKF8SuprrR\nQpoD\r\n=Pkta\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZ/LyDYEAj6oRmt3+IDkIOv5ScWDsBPkFdf70nN5zQHAiEAz0cD/D+AlsdWNrr28YyRWguV70wJsZNmiJhknO60XYk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.2-rc.1_1629204977304_0.23810998704259867"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2":{"name":"ipfs-core","version":"0.9.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.6.1","ipfs-core-utils":"^0.9.1","ipfs-http-client":"^51.0.1","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.0","ipfs-unixfs-importer":"^8.0.0","ipfs-utils":"^8.1.4","ipns":"^0.13.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.8.0","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.148.0","ipfsd-ctl":"^9.0.0","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"5d739b691addf328c2865e649db1c52a00d30711","_id":"ipfs-core@0.9.2","_nodeVersion":"16.6.1","_npmVersion":"lerna/3.22.1/node@v16.6.1+x64 (darwin)","dist":{"integrity":"sha512-rsQAx/J0OXGenbxTg9hdF0cYD1DOkhB0KzgFNSuB1xTmvjHDHwq9G2T/53h1ALegAoFENlPMbIWHPUgHymYP9w==","shasum":"c919745f7ef776fb2993da0ed5484faee5d3990c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.9.2.tgz","fileCount":464,"unpackedSize":2158152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG8NJCRA9TVsSAnZWagAAVLEQAJM/l0E1+gVwJsP80XG9\nEqhkhfW0PyXvLRjrGtCBmKVv9sxl+ncxT+FYHjcBgWCLWGsilUfePT/LKSd1\nEahoyWWQGYtlowcvFncd33iUpMCGqt1jehDw0Iao+fZpG9/xbKmvPvOOAsIg\noofK0DtosugyYF4xVU9xJDt+6sR7lTu0NFSZyhhfemYZLtmqFGuwnTW6Cq6P\nelGkHEOxvBPARg389AvCSQsXqApFgzjTkvXCn93D3CQikPufY3XOzwZkydmz\ngiaicUzsHnZBSM+DAN3B2w0I9nLotSQjtQFgCZokhc8ZsJW2x3WJ1OEeJW+9\nvYSyHE/HDuu9Q4bF3A1uu2lypNLoorYAVXkm1Voa2/D2NXeARSzuNH3pqIEb\nGbAgCIgrWThjy8ufbOzGbmRYsyu4dqKkmu+ze+W6noQ0HEkenEcEmu/+FnUQ\nUT94BPBArXBQh4ko5cp3+JTpG+Pgvb3Pnl9kmVLgxr+nJTGYy1V1gr7V0tHG\nj5ZahFOL3C5BnUFiIPKVl1AtNaA0QS/JgvG16LV3RwcDLGLZHOZxOeAvwR1G\nOr8oN6Vgda8HjsNiw+b4rqCgzX6AICF9hd6hv/AH1lrHgo3uniUKfO9eis8h\nB1DRH5FEadOuJ8YxrFC9Bbf47roiRr/ikrxpUuL0fME+4zjOmK62mmvVduJe\nMhJ0\r\n=szHK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHeQgh4EYdVZp0zt/sPqGeR8/7J61ouenaVYb5SeJEtQIgUAfPyZyBkMewUGs+nylYt7AjaIwJP+mjXN3aV8zDyeQ="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.9.2_1629209416831_0.57040491189731"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.2":{"name":"ipfs-core","version":"0.10.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.0","ipfs-core-utils":"^0.10.0","ipfs-http-client":"^52.0.0","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-noise":"^4.0.0","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.149.0","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"ab52012d0367e121ac2787fcbf1ad6c928d28479","_id":"ipfs-core@0.10.2","_nodeVersion":"16.6.1","_npmVersion":"lerna/3.22.1/node@v16.6.1+x64 (darwin)","dist":{"integrity":"sha512-VOlGFTNon+wvTfDDnQUVzOjMdVmhChr/Ec12RUtEjwRJXQNTf3hbPnKmmmHXtcoSp9IwkskEuHqmf2OOrZo10A==","shasum":"a2c9b8a3c9400ef72b54a967279a2c071aae8bdf","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.2.tgz","fileCount":510,"unpackedSize":2222535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG+9XCRA9TVsSAnZWagAAX7IP/AmDGr2tHhSJmgVaqfuR\nQRl/UljpDe7ThaPl3dOdNSFzwaBEoFRT21UTNMIPiaSITout9w5TE+M1W+IX\nNQTBdhSEZTdKuMVrf/4Xu5+4hXbp4LxW2H1GyUEguvX5Iq+wWzaJorKdCIPx\n7x8ts42BUmzP7B85PTL6/dfiyArfYWnUFoFO3R62e3FQh9fojE6m0+W+DcwR\nyCT6XwZ8DO1bJykN8u2nfS9eX65k/PtyM16SI7T1QERHIxwCaqotRa6wZ06s\nmcOB3gDOEcBhYlddOFHXEjedQnOaMTMUlvxdzJ0v0EUchrmMxEUJBFImu/Vs\n4QTBlm1abepviHw8IYEzkTrkD6c73ylpatesPcRIBmENNftlWyU7K1we+agY\nWYrOm2SiXY6xMTdf1stOOoQa0mxZuVKjflAqlwofaW8wATMAELDDoF5HHdE0\nWjlwh93MWg+ZAT6I1AQL8QKCQWFcPjRiD9hQtMCqxBW9vnLLNMz2qrpwIUs/\nVsDkqssdqcKohmOltWzaevo6InnAZE1ksOK2V0iuLwN1n/brR8MX3nO7fXh/\niYoOQKODk7M8pDIZ03MOupfF7cF3OYvJ59L+6b936BjN0+7d5sXyBpvY5C/T\nwoeNf5qchPTxHNvQJ8Xi7bN28t3xA3zrHgaea/EXCOX9Rdg7MdAxXhrZY+hI\nuKRq\r\n=aA6f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7jGyNhh3JRbCalaOmrS7KF9wZnAZMIhIKYQJrvgwnfwIhAMhbQE3PFeYDfZlwwqdN1eTiaI+n+k/ZzdH1dU7EZUQg"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.2_1629220695028_0.8537859290475178"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.3":{"name":"ipfs-core","version":"0.10.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.0","ipfs-core-utils":"^0.10.1","ipfs-http-client":"^52.0.1","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.0","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"20e7c54247a7f6bdde374025a9ae4a23ee8df0d6","_id":"ipfs-core@0.10.3","_nodeVersion":"16.6.1","_npmVersion":"lerna/3.22.1/node@v16.6.1+x64 (darwin)","dist":{"integrity":"sha512-OjoyaB1Uu7cyXDFjvGWV8R7wzAo9p+aiKMNuYAZk8Ilmo2JcXSGoLEGPjdkIOJsADqOvxtC8cAfptc3tE4V8bA==","shasum":"1ea0a701b2b0709c2f496617bea21a3a5f833e32","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.3.tgz","fileCount":510,"unpackedSize":2221940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHBT7CRA9TVsSAnZWagAACiYP/1UCerjvwGCRlFIsBEwh\nOu3n9ohii25nJL9KnhxMmeVhuJLlYUfOqUohP3IvYY5mASwTWQx38LvNALip\n3JLJUxNkFLQcDm5yLPDQGdXzx2xpDxC03kr76wVDcvixHXU33CsFBrMDw1Qm\nh7krPAfsycRx9SDMKCxT23431y2Pkb50JdVgCsspwHce2LwAAzd0IbpD88Wr\nY09GLxSxErQhW7YQhwPHntzetdk+/K4kqAjt+UoEFt/i1u7ikY95Nr0dI7vN\nVvDXdbV5bzCSdorkEhXZariWxaqkK9G3QhoCzxgd69ghdNCESoWl5GmkTfbY\nqfnMDT1TLT22nHT5e9Isl5D1yWBjnYc7B0gTttnurSoC7PBWymkMh6oakdEq\nxLETQa/Q6JvfVkS7NndKv1jopZqyn3Ur/8XKwLa9uvLl2ZxVHYDle+XZBurB\nfoRZbj2snPVFVVkHzzo3mH1Kv3RKyzAvmE6CXzAz+FEM5hbfWn1tJBzlHwY+\ndkQ3ly28EePni9ZnNIFpRgk1mY5fsq60A9U3p5FNGlYWrVS3amuxJAXi8th4\nPfN4Gcd1NvIw9GXZS80PKDbAL0SrAS/o1WpGPcDoyckenM3LEvN2Da380KQr\nHCECo0mvM62GPCdkAGiFUo0FG4SGhTPp1Vf99YrZWO2O83XKCGS9AaVnqevA\nRJeF\r\n=4Sj/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTJK3yfgl4et3uTrOstZAduL1qHKGxw+rMCKvOqdHaZgIhANT5bYOeiNV06pvmyk6/yofYAuIPg5s7mf10yckqUF9c"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.3_1629230330919_0.5222942909216692"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.4-rc.1":{"name":"ipfs-core","version":"0.10.4-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.15+abcca045","ipfs-core-utils":"^0.10.2-rc.4+abcca045","ipfs-http-client":"^52.0.2-rc.4+abcca045","ipfs-repo":"^11.0.1","ipfs-unixfs":"^5.0.0","ipfs-unixfs-exporter":"^6.0.2","ipfs-unixfs-importer":"^8.0.2","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.1-rc.4+abcca045","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"abcca0453a2b769464a46b23d1f45319d62d0aec","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.4-rc.1","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-8I52sd1Y3UTxxBmU2pWLYs4InhzvAdygf2mjWkbg2l+46c5uTqurs6XO2kvxQ5QOr/iyiXF+ds9X0sdIlwXnJw==","shasum":"061c04273f00cf1058088aeaac110dfe1f8d411e","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.4-rc.1.tgz","fileCount":510,"unpackedSize":2225859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHDB9CRA9TVsSAnZWagAA9mMP/2kbhpKnhPpnLP2ELFZ7\n6HZ+xQoWIWiPoltoIs0BD8HV+It9Nl8162na65sKKnAzBbM5QvXB9/P50dVt\nOYM1kPBu2B15WQWjvWZavfupnwDH86Dyv1QmgciAHEN4yDVUo3rq/EYZLOBc\nAs8SvmsQPDvfR6THL2nM00Uyy2AFpO+tlnCuHAulByhUvGyp1PgkpA67Rcca\n2aH71yEWkri04okA6Y8rGFStFOvw25ixhPIkd0TWBG3h6uc1Wgo+b8sn+GbZ\nkHCiXbW0zDeUbq4oJaQliYjv0cqqYt68GLRXwXkYlyR0+884+hWnzu4vVP5T\nuPlFjjVk+exwX2c0MkNEz1tA1c1gGmmmFEUwXIYuFE/9IesndWXLrCklKr4H\ndnMCQ78jDIcl9GLsC2IbxT/9f1KTS5DShU3bbBLfe+FKvWbIiTfbCeQXPPos\n30iSEiZ3Ib/SWE/v+QrMl6kNpV/qgW2UmhOczlTPkA5ERPuAHyqe0mUn7MJx\nNTNCwTzANi36UbAdnIjG1wCzxh+QSclE8z7tSzteBdw7n7XuZBg/ZfDiEkaw\nZH+5ioFTCf2YpvPrA5U6yg4c0GMUQ012GZ3Zq4BTbNvcODJx+x2snzeGvALm\ngV6qAweMN2Qi8GXcRlq/O21HtNtPvmpfgMBKusdYc3oofmlzr3c8txN8ouTn\nN5nZ\r\n=Rp9c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdfIYcglWlK6hIXYJyu30DUpCj10A+qC8Cz/JKdL6oiAIgaQ2LNyLVtvl77DAt4cPMeO8qmc5AzZGVTceJ0WwSpdM="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.4-rc.1_1629237373636_0.5499708727891965"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.4-rc.3":{"name":"ipfs-core","version":"0.10.4-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.17+beeeff01","ipfs-core-utils":"^0.10.2-rc.6+beeeff01","ipfs-http-client":"^52.0.2-rc.6+beeeff01","ipfs-repo":"^11.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.6","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.0","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^2.1.6"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.1-rc.6+beeeff01","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"beeeff017ba49c3a171d8990389a67eb5c3103ae","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.4-rc.3","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-1uTxlXhTayq8GLoTGptnNGbjAqJC2WMspn1ApJRWjLSoqzohp5PGW9hOx+0yKgNX1lA3w13bRnJnsljxZ3X6hA==","shasum":"dcdb644ef41ce0707ec628d83920c75aeefcd2dd","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.4-rc.3.tgz","fileCount":519,"unpackedSize":2263221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJfIfCRA9TVsSAnZWagAAUw4P/j8hk8Q0hYz2RYlyALZE\n96s+tbj6KeCfSCwIou2q+Dt8VvxvWrh8GddNu1TTwr8wQqo6YjsBy2/J5McW\n2uErjUEVtxvlIeDW9/mvcHYobmvmNyHrW1TVsXxmbXqjrf+J7DzU61hWg7Xt\n3AXvLtYH3hJM38663A8MWK4GRlw/BblE39OzCaxFdkphpWy4RR152ewnW7yb\nIxkYqg2gDbTvwXPhTZ94ypZMc7ypZilM8co6CYC1UY0d9aIlGGfWfzmAc4UR\nETrJdvGyG4LMNbCKBon9hpuRNO6gvLTPnU9yZ9UsSgZMLUBTdwsr+zyz2u6J\n41YpRpYXoheWOtBpSPj8Jaj3BIFhJR4dfm3U6jvyK0EsHRztbv16MpSiHtJK\nPO4nPQUGEvA23x0k+RreA8uo8/nPS2OY8n+YG5EfOv4H8NMj1GfJejDC9q+G\nKFiC7T/YROFyQQjAEyzKQDZbwQjeXsFQFCC/zuIf5XavS4xAKzETQq5lkgmM\nJUxCQIkag7d6MUdmiArCFLgckcAFuDxr7QF5waMylLMdwisIywwf4NlMxVbO\nZ1cyIxGHPucKj4xLJPfTLBdEhTYSPm7NFoTcC5zPNYxWBGxl4Gxz4bo1LUTL\nb3ixmJy+ZbqmskIIoU4o4CvZCJKNfwGG98dJ8PFP4NtuSW/hqFUlhivU86wO\nDJky\r\n=WV63\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrFxFbBHHwIenZKH5Ms7cINUcJpmoYbBztFJPogmzUMQIhAOxPt18k55ZNPChmsbD6ZWNP0UWBmyygmkRn7euFArky"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.4-rc.3_1629876766947_0.009429788250564286"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.4-rc.4":{"name":"ipfs-core","version":"0.10.4-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.18+aded7dcd","ipfs-core-utils":"^0.10.2-rc.7+aded7dcd","ipfs-http-client":"^52.0.2-rc.7+aded7dcd","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.1-rc.7+aded7dcd","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"aded7dcd65896586bd46024bdb562c9646056b7a","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.4-rc.4","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-vN9JGGZxyUpjG8N16TZqT9GWn+csqDXZhGLkRFOim98HkYS3INH4PyfzuQWKZW/AC2q9LJITeiFX6G3NtbllmQ==","shasum":"4ec885a3ef0d7b484bd3d845d5d536c6b157939c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.4-rc.4.tgz","fileCount":519,"unpackedSize":2246145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJgT5CRA9TVsSAnZWagAA0mIP/i8sEwMduDvG4QceThKt\nBfpGCGzU/5GINMnXlNLaIwbZWSjlf3ve2Tx5SWlwSRtOGEl4puMoGRRgZRsr\nVMN1njokhuF2IHZX6jPy3XD14+2rUV/Qww/1E2VsLzwkhhXUIcKadlWqCiZh\nMSoRe91PWLVezITuMSdKqjs+TRxxFNuwcL9ijLaccp9fLdSg9A5xWqsIDsTW\nsrl45/ePpXKaRtLjN2V973u96oI2UVhJ3yM28EV7XSbqtkUWehG3l9ueSmvQ\nJKgHoZZ2raLfYjeNpuqxahHbs3YCzdUfnLMyFOnDHt50OtebBdwrBpZ0WufK\ndsRSP0gWyVwvJBhBhVghtDx8Ofae9Wnm2zaykLoyzoQEonmlVUYgpwjVGE9I\n8IXDIf7thC+Pph+Rn7utfHgvr6FvCuRUPyov2oSTnsUUmGIjCDPhMBGLrXO2\nYvQM69lbdeR0qrvqz0BtexyMKi+HYyeej9le4YwsXxdKqRM1jePmuDULIyw1\nRw8fAgFQzX+RwwInyrGMDzT25X4ISnQRy6qZO3kgqpmJKao4TJ9zkDmlB8xA\n4X8KCu/qi1/mJtcBlu7IFWtWoEQ3+FVBMJVIRVNwS0eAwxojr8VYUFi91CO/\nLUkA56WgEyujUGWAqJ5MYkQ4Kpeb/sP/rv3DESmyHDQLNzfvC2zkPwHaippf\nYAeU\r\n=EjLR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxuVr7YZHqCDQnmT8oDvcHD1mSpP7HjVkLzMLYl1FazAIgYKEgLXSlSvz0lmRAQXEp06M2fifd9wuKTkR6tUQzOcs="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.4-rc.4_1629881593537_0.9677030519149012"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.4":{"name":"ipfs-core","version":"0.10.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.0","ipfs-core-utils":"^0.10.2","ipfs-http-client":"^52.0.2","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.1","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"6ad2b40be914098981a2dbd370396599a918d0ee","_id":"ipfs-core@0.10.4","_nodeVersion":"16.7.0","_npmVersion":"lerna/3.22.1/node@v16.7.0+x64 (darwin)","dist":{"integrity":"sha512-XVCRSoVzhFcn/vyhpKFS397KFGE1HtslwYMW1j/qC/E53+g4G5aIrqFLtWc+STbK39+G6cZyzBdnlyZwCB4Zzg==","shasum":"e5933477e9a39abcd12d4fc958c93e5c2a9d1a8e","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.4.tgz","fileCount":519,"unpackedSize":2284772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJmhGCRA9TVsSAnZWagAAz3QP+QEgxOvsGF30EUpeYSTU\npqtPtx5+qhVmO8EGo1LyKGz5ut8xGyCYLEldEQY75h/StCxZ1V6omKUN3cQP\nbIJQMmemLmqL9f/+iVlihxiVipZIv2w7aALGTrjdmKLbDijh/ENMcXwk1v/q\norjB3JGCHsuwyG0p61jFLOLD5WmtXeQlTKpdJuw9IL4iwABz6ZbDNRZxiMFJ\ncKMK0+dn1eqR/h6WkGg8KBYxqy0QNYE2jk2t9OUmkiRtOvFz1JSSabtg96x0\nMTnS/WVdC6GLktE7G46ZPP1vdWJqOX4zzZ0cK+ARNb5N5O7CkTgTw3ApV0vM\nKkBMpUjYF8j0rQRYaRWHltopAVvecey2rSh1v+4LnJTEQjeOJg9kpl3pwRa0\nLL+LVJCKgzM9BUu0yJeOKtXK26Iyhi/35VjEwZTJiSTv8sJd1g/tWd7AJiUq\nOZuWBzg6yWhcg0CkjOYs4MBvlMZIzUDdt8o50ZcyGrc14NHn7vWicLgz+fV+\nMTH6jlkv+vrtGk8IGeYFCJuZVJofztXYCfaxE1APj22GRLZMKlSKrAhYtmFD\na+T7YDR4paJE5jyhofM4GdRDg0eKEfy/qTy7R1h3pFBt0BuFaEHRfrjMcotp\nlekP6rbqbjk2Rt4/2Bl0cePa39ic9CpWp1hGX0EYBG47sGYI4etb0vwSGCYF\nCONt\r\n=Boa5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2sate3XIh1usuL2knD9HOfckbuJgA5gLu4ig2ds5MEgIhAKSIZk3eoX0h70PX+6WDhhAEKrJDgMwvdEiedkJD06tk"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.4_1629907014335_0.233558246920877"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.5-rc.2":{"name":"ipfs-core","version":"0.10.5-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.25+ebb6c552","ipfs-core-utils":"^0.10.3-rc.2+ebb6c552","ipfs-http-client":"^52.0.3-rc.2+ebb6c552","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.2-rc.2+ebb6c552","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"ebb6c5528eee66d07ee64c4ce105e9b1228cf857","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.5-rc.2","_nodeVersion":"16.8.0","_npmVersion":"lerna/3.22.1/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-ujpwHF8gZEF8w9rJLleOC/aNcoIPTW/gTjVvY+1xO4nvOvuVVkB5paOnwkEjYUbE0slAmhSS/FnuSF7JWRLv+w==","shasum":"71f9c006a8f962453d784047d069ce102e0b02b9","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.5-rc.2.tgz","fileCount":519,"unpackedSize":2284925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ2NxCRA9TVsSAnZWagAAN7kQAJdYDp+i7ZIINMqKKbxv\ndb43cSVIr6+gUVRYlW9TrqGmnl/wt1BlkR6D6Ao/IQlKD4ae+TMd/U+KX5vM\nmmSUyvDsFMWSksHov8my8fF+sBzsn3a4eXpTIydhgs9N7CW8HnZ4tpTQm2Ty\ntHPZfCINQIO55Jwp1B1qPTd8/T9+wntE5fl5QMbn2URYf6A6B9vphxa1nsXM\nltmX8HnFMx8pvMjgHBJY8qqvVsTFcM9NxKYtSNeScRd7vC8bgNjGvc/ctPDq\n8xVyo91uc4Q1FhYlBexS+cnJXiRTx3DTV1iQFv2ZgL8ZciXwy2LCNG+ofEpd\n00BdDGGDdcLkBpamAo6X/S+GWeWwpdRTF7/JdompFavVPyj5HbTaBsBMApnp\nC2/iNf0wvhDd5Xd8+gS/J9vP77fl8OOIeK+YJ/InyFQYttHjP3pXeIreHoak\n0WvYP59E/Ea6qQCKIkDJnPEsrlZfypV2j7FEp3k1hmeJwOllb9vqXVGpi7Ml\npGI2MUlIpOXgdkBfOUDtJhAeN3HmdPTGwMmH7gfHmuBElDwLE+AE59LEMyeT\nX1XQsfeNhQbh79IoneSvyLAyzCr9xpN0BOYkvVfHZye13XS1YG3HNFErec92\n844wiXqaPkRMDBXf0Ah30y0RXS+MBphvDrflUnJWEoIu4Q8H6sXOQZoOQ1PV\ndJAG\r\n=C8x7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICZA/BH8aHv62Ff8duA1s3Tqyk57qYoa8enk+UOyuWCJAiBoMlAwY3RZoH3KOIZhd0dieGGKnTp0Wdgis4pnj+zlFg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.5-rc.2_1629971313126_0.3967617563244972"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.5-rc.3":{"name":"ipfs-core","version":"0.10.5-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.26+6c46a3cd","ipfs-core-utils":"^0.10.3-rc.3+6c46a3cd","ipfs-http-client":"^52.0.3-rc.3+6c46a3cd","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^34.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.2-rc.3+6c46a3cd","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"6c46a3cdaf6e9f8756632e501019923a01503282","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.5-rc.3","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-6WAt4tvZQKGQOEvpbtulYx6B8KbAfkSzCgRmzOz/GBHf23bXQXCS5EW1pd+VSQSLaK5/f/Cy5SBWpHVnD3FA+w==","shasum":"d64ae96bb70c8c8e1c304123958c52a9b16d86ae","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.5-rc.3.tgz","fileCount":518,"unpackedSize":2236060,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ3agCRA9TVsSAnZWagAA3C8P/2GC0J0b5dh501qh4k1f\n1d/9Fj91bghRUxdlc1pkyTyV2u+cquq0v5tSQS7jq+idNX7lvvWgFsKFz2t8\npwqe/NAA7NtRM9EK0OFUGfVc8uqlRkHUKYziLRtD7ptXOOHl3GuyK0o62nOU\nvSn2bI+V1xYemq+FnbrkZwGihBmJfxUaNxNoaFo4Jtkm9prcraXRXUjxWQiO\nc2KqJb+qSSIaxbGyUrCq4cU6uEnkkdXAtgLo0dran9SjzEZjcPhcaJ2qopWu\ns6qLjqbqTGM4qXOmK0QAqvm4lHJb/U4frPgNaInM/VH+8TypsUApGz6ywitl\nIMT7lIuES5Dz63axLRpAgbHjApu6FU3BUipp1Tde6a2zMNwFI2rSNR4udra4\nZln1BoFeDFWyG1Eouo5VnaaffazZha8/dRSlmEZYvzsqnWtj7AHJKfqMZYOm\n6mvcQCpwb67zwDtEjk8ESVoPYBcDM4iBkf20x0s9LY5v5tNvNdOc8+8USFDA\nrfEooP45HeLnD89QHYwukndf2nm2RQQAH5aIxzvXg3zPBkxfci4eQnbPw8KF\nPlmJefBCu70D6r4zMJS0ycuM/MlezRNY9TKOFWRL+NKUGUhA6U6l01u0oEGr\nVjx+CsM9Kk85nuTuV2DEJORinqmU2XT4C/FooDxRaO4VH9rgVjlLkU7LwJ7l\nh9a5\r\n=ZTEW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFHobo0rePDlW5iCuT8CtHXKyl10jnvzOF/nFUJZ32tvAiEA1NjCTSDYWKBiRWAOoSOdiG46VbHh9eO7b1mSNdzsURk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.5-rc.3_1629976224417_0.37205306971488383"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.5-rc.4":{"name":"ipfs-core","version":"0.10.5-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.27+1ae25d01","ipfs-core-utils":"^0.10.3-rc.4+1ae25d01","ipfs-http-client":"^52.0.3-rc.4+1ae25d01","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.2-rc.4+1ae25d01","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"1ae25d01d93d192d8242c7ee48ba338064ac9e03","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.5-rc.4","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-SZEX+skSeaJS6sdCgdFlzb2N7wPLuynREOM0vdWg8li1zn8WenifWACo1exINAqBydd7gH/WYzga4+K+LkunQw==","shasum":"151da18a8a457734abef616529eb7ccd886cdcaa","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.5-rc.4.tgz","fileCount":518,"unpackedSize":2236060,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ54ICRA9TVsSAnZWagAApkcP/3qsCaVtUSnyZNNZseiG\ngheeLF/0BY+KCcQymjslKs4cK8FAf4T+qLNuainQ8z/Xo1lnEbt2dXVm/EAE\n2p3+N+ByefYOiDdXdNM7sxYWo6ePrzfvJT6mnyp50C3EAJbJqbDKClbvzJF/\nsMV5O9w6YrrYVqZZ4SnWk2J0PGo56L8ymsKkI1qUJJw/L9WyU8Lvt4g2jVWC\n762SjddXwaC4RqvEhdGvOkx13ytpMXINkwYs62gzbWIWXKYsIEG7ImrDzJSR\niPuGYQnNRy56tLI5Tp43KEDjoWRevuA/drvAEhHxs9WyRqzIJugz7q+QcZR6\nvdyVv8BeKXzGrGzl5sMQJ4BVYYBWBnJ+OMp6Zd7Hs+mAqOcY9cRSbix7r0gX\nOYc5dTdpaPTuD3w5n+HJrLwB0fvFLtkI6CrkOaVIdc738sdJIGj3fn8ON25X\nVC2+DeFDy03odi/SrwRvD5vDF8IGZRXVMJQySq7BNd93sm8GHKy65FAtYgFm\nNGtkT4awMFsGjAGrCaJ3jwN3ewG2eyQ3JtCHE04lD498SQunr9A5uCImjeXZ\nIGamUgQ6+5Nxo7yhlOFQnQ/fR5UuH5WsWIcz2JLrroJOoI4ewI/Ot07vBEFc\naWFSIiUUrOmG3Dxjl9caIce66AQvDc2Ku1hVM99HckXfdZls7spqqCuou+jz\nnNf8\r\n=XaoI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID3lnhygImstJdzAJ8bdMDoD4P93ZT5a0qfctEr8pguzAiAd3KK7tdC+V8xK+y12Zs5I0yfjtZX0bnKboc4pHdMmvg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.5-rc.4_1629986312668_0.2795775055066363"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.5-rc.5":{"name":"ipfs-core","version":"0.10.5-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.28+6737f38a","ipfs-core-utils":"^0.10.3-rc.5+6737f38a","ipfs-http-client":"^52.0.3-rc.5+6737f38a","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.2-rc.5+6737f38a","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"6737f38a27cfd7a7fc44afeedb1a7465cb17a3c9","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.5-rc.5","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-ETC0MSCkt0A4jWF89mueCRLB3BSubSpqDi3khMHpiEG4GxoaBeEsnyziS1jWvW6hwdA+wFJE/quueDk79yp8ng==","shasum":"76f5293ff48cbeedc9b7e2523f032ea1f3836823","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.5-rc.5.tgz","fileCount":518,"unpackedSize":2236060,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ7ahCRA9TVsSAnZWagAAE0AQAJS10XW46u6ed6vbfy5H\n9GF5DAmKWkWkIhLpqr7Vud9h3EHfCgLgdbTsbph/CfJi7vYHPC0uMsfcjiOY\n8NQxS80N++RA7sEYJnrSDGHiIdTE01/QfifL6/2krFhCPeAICn3ARn6JGtiR\ndSmWNJWfrvzj6Kpes8Rh2C6sdYbP+ZNytI/ZdGxFJeyNk1QlFfCH0xLCgXu9\nGV3h0vWUK+ozLi+CThecS0Nn7YDylzPaUdCzZonpZEAuXKGeQcybJaqh6WX9\n2FRKcuo7qN7cCXbOLmakDJOKHMt6wd8XwZCTezTvrIApXQ3tsAKckrtNqANE\nE7rwO4G5YUBcKTHsHNVFP5mWu0DPH0Q/zkmRK1Pnvpgo0Gp4hGrAPB3Xi5sI\noFZIbbP7HJjF/iAsSwcR15lwNyRsN26LnAgebuKUddsagUU/DcnkCaIRbM09\nqxV3d7ZPdEQt3YHQPuDUcoti3cugePBtorsJGfXqIoyMr3c2Qk8DfZm6srAi\nJHrPIJSRmXVYZA6OPirUgK6J0XORJlubp8U7gCsTDAjgqB/pwK+cBJ30lWIw\n8YOGd92jHs0jpgo/sPQxuAGWvSuw6fb6Bb2oayWvmNW3Bd7Kmib5yJ4j/o8V\n02/WgyyHQSEC4Ef/VbbI4XbuQqA9rgnYWzZtIu1nlyHLrR6GFP+eIxyNvXC0\ni1kj\r\n=IA9z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBo9vAq4/pymHdVSLUimHjEVpimbF8iDCiqsswu+RDJIAiEAyqXticMTeg0BqlPor//qvBUf1+jjT8kLWW3Ou7EROjc="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.5-rc.5_1629992608706_0.40621406856048914"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.5-rc.6":{"name":"ipfs-core","version":"0.10.5-rc.6","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.29+100f54f5","ipfs-core-utils":"^0.10.3-rc.6+100f54f5","ipfs-http-client":"^52.0.3-rc.6+100f54f5","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.2-rc.6+100f54f5","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"100f54f5b6e29ff64d9afb9c2c326707c5097cb5","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.5-rc.6","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-iJ5rWOQhkz06vqpRCSYlH29k39CUAXXiaTwq5algy2otcgvC7wTM2OIfqqZe08TqEOpk8njPcOqat0KWktQMYA==","shasum":"bca484d2280b053ea346bb7d03a497af8ad58356","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.5-rc.6.tgz","fileCount":519,"unpackedSize":2240355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLjARCRA9TVsSAnZWagAAs4gQAJb+jyDq9CGYCAT4lHhd\nWLOkndAXKaW3s1OA5EVQjKegva2+Goo0veSIz4XlFqYf6n4eLZj5pLZbWGlW\nz8EgvnWfnQGxkNxske8F5G4uF+JxA/mSnVQ5zODkc9xHPmpPmmHPZCDfuROX\nn+GxXxBIDuc5B9NH5D0BdGQM25LPF+l/4e1NQ1C9hAI9lxhy2Z4nstQsfAkE\nuSVIm+J/vXon0/JX/Eo9wc1kEvHswcEgsCAf6K9dLA6uoDNYMRaPcvr2SuYZ\nffx0jLDQAe+G3F4vskw4E7CN3wd96wsStTH6hITmWtRO9msNE118E7ahdQ4D\nSQYNrvFCAXPEKZmETwu4TesPejoaCOirtnAC+6HQpD2sj7PCDo//nYoQ5Co1\nxzNHOs7k3gdTR93V8tCaGWZisn2h0TYFlGh7tPgb6fzWGNicCf1pX6jo4nUJ\nqMLhXAJpqjjXrt6UCUOoX1kGSqQbG5E5FNx4WY4DU+pwIgHHeHSL+e8brFvj\nwYCk/Z8ydULP263dHsJBYAJ/BHtbZymiqqFW8Nkaf/vXT8G1QR85OKAVZPQF\neXWMIQheyHA1AHgfOlWXdnfmi7Qi6N11HqcXV/jOC5cXL5CRxIdLsWs7dL38\n3e6k7/IfNFx8WgBxgAThUIuBW0PRu8bSyizQ/u3uOOgA6dcFjtuvYdyoOiaC\n2b2R\r\n=k0on\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDYXwD8RiYb0iLxEQ6FemekhXZVfNbx7EbO+ORJVrmufAiEA3z0k3XwI1seILh41ySIBqY52JNBH4OIK6fd1jnoBkT0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.5-rc.6_1630416913290_0.5424878338400254"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.5-rc.7":{"name":"ipfs-core","version":"0.10.5-rc.7","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.30+be900895","ipfs-core-utils":"^0.10.3-rc.7+be900895","ipfs-http-client":"^52.0.3-rc.7+be900895","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.13.3","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.2-rc.7+be900895","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"be90089554b3ff3d7adb02e76076e5cfa1d82572","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.5-rc.7","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-emI+K2KvSSjAcyAlFYcPjvEF299gU6IenD3QDHUaazjICsy10VbOssbjfh7qlTTBByDXonYNejERUv2zIaZ7dw==","shasum":"cb7f7aa71f0b416b1b6e8d45c476bc7163688331","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.5-rc.7.tgz","fileCount":519,"unpackedSize":2239763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMOb/CRA9TVsSAnZWagAAeSYQAKRS7b0CSB5o65WTei9b\nQFwjdjHcVAxx727fYNYaP/AKEspjKY3z0BKg/WKp2YWDWvKD6FRp5KXhJv4R\nvNM6cnVZYX2htTDEuXgSgl7KKEBv3EWBIitL3EqZB87PEwGTyDXrdL+NZ6V1\nk6JrQyb42oo00pZTRN26L6Nr7UUxYI8PlIEFbQkEZOiGey7ZxrvIMuWJQZ24\nXG6eJoHddC+hIYTwoGsQBYe+WJeWegltfPPnQF6cZG+eekjYWvr9amnYp8Rm\nay6smVaA2LHWM+9E0p2ivYDEqfoUXhiFeU8B55PvIiV52Laj/S5KsUMAJvNB\nqjSLH5rE76HfPWiRWXKWHFgeeg5uPEvLqQ6wPEfY9wjrju3BuU/7qUxNJX+l\nFXXxggBMjGpIiPUOh1VwIeo4olhv3MP3nKX4cr7wg1OEjUFx/wQtggf24QQ/\nOM5seQVJUumA3/riDqq1OmWLIWxCQzYzMe4VCesYQAEPt/Zhh5+iJS/YdDWm\nxEmzWdy12+m2XxWXseNcvCoXzvyL7Tk0DDWifSkVoyqWDxZkFs71Pvc0rI/E\nzJ+MIlY6xxFdPVwFSldHSEQt37WF8KNpidxyQiJUr0qKtsxRkfhC6biEzuAh\nQ6unxGzKY5O+zPUXK8yIYNd1LpZS9muKRuvzD/jtz3oSs6RwcaEvjpo8oRv4\nfLOV\r\n=Xb3d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9ejCwpCJJrGszk+eNKFyTUnqaqvtK4vdUcszztPiqgAIhALm4snON+AHR4Vywl2KLlantP7CBM9sTMjnMG3sMQjWx"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.5-rc.7_1630594814876_0.88980750543316"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.5-rc.8":{"name":"ipfs-core","version":"0.10.5-rc.8","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1-rc.31+c4f96fac","ipfs-core-utils":"^0.10.3-rc.8+c4f96fac","ipfs-http-client":"^52.0.3-rc.8+c4f96fac","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.2","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.2-rc.8+c4f96fac","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"c4f96faca331a2e0db2d6de35a804bf2b9457c80","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.5-rc.8","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-FtociiCpWNt5UvQrIrZRriD9J++pE64WLQbp9q8PAM8oe9glvylsyTW3tHvMXTkKuuv4cYT3dBE9tDqb11EiKA==","shasum":"c4e2825e513ea7890ed95c4127b233fa82e75ef7","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.5-rc.8.tgz","fileCount":519,"unpackedSize":2239997,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMQxCCRA9TVsSAnZWagAAk0AP/Rl2LZ1PO7S5R5LNQs0b\nIUboqbC1+ogvd0Vn1y9aulIwP13HDZsTw/2r/Sytx61GZ5yfHuz0zkA9LwBL\n7SjnEYSDZDbqSA47YaRvTJqjpWfa2ISkCy1UqgFYGYgKlsBZdZ4QRT+AifQi\nbGahUublIIugocG//6NxXpKaPMPQBBDVFjJRRCBeFUwEmNW9hOI0/i8OcCTg\npDcpN8s+N7iCL5o1uChYHYJ3wNetNLgpQdlJQGVly+tQ6ku76+KazrQsETvw\neYnSDMUtOfc4UCZJCK+adQFK3aA0SO1HkQDGEBpaFQsXHvJUqiepWP1+z2s4\n7B7U12rUSePX0n0S6Mf7ikc5C/PLz2fmv5MB9cjCVTzJl89uWaPpBmEYb4bm\nDb7We+dcf+rfoeHaX/Sb6Eei6gzSF/hLrRgbp2vnIllIq8/DXidzClLsNPgQ\ndF16r4Ge74oUeRNYnBB/5SZet0hiTISaVgmsRcWyucx6einVcFT+QdFDWNJG\nwdv+Tpnhp3G2aaboQUYJHhR4UvPP4WuuxYg7EmeD/gCbcXoQFri/vWXvn6B5\nYtoR5MtUkHNkvgqQbOLiUKri9qbJvSEl1ZGtBjw3rJIi7x4eG6jqHc/cISZN\np+0njtMCmXG/hOvnd/v3z9TBsC5JECSgjcu9bFvq1dqz+BGDfFsoYNg/dMPE\nIQFv\r\n=NYWA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAcQdzMKW0lH+dfiLKk3sqUDA2/dnsGu3mNzwmRM1b3iAiAoK2kCabSXsbUDcIGicobKaZbCGPtKEDYUeVbr2RO/wQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.5-rc.8_1630604353739_0.9160297401963773"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.5":{"name":"ipfs-core","version":"0.10.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1","ipfs-core-utils":"^0.10.3","ipfs-http-client":"^52.0.3","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.2","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"9d92e8079694dfbc7be262021cb9d41e6c5e2c07","_id":"ipfs-core@0.10.5","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-xPm+StyiTy6fRObsexzTwH86kHxpjXupiRW0bSPkWKTMPaksdXxZoMsuaj7Hfo4DwrmQntoZBlDkvzuvKshvlw==","shasum":"90d24e89a7f061c06c5b18004797874b10919181","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.5.tgz","fileCount":519,"unpackedSize":2227793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMRXsCRA9TVsSAnZWagAAJH4P/iz4MKR64XpDH+7X9/QO\nSL0aVl5CA27bhvOkfpTbJWbXXxhqQ7jktyQ1Oj2F7ie6nQZ9UJaOAhvvjHQH\n1Tcp01mjws1KgqyUC7D7+OujxxMCgoakpi8+e46ADFgYXurzhjq/Fw0QidsR\nI4YN2pH+wACPyDPU5Hppo056Tp9bAYhLYPFSDEcFi8QXvRtjyxGNhUSdoVlA\nSSSFoud8Kpn9Y4m/Ua8Qrs8UOBNOysvS6jg1b5Dk+kGnnyrgqxCgtsLh8GR2\nY7cT6/po3ufQN3WSCqQVPvFA03A4liqtFZYQUVGrtjTQdku0d1vXj+6v4pTm\nJATmAztnbiRmw5a6wP5MNEx1DGZp49KT7re0H9u4bFJkdm9+UHnWLpjeuULk\na/EF/to4L36DgbOjyy5uqYUib3/BNGmxX99gCMcjXjJRaBQaklW1D9nfkGI9\nOE9KHUP7W7x5G9r0IwxgpGovT4UsbRRCg4iX9a6j8dLxsugZWYVkJmOQYR1m\nZBxoIUX+mSkum7XeWDiOL9AKZeVd2JZ6SyM+vyUJqVCjW5ibq9IGm4LIcR4p\npoQFH2HuUk5pOB4bVrnMsj9nlbvPKcJ7brvmsBA8UPqtlvIVVLM5iWmdBKIp\nP1KnVvsU7iEh2TLubGhllB9Ihki0IoznkqNLF3I1aU5ls4wzTe5MVWGZuugc\nMnlX\r\n=o/6J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHuol6iZ/3V6P9vUEnL4OfWYegXz/Q0rydLYcVSBtU8wIgDmi7aMdMHKN5Vhx4dHbKNq+hoZ9FGdFGmg7yIFnGX4U="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.5_1630606828514_0.5192669529646059"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.6-rc.1":{"name":"ipfs-core","version":"0.10.6-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.2-rc.1+5cd78e56","ipfs-core-utils":"^0.10.4-rc.1+5cd78e56","ipfs-http-client":"^52.0.4-rc.1+5cd78e56","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.3-rc.1+5cd78e56","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"5cd78e56b8344b3f71fc7c578c4a50d92c25f0e8","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.6-rc.1","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-Kk93Tz4eJXMYEMTJupOKG7jugQWh0chlNm9M7ryoIihvCUCzavvs61dqyjSuZklG0Lczit5XtM5iNO7VbZD/7A==","shasum":"372f81b24e207f80e8b2de44a924ba4bad084654","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.6-rc.1.tgz","fileCount":519,"unpackedSize":2239503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNfk1CRA9TVsSAnZWagAA35IQAIBsBbQNvIVq8T17sdSy\nJ7ItzFCN3z0Kkg/mrb09kSAFFjTRxbxUoQ8c1T+ciOxznIhFph8i93mxefrH\nZeajFQlAEfcjEAMFaaYrCRvdoci64pgYFnL6VyjNts7dwTqN8SYDjdD7Zr2X\nRTemVl1M4ZKljH4uOKRQvNGFU9SA6MY7DjpCqcQyITjCO3SMvexYx/eks/3O\n/Pn5GualzHP6Z7tKnzDhIDrbcy6960OC5VVBbdltoBke8NYhXxOzK6k4gp0r\n96NqJGs1KDj5YoiLHKbKi6TFNxoTpy9veYve0JMpQFpTMUy6cqRoCaBONayI\nKf0QCYktmkDlUgIFIxrf/ucwr5CWCA50mRUb5HrtHZQfo65V394yr1ILBCaA\n/KVUj+TQNjNz9uV/+9/hHr44SXn6zp5KQ12MDXeyMClYVXkdIIFcQhtnOcUf\nAhLrJWNzcxOzeGsxMtQ7JseaWve+Q45FrZMrk3Uf4k+X2y1nPhZZ4FU3J4/X\nb1COsX4jpJRodt4gBaMKGruy0ymj5MOqKbRr9zi0EAoClt8f2SoSdVgS52/D\nwC1r85PEoWsLiDpgLhN0Pkx+mi5Dzqs3ZAo1TimAZo+G5bFIBo6JX+s3aJNN\n+Ut1hZgph/GNhsyVy54sW+aNvGWCgBXbbUXYjD9IcdWGpvBE1g4BHvfVhCPk\n+yIf\r\n=lF8i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZ2Y9obC9qaudYpPb+AyT52wZutwd9nxaVqxcDhecyCgIhALuToSnl3MsAHeg8KPZcR5rGQ8LipvUf5617+64ET++s"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.6-rc.1_1630927156927_0.16248562028328206"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.6-rc.2":{"name":"ipfs-core","version":"0.10.6-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.2-rc.2+2be33543","ipfs-core-utils":"^0.10.4-rc.2+2be33543","ipfs-http-client":"^52.0.4-rc.2+2be33543","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.23.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.3-rc.2+2be33543","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"2be33543a07c14a604fd484a481032dd75fd8235","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.6-rc.2","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-NxvN3rSGPWZn1qBLCWq5ZfIqLkd/oCC5C6iulpTO3fKC+4vk6RT5rT3isSZKRCH6JhBDj4UyqgE7+3+xm/SUug==","shasum":"7735cec7839ceb6b4693f2be1c4d3684a1cfbd81","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.6-rc.2.tgz","fileCount":519,"unpackedSize":2239503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNi19CRA9TVsSAnZWagAAQmoP/3a4et436nSaTb3tPfaU\nl4d0aTgASOqGPh4ovTM5uLcNsaKG4+wETR8JjgNSYOmRD5EDI8AVRe0Gx75w\nBkuQAXb2IJHJ+qZHQiQvAqs2dBwg7SDyngTbZzPPGxlTvV6m55yn3iSzh9kr\nhxCsXe/piVzsPKEbZW6T7/dSO9z2J2jyTpovdVrBAJ+xpVyIeIpEM0rztTjR\n4t9pJjbWlhAPfo+CS7tcx9gR/mwTrhyDsQ8dQd2lRp2HE8JWmcJzkhfVqPck\n8+tsneBmYp1V1mouLV+0UZ+zYxgqYjzY/SMh0bv3xeJUkIuKOT4AzulVH6Ro\nm2ZJV68aUyWMB+B3JR+PDCFtnFjZw/IHJfJjI6cX+kRYX71geb4gwtPj24zk\n8pDE8tiq3079FowyIiOy2MocQ3ywqdqXz/TPcVMW7RNcKZ/2GKW+hE+djBsa\n/Q/nrcThLNIIJ2bzAAHyVOqvo/bRR1IGnSKw4XgYLoupSLaaI+D0DmAGGEDM\naSw7P1j1sqjX7Irt8qkOA0PNrFsbkgFyVHtC0gsfiHD3mAP/tIwLaikenOoB\nv12tOBcp5aCY/HqHgJiZv5lO1iDFF11vCyO4aIcwYrWXdqpxKUCDEXVKdo33\n8Xb47VBf7jRTdngs8EVKUiXuCyiXDslaS2uGrG+S6g64eg/tGn7XlVitwBRY\nFKNC\r\n=wCFQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDx+ROBL7FnkEugMBTCu9Os3Mu9UJ8od75eEYd4pl6hbAIgcaX3Z/Lc+mHa3e837k7xz1PMuty4+/fS9Z+PDnRt9/U="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.6-rc.2_1630940540991_0.98394122288101"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.6-rc.4":{"name":"ipfs-core","version":"0.10.6-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.2-rc.4+84c772ce","ipfs-core-utils":"^0.10.4-rc.4+84c772ce","ipfs-http-client":"^52.0.4-rc.4+84c772ce","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.24.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.3-rc.4+84c772ce","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"84c772cecffaf4deaf967c0c4e9d49c3dda73237","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.6-rc.4","_nodeVersion":"16.9.0","_npmVersion":"lerna/4.0.0/node@v16.9.0+x64 (linux)","dist":{"integrity":"sha512-/GbeT6m9Ouj7UDy+MIH/UHC658VNT5blYPU7u1BDlNFeA1ab7NrNk+UFfaqRqNAQVZQ3VL13PRcAKHJx1xucDw==","shasum":"ee1142609eae4d81f8ed2423ae3815ff57b8fcc7","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.6-rc.4.tgz","fileCount":519,"unpackedSize":2637181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhN5uECRA9TVsSAnZWagAAf3QP/2ftwbsf+W/xU4vvrvn/\ndEOa2Z8z6D+aaXtBqmos7SVT30e25TBBDWQmTJYjD3HlCiqjrkoOdac2MygA\nGwDc5/uxlK6zODAm+hTrr6VT57Elo2GZd6T3VAsN0IVYlfzBs17Y04u+jdCm\nq1JFCYfV/cbKjmApXgRvQy/NDfSnHElWD3NMwN7fOKXgxYCcnBk/9b43coLp\n7+09iu3mtBg9ZLjyN7I9/n0QjH0X5nmQhvPhjyhHKwpzuKkY/0KjkhZC4Ibt\nM/3LlMkHKY+RAyu4EcWrE8dpLK7TrNb3PJlSQYZnPnzgtkSeFN2W6bQygGB6\n7epWOHMt+Z5qRy3/xQkI67qfXni4gkF1pWqmwKcymiEijndH9YdShAcpwlfB\nxr2ur3/ACzp+Dhb6lh73WVneCMkYDfZMkyaLV6x+DHR/GJeR1dbIFrhYKCWF\n8hAd/5/5K8Rj1ecz8TyScx+vtnQWG3JnoH7RCpw1xNiPE5VyDOl8CUthZNVn\nZgyGq7YcJDB7nBMpnrgtPF/75vp9HLC1BDOxpO3CZwuL57RbMe9mzP3axwbk\nq5RXi+owYRwMyB8EsWbAcInHGeyAZd8hecX6kKhx9BOU24IzF016mVH6HGAZ\nH5zpve8l+B/+6KH/pBMrJn092tjNBzB2rlkT/mweIpgqcTMLdfZWFVlUvVjk\nCd5T\r\n=H63R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOA+Hgrvpwd8po+wKMo+14QHjMaQjWczR4q+uKE3ClbwIhAPULlZvNwZe6KLeX28vrS36VBVE0mGP9EQG0v1ImmvFY"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.6-rc.4_1631034243788_0.6752775253445316"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.6-rc.5":{"name":"ipfs-core","version":"0.10.6-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.2-rc.5+b072ef16","ipfs-core-utils":"^0.10.4-rc.5+b072ef16","ipfs-http-client":"^52.0.4-rc.5+b072ef16","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.24.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.3-rc.5+b072ef16","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"b072ef1635759a3d64e02afd7a6d853a94cc06a5","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.6-rc.5","_nodeVersion":"16.9.0","_npmVersion":"lerna/4.0.0/node@v16.9.0+x64 (linux)","dist":{"integrity":"sha512-ClTxdyndlOH0v9BTg2k8hULueI+YeKYboCACVLAQd/7K42nvqs4/jc8mwXCQEyZM3GRiI+52ZYum4cz8mTPhRw==","shasum":"d0a4db34189c42ee91bfd511d5fc25b3e7bb800a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.6-rc.5.tgz","fileCount":519,"unpackedSize":2637181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOIN0CRA9TVsSAnZWagAABGAQAI8L/XjnbaJWbIyEOLVz\nEdZWtmxcqBlkSpxfs4ZAZW3fGfD99Ykj7GXgWea6EOvNp+FJa4aqTHqWCc6G\nWRKtVTec19o7KwbQPa+hcWsoJUmUVLujApxhzOw3SpfxyxapszEvJu8MEaVV\nypViuTv5P2u3caGMApjvoqI/awPbOq0FEvFVEc6lLts1Xwy/4urFNUog4oRS\ndEOnv6u9cT9dbYkjmHkj8hyhZKwKA/cL+ZoXc6LvGAo1t7EjDepwyZd3yxqY\n7eJzBD0omMyVHhAPFCSBIOh26pCW0f75IbNkRWvq8N6I6f519Q9suZKwLQiq\nod2Bx1ja3Qg6x/yEwrqMqTJdsYu1Wcenx5Ygxgdh5HUDY5mVczEpRv6zXQy/\noVjOBMQvDcNAQVRRB9rQX6cHCgmBZkM3ULSpLarPlCiAdpdHoaSzUTCfX67e\nXZRQdTyX7pYeDE5USamRdTISU+9i8jIJmmepBlbFHhAChsXzJQ7jUGv6DXle\nU4UAWBeoAuwXe2sdQC2GJFG91QvP2lq7pz+mzTC0jpbCS464Sm8UO7VKyj+0\ndAfs1GZd6chTYJO4g+JyWx5krWWK8+cyNp2YpgG18Y/KxuLquRhJY+pLQJ2m\nYZIbK+oMtX8zNNL0WYFvdNW+36K36lLkNzbnteB8ogWxnf/eI71GqCaHPDHh\nk3d+\r\n=pQcr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFlrgufR+5yierPcKvj+MJYIejidRBRErfIIL8/Cc+3QAiEA9hCUSS8h3AjxouP2D3E33ntpwJ0ndUSC4PSOXiqINnA="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.6-rc.5_1631093619959_0.5502098130920816"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.6":{"name":"ipfs-core","version":"0.10.6","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.1","ipfs-core-utils":"^0.10.3","ipfs-http-client":"^52.0.3","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.24.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.2","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"7555dc28a904958b375c4037258759061745b3b6","_id":"ipfs-core@0.10.6","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-jB4MSZVL9fmoMSLZS1d8uGM2qv8UN9sTWU4M990dLdrjZXsaGpC59/9C3D4y9n+dIVQTK/NhG4kRf2OF0aVAzQ==","shasum":"95088a7a2b09a8504cad7944422c93ab599f5b4c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.6.tgz","fileCount":519,"unpackedSize":2637029,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOIo0CRA9TVsSAnZWagAAOX4QAJO8qDzRjJZXAJlH0NKd\nteYo4gBFNJLOP+w0Y4Va+CAEa62uJ6QUUQIuupy1VjzIzXghHd4nEmupqkJf\nJ18Sm8ZqhFPli4dDxoQeONRXLVU9iO/aGgj/faeaSReGKuKXXZqifIqdPWBc\nkqewcA/3T8GgHHb6vWjwH9N/EWNep9E6Erc6uoj0CVv9FCjXYPakm/S27eLr\npQfhBs5PC7J0ga1AA4JNjR1ojfrHzcoPfbzsnps3m4zSMzRUupMj4deS5XMl\nKML81C2O5bHSX8p/5H51fcLyo5JUw6Qsy/4afWLwByQ5BE9hT0tcrS5r+Wf2\n7sw3DEkQyqBvL+rk5fOTz4UIOiIt/ZJOb5g/LoEHT4ci3nnNt/ODb7dTTOix\nsv9E/fEqjfTazyIXk/8CWVWnLj3ZPPn3aKcVouj50DWk314+xvVugiN4Bp41\njRkji4dwtpHThebL2Dve5seZHkwj6lmcLCd0oxwcg9mGOGYXbiQ+PQsMSgxt\nD++QOMzFt2VV1/FYeGmg/miMzJv51A7x+XDk0xDDE0MrGkHeyNM7ZXe0Xweg\nGEoCn0gDBhRKCGYA8tkSXup03mU7pWUHJUMyXXCyj+RhQ88aQFSzlITUwa7D\nnhqPu4iymVVP19D10wLdyUN/f4QoIoC6QBqoGCDY2VglCfDV6YkCi392WTy8\nbuUp\r\n=UjYs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJLpnL6ab0cJJFHvia1irn7AYd1bJ4QMduQR2M6ynttwIgW9W/bdVsvAu0EspwFIppnJ3OJyLwzLdBPdoj5pa7/zQ="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.6_1631095348562_0.21604612650100563"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.7-rc.1":{"name":"ipfs-core","version":"0.10.7-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.2-rc.8+3a8f1fb7","ipfs-core-utils":"^0.10.4-rc.8+3a8f1fb7","ipfs-http-client":"^52.0.4-rc.8+3a8f1fb7","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.24.1","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.3-rc.8+3a8f1fb7","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"3a8f1fb75cd49c882d013ebc1ff600a9815f997c","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.7-rc.1","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-6AVHfJGYfoYfLvl491WhJg4bpC5nPyHygb3gYGSkXkO0/76KwgmGmoELERH9oiXl/aXGcSvkPWEWMmomLVRBfQ==","shasum":"593f35de7d7de208791e510a971134f90d4d45fd","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.7-rc.1.tgz","fileCount":519,"unpackedSize":2339475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQKZPCRA9TVsSAnZWagAAIXoP/3yj+sjDKXufoQA+9hYe\nP0/2cng9bHBwyW9i1JUxzy79sQ2Xg8aucO66XEaTeeoNGCNSscbx1YgKiz46\nzcN97YQy80I7m6226cH9GxaUmynU8MLl2EM7NcaDMQNnUGZbP1gYcIT3Mjd5\nIMOw1ZnBvZKy+OmIoSL9CoSUTM96xXIcRGsELEtlIWLaLWpSzXSAzjCp+HP3\nkeBG26vrbbd9Yf6PRJZFmH95Agv2hocMC+0qMwgbCOpZ/sk4qAe5FzV9Mu+2\ndNvvtFggXFe/XvtBZSLMlYk/SJlolPwCjNOdBvojouDqqAqPT2Gz5OmgjZrs\nXaJnxiFzCNwEm2YuLHPkTb/5JyDnp9sqDkadEBDOtb5fvpHxBDecnsGQpIv3\nogZ3zu4/A2OFNDJ8uLj9JKZvcYrSgMdpLJJUQOhxxvqyeE6WAJi/gqrZI7SV\nARVk1qN3ecwgLQxJpnvcST5MA/xPguoOCyzXg3TUke4aqfpuqetvliq5ISP1\nhw8Yp64c045MMVh+7pmNQpuY36WYlSIlLv9dppC0od/oPbP8xIY/VQpzQTHV\nWzIbUkwGcKcpZ4vQHGnQLFlKkAENrd8lPwDvjEfwJGG8Wo3IpBl2ahdhsaP1\nzBwJrI+gvuNDEjC344kSvtQtfZEuL2mR3/Rv/UrEXzgF9ww+jQJ0gomhojs2\nEglh\r\n=ZQkt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICj1z2OXynokVOIITREcUT6H3dXJ4QfG78rtAhxHT1GzAiEAvgoM+LCVEY7B+DPamBA2TiW8IF6PD0f2pL67U4ujUj0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.7-rc.1_1631626831492_0.1775248249503476"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.7-rc.4":{"name":"ipfs-core","version":"0.10.7-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.0","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.2-rc.11+d4b4fd24","ipfs-core-utils":"^0.10.4-rc.11+d4b4fd24","ipfs-http-client":"^52.0.4-rc.11+d4b4fd24","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.24.2","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.3-rc.11+d4b4fd24","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"d4b4fd24ccb37ba7bf7d587308929bc4843398ba","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.7-rc.4","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-VESF/lqDtcLpdILnDZ+WoxdCXhKuEuMOb8iI/nduoRfA68Eh5+i3FSRc4N0nFMTlgdrfK/OcZQeKkvbcxvc1rQ==","shasum":"029da16bf56bc8e526b992e1fd77a33f6bfce6ad","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.7-rc.4.tgz","fileCount":519,"unpackedSize":2339325,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpXjNAqmDLCGJOwFWaA7k2R3ficszlQ05aT3qvsVCqbQIgLAiB+X2oXUgqkW0XFaZnOG1Bd7I8Ey/PAZv8t8I5Tbc="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.7-rc.4_1631883060918_0.7271484764263363"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.7":{"name":"ipfs-core","version":"0.10.7","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.2","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.2","ipfs-core-utils":"^0.10.4","ipfs-http-client":"^52.0.4","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.24.2","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.3","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"88c9921362ea5d71f7a3af67d30765c175783b5a","_id":"ipfs-core@0.10.7","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-IXnfM3sNjXSLSZX4DUwQ8k6zIqa5GqjwNbs48Q1ll7zCUbzHMlkIP3cCj0eIAqwKnNwSFW6h5Q16CuALI0F9Zg==","shasum":"e19196eb172c5ea6b3fc1442e73edeb54ef6287a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.7.tgz","fileCount":519,"unpackedSize":2353473,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpKTR2tYEI4kHHIqIDOu7fhWqiv7pBx8EiAMq7Zgp/PgIhAIzVqpqHXlhYhQDvj5iDGbtX5TSgf2nfMPYeuhj9GGCp"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.7_1631885054351_0.3621836412706456"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.8-rc.0":{"name":"ipfs-core","version":"0.10.8-rc.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.2","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.0.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.3-rc.0+88c99213","ipfs-core-utils":"^0.10.5-rc.0+88c99213","ipfs-http-client":"^52.0.5-rc.0+88c99213","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.24.2","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.4-rc.0+88c99213","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"88c9921362ea5d71f7a3af67d30765c175783b5a","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.8-rc.0","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-1QMi+fF7UabruPlYDRP/H3sy2G7WPUtqY1lIYfIW9mY1It/D645EYW1NJ3hAMsW0z+ZktSiWg4UpALTAs/cbmA==","shasum":"3f2a602914cc905069ad11002a6c271be0c53720","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.8-rc.0.tgz","fileCount":519,"unpackedSize":2339321,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC48XBpG1dCgZ/hX7UWSRQjiOW5iQ2nwIStYqRRy5ugKgIhALP9VdfIu/Kx0tpkOYIFsBq2hyzk5jCF2PRdSN9xspQZ"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.8-rc.0_1631885420497_0.8438295895673931"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.9-rc.0":{"name":"ipfs-core","version":"0.10.9-rc.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.2","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.2.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.4-rc.0+a49a89dc","ipfs-core-utils":"^0.10.6-rc.0+a49a89dc","ipfs-http-client":"^52.0.6-rc.0+a49a89dc","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.24.2","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.5-rc.0+a49a89dc","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"a49a89dca7d9b81d390af0833bcee2133959d1de","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.9-rc.0","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-02foEAVqc3Q8zbVFueXjiYbONxBYHUAq4HGGA8aDcF5i8+9YL3J1IKfLa8Ipn4u9TaGiYa0nLWdU9hQje56i7Q==","shasum":"d5657ca57e5332a43bf54076a20d5f4d7ba3b105","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.9-rc.0.tgz","fileCount":519,"unpackedSize":2339453,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFcGWQTpfMFyuNbzccHdSJoUiBa8fU/7qjwhyKk+G3gcAiEA5pOSDjiDDvwi97YfRZuUJOJbsNu4/mW0W40L6/L8Oto="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.9-rc.0_1631895939306_0.5633637869737269"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.8":{"name":"ipfs-core","version":"0.10.8","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.2","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.2.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.3","ipfs-core-utils":"^0.10.5","ipfs-http-client":"^52.0.5","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.24.2","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.4","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"b5488cb3ef5ab7ea24b8b2275ffa8cfa4b7b7ed1","_id":"ipfs-core@0.10.8","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-B4hdks7lFVqhIgyYMpUktgJxi/2Gdk8OwwHAUk2rx4V7jUKDI6hNC173WcAseyVd102F6RjjRw/7LKiidP8MFw==","shasum":"68b57ffc4b969ddb0973e5be26f6d4feac7f8724","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.8.tgz","fileCount":519,"unpackedSize":2339301,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHWWMuYl3uXdm9YOP6S9XJ7azXqJgpnJwRsDqON0qIM3AiEAp32+IPY2QDHcQkrUJhaERoi3Umuf01RVyKDgWd88yzM="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.8_1631896573078_0.7821341915947724"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.9-rc.1":{"name":"ipfs-core","version":"0.10.9-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/runtime/init-assets-nodejs.js":"./src/runtime/init-assets-browser.js","./src/runtime/config-nodejs.js":"./src/runtime/config-browser.js","./src/runtime/dns-nodejs.js":"./src/runtime/dns-browser.js","./src/runtime/libp2p-nodejs.js":"./src/runtime/libp2p-browser.js","./src/runtime/libp2p-pubsub-routers-nodejs.js":"./src/runtime/libp2p-pubsub-routers-browser.js","./src/runtime/preload-nodejs.js":"./src/runtime/preload-browser.js","./src/runtime/repo-nodejs.js":"./src/runtime/repo-browser.js","ipfs-utils/src/files/glob-source":false},"typesVersions":{"*":{"src/*":["dist/src/*","dist/src/*/index"],"src/":["dist/src/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","abort-controller":"^3.0.0","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.2","datastore-core":"^5.0.1","datastore-fs":"^5.0.2","datastore-level":"^6.0.2","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.2.0","ipfs-bitswap":"^6.0.0","ipfs-core-types":"^0.7.4-rc.1+4126a5a3","ipfs-core-utils":"^0.10.6-rc.1+4126a5a3","ipfs-http-client":"^52.0.6-rc.1+4126a5a3","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-floodsub":"^0.27.0","libp2p-gossipsub":"^0.11.1","libp2p-kad-dht":"^0.24.2","libp2p-mdns":"^0.17.0","libp2p-mplex":"^0.10.2","libp2p-record":"^0.10.3","libp2p-tcp":"^0.17.1","libp2p-webrtc-star":"^0.23.0","libp2p-websockets":"^0.16.1","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","p-queue":"^6.6.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.0.3","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.5-rc.1+4126a5a3","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.12","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"4126a5a38bd7b42e96171b67e9cbcbf4efb94476","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nconst IPFS = require('ipfs-core')\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.9-rc.1","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-OmG7GFyV0GQuk7QZ8m8fnk+5CdV99YdNYD8h2gUKFe6qB0aUXfiekUr8aWrXXScLhQQLlZXwpUnStSGKbyopnw==","shasum":"66dbc98e4ee3a898ef6c6cb2b768be751f4dfa0b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.9-rc.1.tgz","fileCount":519,"unpackedSize":2340342,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmjUrffVeRiWeZ5/GIXMeT7j1Ul1JC11jct0mA8yRVpAiA6aCpzSC3363XDBWotP//2Hq6gYPvnuOMGSCa12UPEIw=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.9-rc.1_1632240653415_0.976065503639951"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.9-rc.12":{"name":"ipfs-core","version":"0.10.9-rc.12","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.2","datastore-core":"^5.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.2.0","ipfs-bitswap":"^6.0.0","ipfs-core-config":"^0.0.2-rc.6170+98e3c7213","ipfs-core-types":"^0.7.4-rc.12+98e3c7213","ipfs-core-utils":"^0.10.6-rc.12+98e3c7213","ipfs-http-client":"^52.0.6-rc.12+98e3c7213","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-gossipsub":"^0.11.1","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.0","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.5-rc.12+98e3c7213","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"98e3c72136abd56bb6e3a8ee1421f7dcc8c8533c","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.9-rc.12","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-YMPFUQ2qiWRxgHmgJAjw2B2m7sqem/wzOUeY1Fwx9+mVI/bWa+e0HSO3tIvcgLG5kn81gewukox6qUm/jDgB7g==","shasum":"88c24cd2fc252605a08418ec2dd9975f08f7f3e3","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.9-rc.12.tgz","fileCount":648,"unpackedSize":2495801,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXpA0w2AJGQ+53Ak2NyPc8c7g52lrV3a5wfFVh3/pbHAiEA90AFcAXDJLP5rtigNxMgdI99q0R/k+STY8MpphuwRNI="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.9-rc.12_1632377882873_0.7331339159779875"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.9-rc.14":{"name":"ipfs-core","version":"0.10.9-rc.14","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.2","datastore-core":"^5.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.2.0","ipfs-bitswap":"^6.0.0","ipfs-core-config":"^0.0.2-rc.6172+498d9b0f","ipfs-core-types":"^0.7.4-rc.14+498d9b0f","ipfs-core-utils":"^0.10.6-rc.14+498d9b0f","ipfs-http-client":"^52.0.6-rc.14+498d9b0f","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-gossipsub":"^0.11.1","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","streaming-iterables":"^6.0.0","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.0","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.5-rc.14+498d9b0f","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"498d9b0f3c5325af2d2f93ce1538c65f7c1eb2dd","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.9-rc.14","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-vctV221QintQbHFeDMxCSFKyVFzX3/sXGVmY7bmEs+s7gUvAnrxb/p4/hqbDet2Pelr73FUjs2G2AAaTzowWqg==","shasum":"e9dbba3f924903e61b8f881485360c90cee4fb9b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.9-rc.14.tgz","fileCount":570,"unpackedSize":2477367,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDR3qz2dRkLbKMdqNJ7/ztxOvFVz9xGMll5D6JQ58ipnQIgbbWZBjrf8k2TEJ8FhJiWWuhSi3ULc2PFLRI8hpdT120="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.9-rc.14_1632394079582_0.02679472098932023"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.9-rc.15":{"name":"ipfs-core","version":"0.10.9-rc.15","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.2","datastore-core":"^5.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.2.0","ipfs-bitswap":"^6.0.0","ipfs-core-config":"^0.0.2-rc.6173+5de1b13b","ipfs-core-types":"^0.7.4-rc.15+5de1b13b","ipfs-core-utils":"^0.10.6-rc.15+5de1b13b","ipfs-http-client":"^52.0.6-rc.15+5de1b13b","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-gossipsub":"^0.11.1","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.0","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.5-rc.15+5de1b13b","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"5de1b13bb685405ae081a824dd76e34228724451","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.9-rc.15","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-OZbA5lhO9A5JdLlct16DY4KDKputRcF0eIwSWz4/AfBc6FfaFiF9+PaoZfesIr2/GMrLs9UaINvBvmQnZITCcw==","shasum":"9d2572c6248af23cacbb98948f3404f6df355048","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.9-rc.15.tgz","fileCount":570,"unpackedSize":2476651,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCsOO7D2ik8axt1fub1XUjCHIERkXCOjGM+rfU44SFmQIgHGbTOlBgj5Aafv0n3FibSAlTTNzTzIgngA8bEln4cc8="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.9-rc.15_1632401816770_0.7304753104115524"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.9-rc.16":{"name":"ipfs-core","version":"0.10.9-rc.16","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.2","datastore-core":"^5.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.2.0","ipfs-bitswap":"^6.0.0","ipfs-core-config":"^0.0.2-rc.6174+be4a5428","ipfs-core-types":"^0.7.4-rc.16+be4a5428","ipfs-core-utils":"^0.10.6-rc.16+be4a5428","ipfs-http-client":"^52.0.6-rc.16+be4a5428","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.1","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-gossipsub":"^0.11.1","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.0","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.5-rc.16+be4a5428","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"be4a5428ebc4b05a2edd9a91bf9df6416c1a8c2b","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.9-rc.16","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-30FdlczokcLte9xHr3LHwLPHjgnFFr3saD38KcXC1sX5hbahp1qJf3a/0C9bvD6Zsr42wcEzYCP8mmKVGY6iOg==","shasum":"abaf0cdde4b4e834eb6a445229b1bb7bca8c2155","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.9-rc.16.tgz","fileCount":570,"unpackedSize":2451783,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7QRsVzjj7rDXTiPpjVHmowrDtU+GJfDMhQ6k9ypuqRgIhAJ7fJ9Ojv82TphGtPPM3FGhqul3AHY2W2hvkGg1oMQnF"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.9-rc.16_1632421999987_0.47983341565800774"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.9-rc.17":{"name":"ipfs-core","version":"0.10.9-rc.17","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-datastore-adapter":"^1.0.2","datastore-core":"^5.0.1","datastore-pubsub":"^0.7.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^1.0.0","interface-datastore":"^5.2.0","ipfs-bitswap":"^6.0.0","ipfs-core-config":"^0.0.2-rc.6175+b0f367d6","ipfs-core-types":"^0.7.4-rc.17+b0f367d6","ipfs-core-utils":"^0.10.6-rc.17+b0f367d6","ipfs-http-client":"^52.0.6-rc.17+b0f367d6","ipfs-repo":"^12.0.0","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.1","ipns":"^0.14.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.32.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-gossipsub":"^0.11.1","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.0","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^1.0.0","interface-ipfs-core":"^0.150.5-rc.17+b0f367d6","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"b0f367d666aceb4ea8bdd532a9d8c3501f8cc78d","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.9-rc.17","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-UMuOuYH3q/z+w44DtvxlB4T4rFtu5R9nBX+0jsRYWvT9BJPHpd+Spz9oADc/NPC5BKObRoLDicfz1zb/L3KOsw==","shasum":"bb32e47a3d20dd68f567f9439be57d4566f5ac56","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.9-rc.17.tgz","fileCount":570,"unpackedSize":2451907,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkjQq2ijO6rMQqhiYF67ao6Lh5WgOwz2TzONAzxmcqIQIhAKY89AF3xtq+uT129hfcnF+odLcRAvdFdKtq8QsY0vlZ"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.9-rc.17_1632482450712_0.16092255921134058"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.9-rc.18":{"name":"ipfs-core","version":"0.10.9-rc.18","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.0.2-rc.6176+938a7d72","ipfs-core-types":"^0.7.4-rc.18+938a7d72","ipfs-core-utils":"^0.10.6-rc.18+938a7d72","ipfs-http-client":"^52.0.6-rc.18+938a7d72","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.0","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.150.5-rc.18+938a7d72","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"938a7d72896bf5e5afb2ce6d472aec4fa4929a3d","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.10.9-rc.18","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-1sG0pBqh+1YO3uSCyBopzo/R1JV2LoW9/+uKXsusslmSCaFV59a34oF1yZvzcuGzyWV8B7HD86i2qpWCvI46Gg==","shasum":"c5291a6e40c700c7d6b5056da51f6275cdaf03c1","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.10.9-rc.18.tgz","fileCount":570,"unpackedSize":2465092,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpq1/FvQcJnFhr6HSBwhejw0LzTJGjZrS0je7P/wexWwIhAIGR0djQYkT1xyHN8JtB7s595jgfjP0J326KVwJaVjCK"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.10.9-rc.18_1632487539853_0.8770601381294727"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.0":{"name":"ipfs-core","version":"0.11.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.0","ipfs-core-types":"^0.8.0","ipfs-core-utils":"^0.11.0","ipfs-http-client":"^53.0.0","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.0","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.0","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"cbd3e948deb5a6489cd69d1705a0261860c2ea22","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"_id":"ipfs-core@0.11.0","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-URt7K9FXPA1S+AayBJ6LMP/Ch4UatqiCE8VN/WszXkVECEib/KAunyEub+4IkA+WgQBnc3dZgOjWcfFX4hi8tw==","shasum":"421202ca92882f004db723fd0c9ab0b1d105a05b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.0.tgz","fileCount":616,"unpackedSize":2504251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCb6yaJipI8Jezba5WI7m7/yQrctIXASjPBGrGoOQmydQIhAL9ZMyOlRuaYmK6fzcLQ4RiR8IRex6OsIRv9OGAIQ9uu"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.0_1632487819774_0.9615216772813548"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.1-rc.0":{"name":"ipfs-core","version":"0.11.1-rc.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.1-rc.0+cbd3e948","ipfs-core-types":"^0.8.1-rc.0+cbd3e948","ipfs-core-utils":"^0.11.1-rc.0+cbd3e948","ipfs-http-client":"^53.0.1-rc.0+cbd3e948","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.0","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.1-rc.0+cbd3e948","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"cbd3e948deb5a6489cd69d1705a0261860c2ea22","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.1-rc.0","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-D96zYcN163ZdJjhO6taHEUo1A2VP3geyQ523+m48/LRtVmyZGrvW1kKLqVXynDnhZlJsZelDh/Ya2T/eoIoqcA==","shasum":"b5fa4d619ed1b645a98e782566588e8909c56d73","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.1-rc.0.tgz","fileCount":570,"unpackedSize":2465076,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoqE+auz1NsZDiyXUk36rMCry3ilZ7Qrp5AOAiBhcdegIhALZUWS9RbbGtl+54tqIKvPvdm658XzOxNkHRy/jgjyau"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.1-rc.0_1632488022956_0.8438954459546013"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.1-rc.1":{"name":"ipfs-core","version":"0.11.1-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.1-rc.1+a0e36f40","ipfs-core-types":"^0.8.1-rc.1+a0e36f40","ipfs-core-utils":"^0.11.1-rc.1+a0e36f40","ipfs-http-client":"^53.0.1-rc.1+a0e36f40","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.0","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.1-rc.1+a0e36f40","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"a0e36f408135c963d4fe3a66ccbe94e60ae5d8c7","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.1-rc.1","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-wYOJo8f7bQ5YRJI1+9oDpCtvy7dRasLPulQVjf9cWplBAPSNbR0g5S9cPcw75nMzv5bYp9E/rDu30u6uG/M7GA==","shasum":"45441ad4cc24d76b5d916d7f253850c1b4dcc56f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.1-rc.1.tgz","fileCount":570,"unpackedSize":2460141,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEs2pzOnzjuf/b5BuejksnbSC4myw3rVemPw5UVFsY4GAiEA09GE8voSHUUsDGRN5rkRInIlyatWUTtXN9T9VrV1JbY="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.1-rc.1_1632590778071_0.7085702504515108"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.1-rc.2":{"name":"ipfs-core","version":"0.11.1-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.1-rc.2+78060914","ipfs-core-types":"^0.8.1-rc.2+78060914","ipfs-core-utils":"^0.11.1-rc.2+78060914","ipfs-http-client":"^53.0.1-rc.2+78060914","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^8.1.4","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.0","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.1-rc.2+78060914","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"78060914410f54f443aad4c5c0de39f899ec6f40","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.1-rc.2","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-5/+SlLhD2+NIX204QBOhk3QDBWjib9syg28mDq3laTCuyaHJvDn5hgJ3IA/HCYgmeCm+FAJbK7PJaE7ovjMuZQ==","shasum":"c8c88d186326f8fb26d8044194e599e5ac64dd2f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.1-rc.2.tgz","fileCount":570,"unpackedSize":2460141,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC3VuDsSkbvwIhsX4F9KHOYgg91buRFMDQ+XU/a7Gpi6AiEAglKyIMgXsO7RWDDjQ1+EMqHoREpJiYTepFVZlv0nycE="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.1-rc.2_1632593474845_0.8096073376974156"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.1-rc.3":{"name":"ipfs-core","version":"0.11.1-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.1-rc.3+7cb98616","ipfs-core-types":"^0.8.1-rc.3+7cb98616","ipfs-core-utils":"^0.11.1-rc.3+7cb98616","ipfs-http-client":"^53.0.1-rc.3+7cb98616","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.1","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.0","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.1-rc.3+7cb98616","ipfsd-ctl":"^10.0.3","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"7cb986167d2e51ab0ce94104bac92ec63c0a7cff","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.1-rc.3","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-NXouoRj8oxUMihSZ89vz58KuZMvM7+6qz22OjESDbp4c4RMWdjzo8yHh722nSQreyp5ibuWGo3KakR2DjKeZgQ==","shasum":"5feb5dffefe22bfc20c083b219db7eb3735e0484","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.1-rc.3.tgz","fileCount":570,"unpackedSize":2429377,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDuww8/zHGbikr50P+wPxZL8yErwdlA7+GQ6IubGiRlSAiEAsA8h6O1wQ+rJ3847CwQg5etGa8BWAtlWu102ZpHgVWM="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.1-rc.3_1632760654327_0.39861475413887626"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.1-rc.5":{"name":"ipfs-core","version":"0.11.1-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.1-rc.5+4dd8acf4","ipfs-core-types":"^0.8.1-rc.5+4dd8acf4","ipfs-core-utils":"^0.11.1-rc.5+4dd8acf4","ipfs-http-client":"^53.0.1-rc.5+4dd8acf4","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.1-rc.5+4dd8acf4","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"4dd8acf4d7df0ece0afa764d44dbdfbf788807e2","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.1-rc.5","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-L1eGlmzKaTg2n+JAin4ccFg7614lJL78cURFC/ZRmKkgGiEOffw4vikgdvhqT/rlvjQHRcJ1RO6AwzaNRcQzTw==","shasum":"0ef86bacdb535903267d993e21d22c702ad8691f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.1-rc.5.tgz","fileCount":570,"unpackedSize":2428637,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4GnVqECGwSKmUde8rtK6zZ32wpC+LNRIjNUmAZ0e+MgIgdpJ7MsIlDiDqDTHl4UDgIDkGZa4cpETGNIwb4qM6hws="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.1-rc.5_1632830420047_0.8012704187302833"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.1":{"name":"ipfs-core","version":"0.11.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.1","ipfs-core-types":"^0.8.1","ipfs-core-utils":"^0.11.1","ipfs-http-client":"^53.0.1","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.1","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"5ddd0c555cc6577ee15667f4ef4e7f3a3b17d04c","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"_id":"ipfs-core@0.11.1","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-V9eP1K0Gr3MHqbWzLNQrMoVm4Pi58o0hVWutjbaLxv67sOgQBVY0qcMBs+EdEwsANrVPUktUBfoeykkClh3gwQ==","shasum":"54f22162c89164b3028115af1e332c47f87c1882","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.1.tgz","fileCount":648,"unpackedSize":2452073,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNrG2zegCEM0B35o95WhucnoNaIW6gA4SxEbQPYJ6tpgIgRnWWR0dmer0JhyNg4zsm+0IhQTRmk0I8mns/yyHWhiw="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.1_1632830635490_0.3968670874229594"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-rc.0":{"name":"ipfs-core","version":"0.11.2-rc.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.2-rc.0+5ddd0c55","ipfs-core-types":"^0.8.2-rc.0+5ddd0c55","ipfs-core-utils":"^0.11.2-rc.0+5ddd0c55","ipfs-http-client":"^53.0.2-rc.0+5ddd0c55","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.2-rc.0+5ddd0c55","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"5ddd0c555cc6577ee15667f4ef4e7f3a3b17d04c","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.2-rc.0","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-cUrbd6Z+l5LxN74ME3u/0h2G98Zv5vGRCjDPOyhis/RBiWbpFP7r2jB5T+pTgj+XDhBvtmmh+HjDQmXhzqSuFg==","shasum":"76917d09e3a1a732bc93ceee2c31868fc21a231c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.2-rc.0.tgz","fileCount":570,"unpackedSize":2428637,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHmX7WRrygNDto6uPkfVVyMtbIVth4o18XoEFq9mWN18AiAnBMBpC+wNTRJsWMgEWZDhSroL+dDl+5CeuJ90q0cGvQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.2-rc.0_1632830865759_0.5183283654510147"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-rc.1":{"name":"ipfs-core","version":"0.11.2-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.2-rc.1+3ce2f769","ipfs-core-types":"^0.8.2-rc.1+3ce2f769","ipfs-core-utils":"^0.11.2-rc.1+3ce2f769","ipfs-http-client":"^53.0.2-rc.1+3ce2f769","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.2-rc.1+3ce2f769","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"3ce2f7693b59ad4176e245c4c7e75a91dd1bf94f","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.2-rc.1","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-vR0mkwuSiVvMhOECQ0DoNmjGuC9AG2NksnZJlJ6jljloi9dUUZASEQX5Fr6Zfqfm9N6aWuy+lUD9KB//QCSxyA==","shasum":"8fb4f195bf65b5fbe391450f31d23645f19e6ee6","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.2-rc.1.tgz","fileCount":570,"unpackedSize":2432393,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA9N3mx6/6Zuoy/QUlDWilRJWfu1jBRofGAsphXdWin/AiBPSwBVpoUKiOzeGIaflOorhqAHGH2N+8Ms3MAOfkgrew=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.2-rc.1_1633016938587_0.3196248918912574"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-rc.2":{"name":"ipfs-core","version":"0.11.2-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.2-rc.2+b09a18cd","ipfs-core-types":"^0.8.2-rc.2+b09a18cd","ipfs-core-utils":"^0.11.2-rc.2+b09a18cd","ipfs-http-client":"^53.0.2-rc.2+b09a18cd","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.2-rc.2+b09a18cd","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"b09a18cd98883662353d116a8ff25a3ddaa48fc2","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.2-rc.2","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-hhulAtyesS0RNkiCSOSYFSPKMDknW1eqpi3zM5402LN4zjHtsRsFYeAggLGIKOSHIWQmlsh0hEOC3DkOvkoAAQ==","shasum":"a40de5852606d99cdf5ecf473f981768e17c2f7b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.2-rc.2.tgz","fileCount":570,"unpackedSize":2432393,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlXANdYN30G+Ku/8jqehqzRw8cq2+X01DCmqemvqYxRAIhALeR3JvoX6K791tUlX2tXPbP1ERLL8oA73cUlMkhKzTW"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.2-rc.2_1633023559319_0.8843264153285764"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-rc.3":{"name":"ipfs-core","version":"0.11.2-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.2-rc.3+bb0dd96b","ipfs-core-types":"^0.8.2-rc.3+bb0dd96b","ipfs-core-utils":"^0.11.2-rc.3+bb0dd96b","ipfs-http-client":"^53.0.2-rc.3+bb0dd96b","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.2-rc.3+bb0dd96b","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"bb0dd96be3e570f5a43a4f31f43d1c97e8322605","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.2-rc.3","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-QxSmiXyfHhCpYXT54dmHwcvsYJ0kUwP8gEvGdMinYGVtKCn2zI9g6eJMqYRbE0gTYuC8XxmEtmKzx4BXtEOnNw==","shasum":"9ab50a7b80cd852a6996d52925d643bb10056077","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.2-rc.3.tgz","fileCount":570,"unpackedSize":2434749,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOG5UEqBX51MethmUuzhYtYPUplj37OsXV39HdnKCa1gIhAOK9akBCheg5+nk/dzXtdY9WAZMwrJO31YJtN6ddJe/6"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.2-rc.3_1633179500879_0.15929266261107644"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-rc.4":{"name":"ipfs-core","version":"0.11.2-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.2-rc.4+09c7bf7b","ipfs-core-types":"^0.8.2-rc.4+09c7bf7b","ipfs-core-utils":"^0.11.2-rc.4+09c7bf7b","ipfs-http-client":"^53.0.2-rc.4+09c7bf7b","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.2-rc.4+09c7bf7b","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"09c7bf7b63620f84d50c8a3983a5d4c28410cd82","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.2-rc.4","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-eC5LrYI4v4D3oDBu2HQnOWtm3giMqzem1UvBBVwLsuvBeLldUXG80O5nqiT+by6gedX0yW6uFxPNZLKUX3T39A==","shasum":"dc17641dd13a7e6ab117cf4c941bad0ded81b369","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.2-rc.4.tgz","fileCount":570,"unpackedSize":2434963,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEpilUd6VhQCc6tQrg5LZHQoAtJIPrRp1g0JrBKmQ0wRAiB2VvA4oYgSHaeM69f77CEbWqp1WAnweMweMcXAqOMvsQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.2-rc.4_1633703587711_0.4052388007269663"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-rc.5":{"name":"ipfs-core","version":"0.11.2-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.2-rc.5+15184bf1","ipfs-core-types":"^0.8.2-rc.5+15184bf1","ipfs-core-utils":"^0.11.2-rc.5+15184bf1","ipfs-http-client":"^53.0.2-rc.5+15184bf1","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.2-rc.5+15184bf1","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"15184bf1838956a44c079660a4d82c24166407db","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.2-rc.5","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-gURc5VPzMjqPkMZ176f2G0DW6LwFAP4NVP5iqAO/qQWbeqh2iAU6TYUhiAY9haRsifejRBz1enXYFTiW41stww==","shasum":"9c9a29053d9bab7076ef8849cb45e55f4254211a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.2-rc.5.tgz","fileCount":570,"unpackedSize":2448092,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC9VtXDCHsoDyOrt51iFR4iFmkPzw8kzbtn7vDfAADYSAiEAo348lg8aky1SroaeiLseHycRrDVU8/nPrBJwgSYWWVw="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.2-rc.5_1636010784340_0.8248331996292773"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-rc.6":{"name":"ipfs-core","version":"0.11.2-rc.6","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.2-rc.6+8a3ed195","ipfs-core-types":"^0.8.2-rc.6+8a3ed195","ipfs-core-utils":"^0.11.2-rc.6+8a3ed195","ipfs-http-client":"^53.0.2-rc.6+8a3ed195","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.151.2-rc.6+8a3ed195","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"8a3ed19575beaafe5dfd3bce310a548950c148d0","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.11.2-rc.6","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-bddkFaQdLGjaMk09OmW2fhVnoAwBJqLvmLATVFcMXsuMx305EKBbP/g7Q7sLbbOrXnFHFq/SjL41d5J8kwdKbw==","shasum":"07a12b1a795156d475cb36561fcd6075f2932540","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.11.2-rc.6.tgz","fileCount":570,"unpackedSize":2449335,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBzoRrcpvyPb0DWq0uEqfUzh94MXzTTXcHsCOWStofhVAiAqGNwec1euU8RDQ54PSFca6eD+VPYSceGSmW6a4V5W5Q=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.11.2-rc.6_1636716678250_0.6436587618418348"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.0":{"name":"ipfs-core","version":"0.12.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.2","ipfs-core-types":"^0.8.2","ipfs-core-utils":"^0.12.0","ipfs-http-client":"^54.0.0","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"568aeadd8f308cc230de06a956c1a9e6102094b6","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"_id":"ipfs-core@0.12.0","_nodeVersion":"16.11.1","_npmVersion":"lerna/4.0.0/node@v16.11.1+x64 (darwin)","dist":{"integrity":"sha512-fY+e/dUlAT5qFUQq0PgSpuf5Z7me3wBhWlVTHObw1ijcghjptRt1ORGN3CoyTgSeBLss0IMNUuRQj8oUerwYZg==","shasum":"bb8b29a113d3c33634198f70f1a2497f7d5b9988","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.0.tgz","fileCount":648,"unpackedSize":2467426,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnIcW1kJcyJlxlhdaSGyNYbX8MiN3wJWAvTGFHXkRTAgIgRFOxAz6dvGMGUT2ieGBLJQUz2bgPTn3GHNM7AgZZJCk="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.0_1636718127071_0.12409783191155288"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.1-rc.0":{"name":"ipfs-core","version":"0.12.1-rc.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.0","ipfs-core-config":"^0.1.3-rc.0+568aeadd","ipfs-core-types":"^0.8.3-rc.0+568aeadd","ipfs-core-utils":"^0.12.1-rc.0+568aeadd","ipfs-http-client":"^54.0.1-rc.0+568aeadd","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.1-rc.0+568aeadd","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"568aeadd8f308cc230de06a956c1a9e6102094b6","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.1-rc.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-ExQaqAHH9SrSk+RNZPzlNQ+ry7j+zCLRLf1j9p3hmz8qruuYthtQNjXgGTJH5pXV9KFVApWpvV+ZluI1NcsNxw==","shasum":"99b681b26a456417ad0904fbcebb20b2477843aa","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.1-rc.0.tgz","fileCount":570,"unpackedSize":2449335,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICU/JPLs3iG9LICYyiDt3nuoNoV4pisr6+rdbrquCnCIAiEAj6DKDJNh+CgYsGkjIBMYmzj1v/XO3C76NGFmkpj4khI="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.1-rc.0_1636718173198_0.7218751388114819"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.1-rc.1":{"name":"ipfs-core","version":"0.12.1-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.1","ipfs-core-config":"^0.1.3-rc.1+f419553b","ipfs-core-types":"^0.8.3-rc.1+f419553b","ipfs-core-utils":"^0.12.1-rc.1+f419553b","ipfs-http-client":"^54.0.1-rc.1+f419553b","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.1-rc.1+f419553b","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"f419553b9dccc0a1172f399c41b766a754a3ac56","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.1-rc.1","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-c2T9CSEvtLWZStyu5HnJVVrEnvAtRJrDUEoqb/Drexn7py5lq/ujPivgAb90njD+m7kc6ajSI9cT6qOr5TIlsA==","shasum":"ab4297f896d156175537fbb553f20a9209e85779","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.1-rc.1.tgz","fileCount":570,"unpackedSize":2450726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl8XhCRA9TVsSAnZWagAAyvkP/3j3hXc4bVlOe8boQXbJ\nFEjVh0C8bEXItsWbgTS9DUPwNwkXA943pAiFe527zWPVaw/PsONcMzwc2hxV\nXzzfj7cbxpxw7YA+K4Q1gGv9gbgkL1NVHm6AfnBuR8IvNAr5GUoDxGVxk+1C\nNtkldrtYlndsAleXSMv4EKl9tMKQuIhELAZ/LOCEuYS27lcuUAhhQoAHWMIC\nnCNnoI1/vmEOHIlNIxtTWTIkNS6g7uJlSLHa2q6vyaZr8h2+rXneFMk03TLC\nhVr7xscc4s7/wISQK47NJtQ155KNMf8K/VjD2CijtbISNwrBTx8hWseBIl4W\noKrf96oXZNC85clNvtFxP1F1E+IhmH96v7a2fnsVVWx+q1E/U94vz0nbcp9x\nQiHvPSdy/eRTteQU+vN/JzLUGDSqgAEqM0l/oLS09hqDY+fkKIiHqfbEKJgu\nU1Azu71K9/pt9WZN+O2rllGduf50wQNHYFbRCincc/FD5PQhxKMnTINrgwCx\nNeFu7HfIRRuXU/45TeknKPsFNdlJ8OCYqSNaRahboUpxObhU/pzw/ECDYRWY\nWIbfJMx/ridmZ224q6hdJsO2cAm5u6xt82J1hndBn+hdUaO2yEGlu3sJnbz5\nftzPw+b03BJVxCn+9jpzE6Jys/N/nWRH4ei6jao7xolPZ0De+XW9WOEpIGSL\njaLI\r\n=I6FJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAD2+a73Lg30K+bL/FxuzVcPlrpXQmjb4U1rim4mR3DWAiEAp/Ypasb9MbvWN/nzPN9NvzD8XRiX4ZdY8TBKBw83CF8="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.1-rc.1_1637336545102_0.5043769414957986"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.2-rc.0":{"name":"ipfs-core","version":"0.12.2-rc.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.1","ipfs-core-config":"^0.1.4-rc.0+fdc148b5","ipfs-core-types":"^0.8.4-rc.0+fdc148b5","ipfs-core-utils":"^0.12.2-rc.0+fdc148b5","ipfs-http-client":"^54.0.2-rc.0+fdc148b5","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.2-rc.0+fdc148b5","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"fdc148b5c08c0be49eef77a18259d5baa895e3f9","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.2-rc.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-KT8tb4pgFmg6qzzUnxDxF3dHxHVvD1ywg4ch/qC7OAub9oiNCoP8x0yoksjrCULXNid9QMNY42TMdj4OQ+KrYg==","shasum":"083344d24665588101133480b49deb65e4afee08","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.2-rc.0.tgz","fileCount":570,"unpackedSize":2450726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl8ddCRA9TVsSAnZWagAAKjsP/R6J2FwbO/Yy3fXoIQDj\nllZBf+VTTP9IOxPA3DzqgCagu8cnfX3hxE7qKeng1JDnoLTX4oPr4U6s0BEh\nKtdBIcZpn7cbbwW1Q3u5GH8Km+DIFwpb2YpddH/s1cDs2zYUykrFMm1cKw2x\nNhOOTr13HFDfnkylwX8IExdyfQaxHko7q8Ro5onE0gx1qHGh8MaOU/eJMTI9\nyOvi7u14j+n39TvvIJcfQQ/Xwqr5rveQCOSkF9b9iXih8BhN95eb/p4xhTLF\nRgCLemtB+vo1jP9UFH/bgeVxO5Sjs8QwHJbwT0TZJT5eEQ4ClELnwijHkBR+\nJzqyRZARv7j2bx0zIQL52b5jG+nudSBO3Ur2ovEmblAk8TyAUTZNnEj+PU0K\nFbuKf89U1wXuXR0eCnrObyZnKHANJt7LjSfesBiEJW80Mtq4t2z4JEVkaMD9\n4qm0xT9O47AIZu3DLRQ3w1ft2okxeQ5tAohg7ngsE3TUsB77hzJPGDhV9Rug\nHJObj2hfh05EZ87cXrhMn76Rj6FxcCTnXgyhi2O8ApKMoTIN4lwNaayOGCIv\n7hEahvII/0OWwVH1nhazx2Glh1cmZPBoNqQmih99kuIdCMXKEWY1KG35NX1N\nkQA7u/zNxXkQhiVjxT/5fk0XZ2BOTJHu4ZtmCmhsHeFl0SisZfzRH6Nl56mL\np0Hd\r\n=Zt9P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKct2jU3zhkyvnlXAbakxa6Ufz3ZxRd9AgrjFLtI5NbQIgMMMOyO5N+EYkHWcxK1FXKsrTOxp8dEzyNZ7nEtoeMrI="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.2-rc.0_1637336924998_0.9435284575938179"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.1":{"name":"ipfs-core","version":"0.12.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.1","ipfs-core-config":"^0.1.3","ipfs-core-types":"^0.8.3","ipfs-core-utils":"^0.12.1","ipfs-http-client":"^54.0.1","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.1","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"fdc148b5c08c0be49eef77a18259d5baa895e3f9","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"_id":"ipfs-core@0.12.1","_nodeVersion":"16.11.1","_npmVersion":"lerna/4.0.0/node@v16.11.1+x64 (darwin)","dist":{"integrity":"sha512-WTiP0NCI0MElmc4FLFAMG+jWAELgFIpTqA1afPdhvsRPWtEoyPMs+FqO/xQbKEOp9nbpi7iYmuULNlNGdxI5Cg==","shasum":"a088d9609e4321a4b4009fcc504b5c57ed6c7b42","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.1.tgz","fileCount":648,"unpackedSize":2468817,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl8fJCRA9TVsSAnZWagAA0fUP/0dXqbQPRfayfwqZsZRP\nht6RXXvDZdQzbE4XZ4uwPAPGxZbkQCqO/NL/CTTuuAA3aRHTbxbbC0yR+SAk\nozrHUcnhrAegAoE5wKqp4gC7xi862WcLs+O3fVINJ7uiBjyN3VhYj4pHfayA\nGOFf/dT5gRKpnRV8s5wFtzD53UTdIiaj78pnCfmlfYcc5TTbP04QHmtR7EVS\nISoqjr3id+CL6ToPflzGstnBwUOWPaWSWvwoqRZFIBoYrStPKx2xvEqaoShq\nDA8zxticVQ3v+Go+wHar4kCz/k1I7644Fs1ehMTTwJJ/T+73sNuA5sJ+PL4a\n2NqL2kXUkLtgS/FrSiaBdbuXI/7dg8pbYMsQLfWDcZT8bsxf0XtVhkt+QsKb\n0lUnIS595SwXDkTxdW8JacbD9czZVhaItHDQGweOS6uq/MMl30yzkyfD9aP3\nhtHwV9rvgKLw7OqjoI+Ix5M51ZgiwaA3c0Vy9A1SS/+jIkidhyYALRa9VKru\nuuzrFLlPJyQ8nja3SVtCrF4nEA4+v0oEyqzp6ul9chqN3QdOmIiQ4A4eohlp\np/HxJhM6UHWUpMgOKX6exwHXTVoNUAnKf7mR0L54rrG1E7+psw0cvIiHGMUO\nNqdpSLDswLbWvNKQEvWS41bD+D8iDW70orwz0s0ldefA/gGVHCtrDlg/ViXS\nP/70\r\n=WnPQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICuAs2dcRgbzskoNBIcWRBVPG5xSjakkRfxm0Ek4TPZjAiEAsywioT4asLZm3/5yaKwu4wq36JmUlaMl4vRRslJhv1k="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.1_1637337033237_0.1907283985568311"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.2-rc.1":{"name":"ipfs-core","version":"0.12.2-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.1","ipfs-core-config":"^0.1.4-rc.1+041fc29d","ipfs-core-types":"^0.8.4-rc.1+041fc29d","ipfs-core-utils":"^0.12.2-rc.1+041fc29d","ipfs-http-client":"^54.0.2-rc.1+041fc29d","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.2-rc.1+041fc29d","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"041fc29d151e8727ce9aaafd2c46a4cd34baa8ce","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.2-rc.1","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-vYaGWQIqay2BvmiTu5g7Igi9rBqsBCh9jfSbs9TKdEcRYGffRRVYCJnEPdxGeX272Sy15QNbWUSyy1ukMOPI+w==","shasum":"0b347caac91f007633bf6242955314585cd87420","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.2-rc.1.tgz","fileCount":570,"unpackedSize":2450726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl92iCRA9TVsSAnZWagAA+9UP/ipZ1dcZ3+BdpDlfQ+OO\nKeT9MFUJB5yiUwC6Lui/Yzq8yerXJ+VtpKCpbkvptNQjSEMwLHAt08Q2M1wM\noIIbevNX3Td577hWeU9/t0YtcK8sFFyHqGfbXtGJe65PMhQMtTZ/4n3W3/qV\nveG351Bl/K6umBYnVb1KwLTG8qDsrKRSJJzc+hy/PQb3p/tf+Cfid8+VtpMe\nKUUgfsao76K2lvPNiemaS3Lp72BCnW/2OmR0qLcENLPWL4MdHkl7HA4VPWeO\n3qajEA6s7+WHTgikzN6zVWuu2zazY90dckyxQFzqgZu4ygKo61EHKqrP6FVk\nvkPdGk7PU0Dq3nXQPCVZsI920JJvLD3HGudeOceJWGSciFew4GQ6HY/SFzyM\nuB7LYlpU60Ffq0yZn5SDbjuZ5vuo7ULPkMpUlI6D7Mqk14J1sx0MRhuolznk\niYk9Dq0p3Rl3+WXR2gUCkPTmD+HVTYBoCnmfatkPsnUcUBZDMIl4YUNjNzT8\nEac4tFFPyU49dQy2JVYjkL2ktvXgbPl3oqDNA/13jEavlLTE7y9Of8P8bftV\nFi5Fk55GdZluj7FFhIHwVtflaOmfkNienEmpD2+Opa7NW1UP62BdW6nbbh3u\n3b6AGHVRNT/W8KeCyaEu6No/rYj1b1Ds/n/FdvJxbRs1TUdy6b5BFixzQWaK\neALy\r\n=c2u7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCD6uO3R3/Ce40QlMGelSAFrN4G2jGQZYRQ6pNIIXNvfwIgHZgcyxvo+eqhnAV6R+B5rwg9/bSpPDnJXqRaFFo5ndI="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.2-rc.1_1637342625687_0.29122066440618566"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.2-rc.2":{"name":"ipfs-core","version":"0.12.2-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.1","ipfs-core-config":"^0.1.4-rc.2+70c67e27","ipfs-core-types":"^0.8.4-rc.2+70c67e27","ipfs-core-utils":"^0.12.2-rc.2+70c67e27","ipfs-http-client":"^54.0.2-rc.2+70c67e27","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.1","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^35.1.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.2-rc.2+70c67e27","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"70c67e27d0b82c7650a2a0d7a646afdcd24e73c2","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.2-rc.2","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-vrYfwxTXVA50hX+7WVrBQBch6bL/jn5zMQMaqh22K+lixka96o/U5N9F1PyTYwTx/6mtFrJg4v1EFS747sZ0VQ==","shasum":"51f9c21c81e969910daa5d1a1730a038b9b8b7d0","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.2-rc.2.tgz","fileCount":570,"unpackedSize":2450726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhm8KgCRA9TVsSAnZWagAAZl8P/jJX5bW01nmCdfhJVvgy\nG9lJs5JLOZJFVBaq03e3lhqqnQUtr1yQI+hfBQLMJ+OHikR56ln0d8IC2V/1\n1uQZwuLj90dyVqUEpkGPcSngbSIEW8KYtRfPbstXrKXujllwdiGgq2FxORxP\nojBhDJc5o1PzdkOcWO2VHooQk/auHwlpdY7ljGs9eY9zJCG6emEou9H3IfuQ\nttPC1IANnSj1T/f7NeEavhaYfQVw+kKMQD0C2SR5tE5adSwRVnhitcFJeBF6\nPOydjR9SDcDSeyyLfzCHn6yl11FltCCiaD8E6phftwJkX2+HiuHFOypx9zbD\nNgoTsvkl8N+inEdxradcTtTWqyeVqol9bR0Voptj703kJpBlhuKt1lbaFPWx\nEa95VIQ3GZorhoxqra3sYW3pDJIBC2QG22EoAK3PCZMYW0q2bF8w0t0hW1EL\nJGTaPfr9sY8EHEVWayT9WV6FcRskBaxaT0iM5xLXV3HV1izLHb2Buybx5kpl\nJay4J6/WDQn2N7WOqbopnQkcuonmhOQNYoPS/jxhj6rCtxI/1FVcEVkT4DhH\nvZtyNTZk35TwXWv9j72PgD70k9k61RsMZTZ9ZtXB3HbR6Yo8rmWFeBwVgQX1\nDrSz0MUbj9uiYXuckV9ygojHoHUbdphftnfsoJiAnVCiEyLCxtO+R8fad//s\nG2l3\r\n=QNSQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1PJN+4SfcSIVhNdY6tJPsEQRKUoafDRi0+3PE+ORNJAIgHNFVgnHQNWQzlGXNGzyMwfl5naW7Z2PDLgeZ52a2yY4="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.2-rc.2_1637597855816_0.5122899513748065"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.2-rc.3":{"name":"ipfs-core","version":"0.12.2-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.1","ipfs-core-config":"^0.1.4-rc.3+484d2559","ipfs-core-types":"^0.8.4-rc.3+484d2559","ipfs-core-utils":"^0.12.2-rc.3+484d2559","ipfs-http-client":"^54.0.2-rc.3+484d2559","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.2-rc.3+484d2559","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"484d2559cfe120f01eb9c5dc728d1f7cfbd89730","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.2-rc.3","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-++v7OYHLMCfgmkVy3IbhM6jGWWCHg84LrRKXvgxeBzsw6F4nqLwnMvRzeWQjwqVxu3ZGLSSkCyYTYpxYtx86Bw==","shasum":"bc587789f7ca34ff81bf6f7557c4ab5e88742d61","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.2-rc.3.tgz","fileCount":570,"unpackedSize":2450192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhngeBCRA9TVsSAnZWagAA80gP/ia7lGhXWWkYJD9cSVM3\nGFK1cdmk1XAYIoTc4UWHq4c0PI25MDbqYAToM+ytdmspbHgnKG4i6YWbot71\n44IWOKH07s1lLH6VSH2QzJNWv7j4d8W7ypVW2Z9Bd1xY5OD7qwYgawf+h283\nc+MNtlqKEsAu20zOitmQ92LtNLCVazZePiqDnXJze/og++qPwzihH+tsvJd2\n/PJwKLjjxlfIu2ek+/7Jg7IOerqKvW24tELguvM6bjtJmM5KqBX5J6t6Ga79\n33X/jfi7YFdYb/K0oGkW0A4/PDSIUNvIWK235OCdbOipucRaUFeTJ66wRxC8\nzkDNmXtSPBPUSkaYcEgVx1MJxoEAQRN3XHQxoLjqlJDp6UN/+s5eCWyLhk9o\nrgYZZYThg9Jv7b6qEr4nWxDJ7P1t5dx5hzANFOdC/SDnWZbMGcbX8beDJWqt\nhwS/azakIX/3ephH71nduz1NZzFDA1SPYc3ZQZDppRi/SPxnqRHsWgW7lZ4W\n+DegoEPre6SMXHVLHydXOg0ULkKqTHaUxSggNsw2/WsCs9mfZy/a5/dNEdEO\nXR8DiL4fLwjXqouqO0hgW+1YDH0yHkK7cjjAxHzvm3G6KpJ0Te8OSwOf/Ny7\n8OQYX+98g5b5fT33aQLh0tBfzqd5fTJ68B6EW5X+aqqOSj4s9cRs/Mc+dutZ\nsJGD\r\n=vZTM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICQx1NPo0g0Bx7+7VgKXGvSRTLj55o+HGLciHJkgCRy/AiBD8CbyQH6OyhMroR5q7p/OwvCQ84sTbhWFfRTZ34dEyw=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.2-rc.3_1637746561381_0.6857980343797561"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.0":{"name":"ipfs-core","version":"0.12.3-rc.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.1","ipfs-core-config":"^0.1.5-rc.0+6178708a","ipfs-core-types":"^0.8.5-rc.0+6178708a","ipfs-core-utils":"^0.12.3-rc.0+6178708a","ipfs-http-client":"^54.0.3-rc.0+6178708a","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.0+6178708a","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"6178708aedf5ea86bf537862c08db49f5b8ea20b","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-WPQhZLtqNxVREG9uyXi5jpM2ATBrPX5MCHHmJVMowtj3rLpxv/KxmrRxScnEifKPS1y1GiV+Af+Q3gW34vtHrQ==","shasum":"d1edc12d4be72ffb47deb89fb6bd0b6395d0f264","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.0.tgz","fileCount":570,"unpackedSize":2450192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnghpCRA9TVsSAnZWagAA3fIP/3OLiobixkpWSYC2iKgS\ngN/O2kjVUhv7JWAUi4mbeIHom1u8j8MsI5VK7/+dJw/Za99faqfOX48npAkp\nIfZjMYirKSSmwl+1mdJen3eSKlRiFIx/6w7vBgPQKoYGHSP2tJaQbs7C8wa8\nnDnzVhMoXHpJfapZTOtwz12+1lDZz+LwFzNC5n9jaBITf1iV5f7tMd+4/K0Q\nLmourT/lnfho3o966AspGNZ5IYofcr0Ajq2RvQBS9DvuIoI8ow7Q2Eb4317l\nIz2maniputQRXD6cp9F25ooLLHlb5iDDbGKxhHh1/RdgN1lajT53WD2u9U58\nNm5THuI8zmIb5bFrQqVuPWEEUqpMTGcwbxiAgITf9WT9tnePwTOTn65N9bl2\nLSW6ClurxrHRBqkc9jxRPLluqoFz7VktoLL9o3R+OdsEu4p+3BFLnkt+re9B\nIGsHh+/ZhE9mP8c3KXdbGyr2nwnUy66lpy/raEJwrfemKrEsjq+645dtgjjX\ny8bVC+ekITAU3w3r3ZpTPtA5c4DYWMukwzJLWNNm8LQ8LhYo189hMkR5H72f\nATOofN09Tm8Mq4q8PGw1Ls8Kt9Hz5R2W1JHZ3p4Tk3Fa4aFtGZIywVyhZH3i\nrYAG7GVexTJW3ivpmEcwzgkt5K3nJ9DqNzqfRtloV9dGjWKQmP2KSuYRA7w2\n/VRS\r\n=BfIj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnk2W4zbGifjRmZz7bo+R0OEvJSrApOUxF04WshyR5fAIhAJZbGThGNAFNuIuq7GESTLEd4iiNKvnycYeoQc9AUgaN"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.0_1637746792773_0.09022552120340066"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.2":{"name":"ipfs-core","version":"0.12.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^4.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^7.0.1","ipfs-core-config":"^0.1.4","ipfs-core-types":"^0.8.4","ipfs-core-utils":"^0.12.2","ipfs-http-client":"^54.0.2","ipfs-repo":"^13.0.4","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.15.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^1.0.0","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.33.0","libp2p-bootstrap":"^0.13.0","libp2p-crypto":"^0.19.7","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.10.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.15.1","timeout-abort-controller":"^1.1.1","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.2","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.11.1","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"6178708aedf5ea86bf537862c08db49f5b8ea20b","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"_id":"ipfs-core@0.12.2","_nodeVersion":"16.11.1","_npmVersion":"lerna/4.0.0/node@v16.11.1+x64 (darwin)","dist":{"integrity":"sha512-Lj4GZZ4LKCg1w3V+Y21BzfVS23kkt95+YGjMQ33JL3SAPR2xLdO30yvoqB48SYzyT8RMqjBEuNDbdP9OhIVlCQ==","shasum":"27216668ca2cc42f65664bc40af669ed6404e967","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.2.tgz","fileCount":648,"unpackedSize":2468145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhngiXCRA9TVsSAnZWagAABA4P/jEfRapS1rXbVD555r7F\n3D3+iF3EVPxECnUEZTdqATXl9lE46VCCHlsvPdhPwQtZiq2OdAVP5ciQtKRL\nrBluaqC6bDCuvBr54NUZfj9TUq1/v2D1PbavMIsXFLca5Dadlxp+hnyOsep9\no3p2XawP1kXFrmtyZS+2w2P5QN+5FDeUDRU8q5stdufqVEz3Dc/6oNEvCxbz\nCVpVLqbzFSEPxuhg2JDeTKhJG1KxLw2VVQd1QabdYHhzPJhMnF3FLIMnHlyE\n8Wj5ui4a8YJA7gErLEv+tE1Dmg4E2NgLu4ifv/9Gt+Yei4MUkRqdj4vjS6Dk\nIAEF9xrbFJRK1RvWGhDLJ1zXyI3YbAK/ikU/7h0rtHlMvno/EO/TG8ia1NPM\nUPotQcxURlkimooyN79F4Bzt+3elJTnGgXl7ak1IXz3hB3BSb+Huih/3jdnz\nn8u4jF/EPDvlZfQzxoWayc/Wr0WuDtrqT47qR/0juHt08rqy0lQUBDoBce4i\nEi2CnI7kN3cyIwj4NZleDFvnuOIvJZmn6GprMn5FUyroRHWVsqBoNnB9ORnc\n9UIEV4zHXh8kLmsLBDCxjwfunTu7NAH9pdKXz6eULa8hoAMDraZOVcP2yAPe\nn/BLueGYalbt65xBUm6KKvpdJ4mcU3BrcFGQSTFjPBYWSvSd5pBUMnJ/uo+3\n11t2\r\n=L332\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFXJMAkOThVxdBW21RXingQrIucae1F7cPXerRaPc5YnAiEA0hRKfySHJOipMgWh1mVkeq6IKar42x+co6aBzbJTI8s="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.2_1637746839550_0.79703421414077"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.1":{"name":"ipfs-core","version":"0.12.3-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@achingbrain/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.1+62d8ecbc","ipfs-core-types":"^0.8.5-rc.1+62d8ecbc","ipfs-core-utils":"^0.12.3-rc.1+62d8ecbc","ipfs-http-client":"^54.0.3-rc.1+62d8ecbc","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.0","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.1+62d8ecbc","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"62d8ecbc723e693a2544e69172d99c576d187c23","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.1","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-RIaLrL0JB651xTXDyLYL2igjzx5bXkkbGxZPyDPCTsggRC5K5xXto0firDMY78VlBAacJywSLUqraIzObDDClg==","shasum":"4080544c52c6d558eec0bff2501d51f7641ec262","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.1.tgz","fileCount":574,"unpackedSize":2341945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqfbcCRA9TVsSAnZWagAA168QAINiVa2mNif2wZ4+qLee\njJg88q4yGW8L7MBDdyFpf1Dy4hLIrE2govTMEq6Qtze5PLUldLKzr0YP02mC\nu1mEq8JCGYWsMu2yIs2woeygJweMR4ezf5k+2mgLhXkp3Wp0FBMH6/OQkATU\nwunj4ZDk6LjA2nnicbwuOAFc63BD/UGe5aJLM451MD39t3hJXHsrmHXVuDhT\nYVGieT1LZCpf7zyVn/yu2XLgETTNRKGIi6TQbAwbqqxuWDar6XLl34fAKlJa\n1R7EDUgAh0ucaCRKbL/KWfzoO955x5SRkTtV5vTM30ak97nSug/2ZyRWbcdR\ncWQpYfo8rlR/QS6EFCbtnoWfCmeD1NVWJmBaiIQIrm+l79UmPY554cR6GlYi\n+1DHFEg5JwrO1pC7NlClgtAU45leCQj1mQ/WMe3FVR4TdCr8PJdh1UI82WDm\naHxXRdB9ofbzp7uc9+NSK87fE4yxDnIuqsPPGZd7OEaO5fovKdsD0wNwIn+S\nBV1kgqpxEwPKTHQ67i9avMK7d2lxYKRe7X4FmH8etdx80Y1bcjHkbhVROal+\n9rchMPOtfSvsBxCS4MPeXAjZ81rGNjk/MnIVzOxTHckIcAGJ3oayMaR2oXEv\nbARR93yEa/H9kiw7P8lqUpumrTfudcHOsDZWkr70Qrv9pAwVrxI0BM36cDUl\nERx/\r\n=oZwT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA2hwrFi+OgbRlhdMZ2TU2hEY5LFepMCjKHqYYfdAEXHAiALFh/ZryIgGELgF/yq7BMsI5Lz6xwejFAketxQphQZGg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.1_1638528732633_0.003298199577017158"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.2":{"name":"ipfs-core","version":"0.12.3-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@achingbrain/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.2+0c269cf6","ipfs-core-types":"^0.8.5-rc.2+0c269cf6","ipfs-core-utils":"^0.12.3-rc.2+0c269cf6","ipfs-http-client":"^54.0.3-rc.2+0c269cf6","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.0","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.9.1","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.2+0c269cf6","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"0c269cf67a8f6b48809472e83c4c1cff156afe0b","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.2","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-v107XFvImnm2gWTcR300NsvK5x8/zNe5vt7lNRlpKWX6V6WbwdUCCkGu2SInZC0CCqztRPw0E9LTS5uuz+zeWg==","shasum":"eb437e6ee525f1dc308e3c525a0e311f2122d36f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.2.tgz","fileCount":574,"unpackedSize":2353889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqhsOCRA9TVsSAnZWagAAmEMQAKBPRY/nWoNWsrBUwwb1\nj85z49BQuI1zmIZp9y5G/r1+CAhgNYYKxMUSeA9eeX85UNV+u7G2Tr9m0EHa\ns72sNf0EyKGLDf5WyG0TKLwgleWzOWxFFBiLyXnjoxReBA5kqezxrD4OPmac\nddLavqIBkuzBWCtrUoAclZfEqBVBh+1KVqWyPuCer2AR7wXUTy4b0Gy0B68R\nS/YhEJuJL6Da7HAqS03qlyP75yN7VLhnQp0a0ANqglLKu5C+vfOdZZio3TM5\nIue1EghsBv4ANAf5gABTQaxAKN8jof/SlV8tDG60YkW16JAvKpizt7e2gY9O\nv8Fk28Ohxy7ZyUTeQ4tKkzeiozVM5ypa1zyGlQLicJTufvECfHl2THXUXcHs\nPjfESncD75XOXRtt6F81TWfyr6z8w4jcl0ln4GBK6/7XggU1nCeIXXI0pHMG\n3MKw8vukPOrQUqSRL/xvRQOz2zJ5QT2UINFdEQZXustSTUOEkF/raJrb+zZt\nybmzA4EytOLVnIb3NVZByxICiIhO/k+dd4CCwqOAx0cqrq/fsxkmTI2Hrdlm\niqq3+zn9eTUppSh1R9MbVyq7WolQAic1aQj17dVp1QVls5NOCwda9KLTELOS\n36FPI6KVoeHDaGadg/RZGLmXRKTB+UHqklfmn2HHCzC+ZZ219oqM4ksfUk0J\nWd4r\r\n=YB1y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuVevq2W6xnSKHmMh61ITY4N2M/1jA+8ZVX93Ak4sIJAIgbtT1DtWBwhYIWJHulvFb8mdAFXVI63OrX/YfWa7lN1k="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.2_1638537998038_0.23241297438480868"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.3":{"name":"ipfs-core","version":"0.12.3-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@achingbrain/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.3+38c01be0","ipfs-core-types":"^0.8.5-rc.3+38c01be0","ipfs-core-utils":"^0.12.3-rc.3+38c01be0","ipfs-http-client":"^54.0.3-rc.3+38c01be0","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.0","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.10.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.3+38c01be0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"38c01be03b4fd5f401cd9b698cfdb4237d835b01","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.3","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-aK2BidPkZvOttZWPsLVOpcfW5AXRRT2B0q96vmmOBuSEXOGrYB3twyIJUvDBjScK6xTJ9kmhx169DvFool/Ejw==","shasum":"02e2be7201072c36ebb5350df881cd0e68e2c12c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.3.tgz","fileCount":574,"unpackedSize":2366047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqiQ6CRA9TVsSAnZWagAANtgP/A3DuvO1Lf5tAL0QORHF\nhFUY7a8TiOs+Ngba9kNdfuRxUFfBOyNgeA63KZ9xwuguzGNmS6mrIUR1c//j\nxy2mC8W19FRGoc3xTIs8B3cmRz+Z0DxT0jXf93ozRLP3F5eWwEYc7k5yXOC4\nH+WnYB5USOE6S8oayw7fVaYPCnYao8bkA8xfmfEbfSLREpQiNTYyI3J2QVpZ\nbf6tv1yT9rPr+w6K1anWk8pTKdvUkx/ib9V35YQn+3A9HY6YCQh0WeQl8tZL\nigNkFZePsF9UhmS1MR/aEPKkKkAWPFvLJBaDUYQjvLcv/wO/K+xutDCSUC3d\nLpTQwITFsYCxXnBR2iiXU2KcOs5mpRRyAcomxgFmhcubUL0yuy7u4reiz9Dl\n0JwLpk6IqkSq1XBqevvWVUfpBrDJGWyvARQ0Dvfe0SXOYMfq3mZWtizxq0jE\n6P8RMpSSB6f0oudTJMhvydHWVdMiwS6ov91WucFWNnKkQ8fk1wO3whElIFUY\nYsmCgBRn8pBqV1lsDcGBTB3iKHDw8wneG16mqaWFGGMMGNXx7KsPa/nob+m1\nxAVTkpasjKytZQiT1WWhI1HqMvDVlpjMZrlB2v14LSXkm+V9J1jIcaohvrgp\n564MNde2016SnUEjfpM1tQVTPgoCv7EKb15ASCMUuv1mx7gF4yFosFznxjSj\nRulu\r\n=wxka\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpp8w0BdjC6582iMptscriTSqCF5FwUkXEUuwrm1xvBwIhAK9kB/xc5PIY9LJIKjOOoSDPzVeyTC0J4dpaP4wG9SH+"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.3_1638540344018_0.20604700383312569"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.4":{"name":"ipfs-core","version":"0.12.3-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@achingbrain/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.4+9018432d","ipfs-core-types":"^0.8.5-rc.4+9018432d","ipfs-core-utils":"^0.12.3-rc.4+9018432d","ipfs-http-client":"^54.0.3-rc.4+9018432d","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.0","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.10.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.4+9018432d","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"9018432d5dbea466b8332b0a917a166942e40d29","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.4","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-8D3H5UQllweVvvsQVaCihG80xAjI6ofGxA6ENUDJ+MaKj4gss3cCgtkkxdu7I68IF2JzI/2ZlUldIcESlcgNDg==","shasum":"e9ccd6e88e2898f110c268387d93d7841fec0847","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.4.tgz","fileCount":574,"unpackedSize":2366047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqjFgCRA9TVsSAnZWagAAzQQP/iZQiR2xP/yzpdD91vfw\nE/jzEPJW/eyHdiiRDVw+x6ymjdJIRS5b9g966LUJzhYcBeAfj6hEXFF7YodF\nL5t8trl+4dCY017Zi2KnFeWtl4l6WRs/BqtO+TeTqbdDsff3ekvfnfTXtYvi\nNUadYABIqb+crkYjqokuvGhKjEKkM7exA0CyB+gQLXnBIMrK0Qr7kurwBJ3f\nbW7+caVy1L5C/7vJiG6QQcRC8lJsFGmRT8IQoZE4yryoETaumRlc4g4SDULf\nlU1vrMgEeplucP/w37Q8DvRxF/TYQN6syZQKp/NqqFPBPunC85LnPKyYwyoi\nmwFdGAkCxzRdQHLTO7WwN7WuLB5USf5j+2yR+xtJEJkS91s06iI5JX6g7Qn8\nyqUw2AM7laord5QKUWeOHLDXaE77w1H911mmofbejIO87c++K0FnQCnKrrWO\nsVB4I+O91vIfxKc/7pJqUHWCeAHQ/pbyqCj7/HUdN6x1V16QiQuJ2X5v56qr\nHymvNK9xcc82ySRiFS97Z7IHjTd7hZOWP4YLuiqUrE6HEumKKrIioA41PnGx\nPF7J80hYj6+U9+lxcCcaTgaq/MrZ6zVYNOUhC5E5zHrWHdJW3qGW7mpol9P6\nadWS8mazK5LoNxfKthAaoRFWZ0nO/bZJMMF/ZuN7Cx0w41zCBwPk6e5Hyw9j\nk2lH\r\n=0MfO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZK1cWcuEoquV5wklMXQEUl6v8czQ+GtkUwgFVcoL0owIhAKyKO1gx5/79DmEeesGd3Kw4uLSpBBV/c2NFMqPrPfu4"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.4_1638543712521_0.0834353346540535"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.5":{"name":"ipfs-core","version":"0.12.3-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@achingbrain/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.5+45ac9730","ipfs-core-types":"^0.8.5-rc.5+45ac9730","ipfs-core-utils":"^0.12.3-rc.5+45ac9730","ipfs-http-client":"^54.0.3-rc.5+45ac9730","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.0","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.10.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.5+45ac9730","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"45ac9730d6484e8324acfbc3579fce052b8452d7","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.5","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-UU9YiCAKqudnH/xr9oA0dxQyDI3yvl/8bc04A9o00QghEzNYBVmjHhi0Hgw5V1jTucBEmtrvN1XJfoOPpCI7sA==","shasum":"8c74ff23070b1b431f334ee388b4aff116b63d9e","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.5.tgz","fileCount":574,"unpackedSize":2366081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhregKCRA9TVsSAnZWagAAvokP/3fcKNU2rIUr/TsZOz5a\nfzrA+kVIWC5I8py3LtgfGw+jRyp7QJJdX1hXeQSTmL3SHr9lvQ1EQSOe9SpF\nF1NdHn0S1LOrqsZZRhDkXsdf6fJrSJiO7ontLglJdyIIqIt6R/9busofgUY3\nSyTq79MTcjnsSAiMRw7YzZBdZ4b2PizSM6jWV5VOUBsFhSH60urjEG6K4H/t\n7CCboEmPebfPh8acY8MsQilo1vWtoZDD5U/CR//fcUfN61PfY7bfxQldqsFs\n648iQRveo8TxorSt4pQPNjG2ImDV9UOL0NXumt/H8+Ym+Ilvk9DGc+L5Wzih\n+Ee8tmhM0isqRvAU+zS9Puqh11nBv6+S+JnNpStp3c599Kbr5nEJ34Ndweub\nEm7WBZwjOOX65csJULM4yD6uhA9XWIZan+TNUY2q6oa1AbtM9spfc654Mkoi\ndJe1/p0cuzxCBIomFxp+TuxVDTkkG384hMHiPktQF3gVFmjIeDLZtR679uiz\nUwfCBtIbmULnuQRhGCHK1jAoaDES3UZ6AsRhXo6KIrMO4BICxLtCyRqZPHf1\ndvX4+L9IPzstvMzrEUYIJTtMkbtFo3e28PQcaCC1A3//eWrHt86Cx3KnYvyO\ncUHissd4s3t48fOe64sC3a2XIZTXqaIKi/Zyh41zy1CXGZUkpqWDLCnjgOP+\nrVff\r\n=YyZ7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGLvln0BPByDRRJNl3k/oHehSuvEvuBljKOYPseBBa4GAiEAsZQg2Bk9onmdsRqbK7kFyTeCCtdd1mR9K0RRfwT/kDc="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.5_1638787082733_0.3641798816463766"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.6":{"name":"ipfs-core","version":"0.12.3-rc.6","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@achingbrain/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.6+80ac58ca","ipfs-core-types":"^0.8.5-rc.6+80ac58ca","ipfs-core-utils":"^0.12.3-rc.6+80ac58ca","ipfs-http-client":"^54.0.3-rc.6+80ac58ca","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.0","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.10.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.6+80ac58ca","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"80ac58ca27cc9f21823a23d1e6357f738fdb6781","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.6","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-4dU62XRZeCt28/AtGnSySvfFPpIBsSlChReiq09TEGltoIQT7D2c7bEKGHs7H9BEIu5NCmwrQJS9uHcrmh6xAQ==","shasum":"3030cf1f0677fa02d37f22717d85bf3f49b47a07","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.6.tgz","fileCount":574,"unpackedSize":2366081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrjpXCRA9TVsSAnZWagAA/LcQAIxvgw8cL31vJf308DB0\nNEsogfFTiFlh9Cg4NsCBTrCgZMYZJA+TAzMmCW8R79WioKbCODrRsEN/4Idm\nD180mWJqInqM7JS0R+PovopMTfiBw7v72EAcSi0KeqVvt8P0EHBr4fOtx2tn\nq81Rp4JX5c9L3nvd0g7rXr9CN9gMp9asYsDIsgprSkXGfBLAfvtc9pFCD4zQ\niIlm3cFINIVHMFINuLbPiIS9sAIVGbgby5JyNPhyrVImGIKRp4WJsgqZCz4u\n+ydGWOA/zdZ1AxGNIk5RxH9WVB0ikYPM932bOZN4uXzYWREzoCE4OUATNqx/\nXWvuGvHHAFCbUcFN7xrCHPM/+EP8S/VR1rZHr4MI+EPKJgt7gwxVKk0vzTR0\nWbUK8ChBeNbgvGFoO//GkhE2ju4sgOok+8pc6WR2HDZrcHH3i2zvYQdR6sJ8\nTSHHgwUHaVfdxvs9LyQZ2TAh2onv6iulWaAj27Nt8ALVsFxtZYqqvhw1lmr+\npAnUBmq4rCglTPmwCKmoy6qLdcyyU4+8Aez2dXEOeA5pZyQhDQA1aiTsX6uU\nT53osLoKB2+ksgO1vWqsWODL9ycdYd5NS31lNvPO8ZXDQZ5P8BSg6yhpTyXL\nS4iu18HYDullttiTm9X5xOcJlf39HbT4PkIiXBKGSNjzuAgmqusezTKVquNr\n1uua\r\n=Vitg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD76rNo30Ri3gr2zagNafGnCNH6ptsOCk4PcunqQsML6wIgH4jD9WSOj20JRYXtCZjjPcnBvfX0A03vvFyHoEidbFs="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.6_1638808151565_0.7861873986473153"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.7":{"name":"ipfs-core","version":"0.12.3-rc.7","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.7+c083645e","ipfs-core-types":"^0.8.5-rc.7+c083645e","ipfs-core-utils":"^0.12.3-rc.7+c083645e","ipfs-http-client":"^54.0.3-rc.7+c083645e","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.0","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.10.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.7+c083645e","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"c083645ee68aee2fd40f0bd63fc5b4d1395b5b33","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.7","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-t5p76m4i5eg9yyLjnlWCxbTaEPH3YvFBNOJ7JvZ9JHAh/MxhLCHnxQQXvMERzbW4Ybz8H1m0O/lR03vlHgdQ2A==","shasum":"c32142f54cb2616d92397b6c9082cfc5672a3e21","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.7.tgz","fileCount":574,"unpackedSize":2366141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhro16CRA9TVsSAnZWagAAvcgQAJ9ElKi7U6NXym9uLBmd\nzc9Fj2FU+XGiYo+Hl8ggFwp2DR3BgYZmK3wQthxS57XCk4BrkWTytIKjhhx6\n3e1WMyWbJEUDhpelP3sfnb0MW2mt3lbe3nXDjsV6rFUpAGw0yi87BFUJlSPQ\n6zG5fkTKKfumXplFO18uOpX4PNzOjTM7Spm8Hrpwvs6uoIb+T9CDqDi8p6B+\nM1ykBSkErV3ookBL9KW+iB1fb3obIXmnRjD3pKBxcAvxYS31Os5wwTswG+GD\nVxg8pREtJOujT90ADSTMONAHlPt1MptDTy00i6QDsRRTrU1CZ2JCijcf5qlK\n44BNSw9uYYQ9hkVFXMbYqOjm3XkbqWm8PHWWSYUd8fSZ5857Y2hPwdvJ5JV9\nfVVAMUfpxtADTET7/52bo4j3PmrjZAgoR35FBbW3WVLnlz8gHo8VUVSzo20V\nEQydoot1cvoAY2NiaOtrh0hqtwKUvL9UF3Dvm7qBIfAGflzE9k3kPXnSvtCS\nb/LHUO9Dhk2IS8PybWPpilPzyaGRPMol7oCjdMVxXFsB8c18r3DmnMCyDjFo\nfEmKq/EjvFnEdCF1TAOZdnCEE4qpuQb0GKInQsOKWP9Fozn0ZC4Vgyc0kLkn\nwzwvVSUIcd9fP0eNWR4L0zXl8KElsv5/djwgJ61nPE5884a+ok/89Zp7VVA7\nTpyI\r\n=KJY6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAnJUEGbJhl/Gz75nFjpxKBZrFu98HMNSc0gfIguYJ11AiAnUo2j4pGVLivSVaqTEcexBmK2FBSLXlQtCihnJdMDVw=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.7_1638829433723_0.8212846787000996"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.8":{"name":"ipfs-core","version":"0.12.3-rc.8","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.8+dec9e4c8","ipfs-core-types":"^0.8.5-rc.8+dec9e4c8","ipfs-core-utils":"^0.12.3-rc.8+dec9e4c8","ipfs-http-client":"^54.0.3-rc.8+dec9e4c8","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.0","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.10.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.8+dec9e4c8","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"dec9e4c87ca7829761ae6f63a4809783e53ae558","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.8","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-6tOqT/DQikHEaMLYEpEK1PQk518SueVUwJttFGahf3TbOYP466jyh2SRSHrM142+C1DKiffHwpK5nWPbyUp9dg==","shasum":"1e62d23dbb40100839847127d952568974088926","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.8.tgz","fileCount":574,"unpackedSize":2368441,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhty/XCRA9TVsSAnZWagAAlagQAJiElAuXGXNijnO3kKl/\nGIBONvsTA1NPziTOUUT07eX8GgxLbduF9SXeyBljybuSqnuZRgBz0zikFpuw\nDMk1IH3nBYsI6aXmwpZldYngvpTTkMwk8hojEXJ/7W5Lfz1hcrYxcKLFnIIu\nsxTmfERUTeBtjD3tpkOJEn1CFvaLygrAM0C3DlJ/ha1c25sUXUcJa3sOw5dw\ndlDXuJT8YKUH95WbCKDHzmdLl5GvkwhJmUnssMxExdvDESsuyMKn9jIEkIrd\n+ypoLkFmRxxiynYiBlC09LXXkKAfqBHyHOes/xFQGfT6Y4zX8vbrV+Z7Arpq\nQz6XLQ7CfqMsPNt5plJmWNxHu5oN+H8CMY8wbXpdMeAj5/unieW0tCWHckiq\n/QAH85N0CfCe8dCdZVq/GWaPRZonDpcxRd1Qcs1QDGG8ukq0XI+7/WMpaspr\nFHs+azOgL/L1naI4Bqa91Dt7GDSXTzqDQPvpC4U9gGpY8NIH50KPbFZT7yyG\nQXYh+3OUOD/CX3t9WNH4AWHiBV3cVwNjUzOA5EikYUJi1aUupj8fD64D5X0d\nRtKp7+RDVRR7rlG0zW68dMdxm2p0L8el6AzIZmhV8EnAxOZh4NC4hMIUGbVq\nMAo4uDGk9rpb4sXWOmD1oyuvC7UwWi7e8esFB8lunymmKPjB25Xeo5OS68vu\nsnBr\r\n=KOhE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4XQWWY3kA2eJGnMlBDgiqDibqmN3rolbtN9aOAqF2rAiEAxUKvfTYyHcDHz+rFwhD53e9HLzipst5UvBTF8o5RdQI="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.8_1639395287382_0.13634889697514962"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.9":{"name":"ipfs-core","version":"0.12.3-rc.9","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^6.0.5","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.9+adde8c13","ipfs-core-types":"^0.8.5-rc.9+adde8c13","ipfs-core-utils":"^0.12.3-rc.9+adde8c13","ipfs-http-client":"^54.0.3-rc.9+adde8c13","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.0","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.10.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.9+adde8c13","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"adde8c13ba433b81e76033c418607be389fb3d31","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.9","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-B6Uq9VKEkx3/TZA9vnXNqBfgSfZCo2TsHfLwxaj6JXdncPEOdmQlBqgZT2xgiPQPWz2SDh+ZEsVVo6/cgNW8vw==","shasum":"d281f767a9fc41386566b288f28c14589b04d9ac","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.9.tgz","fileCount":574,"unpackedSize":2369791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhtzgQCRA9TVsSAnZWagAAYogP/0XaRIXKjOtPBS16Z0Vf\n1H2bWvRMY/6xH6eHn6hEUqMxgq6Os0EuBx00YTjNo4IQEfNEV0/mO1tGLkdE\nS22rwpXDQEOqYjWFgNwM4RTubFxs7S66Z2ywCjLIXiFX+axacx/Ys2nMudCF\nHIUhF8juDUsnzjp6D+CDpc+V7B6Nwv1bJNqZKtTKs27yPptk+cqMHa4ML6KB\nd2uYgqEDI/62eJAIJOLPT8uyeVfS2DvKNIPKUuskaqzUH1uBHLgHMXE24QX6\nXEI1j2Mn5ZaW6VbpDq431XJKwJFjMUOwt3DW2jpTVsjnWab3UxUt3e2idwFA\nyqkiGAYk6MGbmesPQxudgypL6JhgIQtQwtW+GIVbtbvCsPoZWaKWmYK5eAbY\nJRNwBHNbX+fwmkhTkAD0cBKUDDneBiWjsgaENR/hwjE+lzFIfnCImsHa8Kkd\nyYQnBnE9vbleAR3hMyVqYdkrdmhMHppQfT9PzGGhd3zRqqB8vzd11bzSokEH\nxqkYODseRrl4FDxnQE8QZCW/jPZSzcmq+8tX5gM3wjlDAM8lXwyulX6meA/a\n3t63DblezeJBxN2B43Gp89vmi5BrnSOr8AUvm+6LdFL6lR4sxtjPIUQB90CA\norcz9E0YfCcIc4Wq6S+pehBXgt0pUB11V9rupAAbCLWmMQjT/0Rcgr9+3kAC\n4dPx\r\n=QtRq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSXN3cYwBJhLGBYF8LPo4k+ZKeGwaQMo3mYG56RoI23QIgAi2QBrROGqlViJpPWG2nYW9rtj4ofCRwTNxFAlYEBck="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.9_1639397392058_0.08280083118097004"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.11":{"name":"ipfs-core","version":"0.12.3-rc.11","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.11+33f1034a","ipfs-core-types":"^0.8.5-rc.11+33f1034a","ipfs-core-utils":"^0.12.3-rc.11+33f1034a","ipfs-http-client":"^54.0.3-rc.11+33f1034a","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.10.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.11+33f1034a","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"33f1034a6fc257f1a87de7bb38d876925f61cb5f","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.11","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-okhpuHiu1aEzUbY4iBTx0dBW1fFQTC6nQGuev+J9UWYjpKs4TJ/tjVkdL3+TBaZ+7TdM+dlowG3UGYXP+KC09Q==","shasum":"f2baf8dcee0230576fe9637c1fce7b50be737ffb","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.11.tgz","fileCount":574,"unpackedSize":2372137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhueSgCRA9TVsSAnZWagAA8XsQAJvhY7RcEAxItC2v+ZSV\njdfrNA9ph3hmfkNx1eAj+o5K/mNqxAlzT9LsWjWgDb7a1WPH5Evoq+c2+OLx\n30Xvx4RIBlbrldsOIuglvOWhsrsKkrM+Lmg1DZSfcbpM3pWVlikiODOP5n7y\nm7Ebc2A2AhIqFYHFQhXUSqWibYDjMxABkvGKn1zbZCKzUt7rnF/K3mYlgyjI\ndLVf4xsd5uThhEkBvaLRpB49gCCfhmx44+m4fBhRPehsU7cLVaq7ioUAhyMi\nWZ53wOu22w/YRxA931lRsqwuHQ5Aei/iO3tf8eCbh4zHumdvfdUWfCkkhY5B\nRk4Wn/LrhdhTv62Vd4fDOfYrbBVO/IxJ1I5ObgNKl/RKErb3FeL4SvZbUA4H\nXKJYeM8pLXeRV1pL8nA2BLBNedgz/GH1eAojGf9xJiy2GC+0Xba5k/DWAM/a\nricdiwv8VOGcjhEIJH2M4RwxDVzs9xcpjw9j9Ur97cGk51Q3CVvRI/1AzvVT\nZNpzktbPBrPfcXtHGqAyOS6+VnDrbDmbNcxmOIjODw/igHrGg5lSLJDMOWI1\nvckZ1/VAURgrCA5NDYyTDOKYi896YG5eIzj+XGwSm06LHNv9zacbZnIWbC+y\nGu2X70vEU4feQErCs4RieOptFdFnNlMw88UHSdZol8vHmbCklRaz6IEWSmm1\nfr0N\r\n=rU22\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBlYjhRBigrJptEG7p9H3V18G3IJfaXcW4wzR6iiVY5fAiEAudUrH8zlqRM0gGkXp11WmFKkHayYOTqRmYBNhKBrr5c="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.11_1639572640493_0.07106378851703843"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.10":{"name":"ipfs-core","version":"0.12.3-rc.10","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.10+73476f55","ipfs-core-types":"^0.8.5-rc.10+73476f55","ipfs-core-utils":"^0.12.3-rc.10+73476f55","ipfs-http-client":"^54.0.3-rc.10+73476f55","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.0","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.10.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.10+73476f55","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"73476f55e39ecfb01eb2b4880637aad658f51bc2","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.10","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-nQ9p6BEhiktakvsXTKHEoOzGBVI+A2lztrfLUa1J++6x5YCqN8FlAZmCxP1YLfU8V/oAc5U11aw1TOTZfcL2dw==","shasum":"53a283016155639ebad0d9c0e38a603152a658d3","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.10.tgz","fileCount":574,"unpackedSize":2372137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhueSsCRA9TVsSAnZWagAAvy4QAIqcCMRR1jZZYPYR8wnh\nu8BrL6UjVxPNjTWH+iSfIHkYSVbdVFfYs649DuEdh0EvI0Xu7P6AepRSsdf/\nXTCYUL9jIYU82Mv5RUUKSygNq8bSNXpFHf2C+bT3xL7QqWourjF3kHO+oUUN\nct+EntqhGGoNGK+Y6oBJFETn94mmcnUovkwRPXDdFRRjl+jmszwz2X9xk6Od\n6Hy/BiJeRvqTyrDZOPeF0dPDh96qllicNdy1rZL3NyiVKhdJlYpEfFSyjCNp\narlpP7GBk2nQFArdiK83yfqrDKr82+Nmrh6y5efniYME48YtuBCm0ZPaBaWk\n8pu5OMKLGxslBdhevPc/teYwfU5oE+gd8U6mB0G2LpzMH+rWylQzrhz8PiL1\nt+r4DicD6eiPNtl2DFGylpesOjOnzwiYHmwjJLLhQbna1dUnyTPxzFQccOjz\nhx3CuCQvTx+rbJZWnK31TidjJo7Sha/zYruIocviYPnV0jkH4uWulSXHq181\nsh7wGQtGjdORWTh+o43pypL6SFmRQ8vME9Tjv4USZ4G8jRFswb8tXLrf3/pL\n4DSXO39DMjznBPEVdF5wK2OVhtSE7FcTAlK1+DQxUoQRyTKPWtJyan8nxVJy\ntpJODsawANWt3UyaL+kcbNH7bWcoWbrDug8q8+blTmud3RnZmeMJj+6hbQaz\n7tMk\r\n=F/Qp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFLe1h7TsOz/5TdyAtvY1sT/elE5W00FDSIsq8okrCRFAiAwYShaGR4pnt8Gw16VccPVyT60yJRZ2czSialqYWufsw=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.10_1639572651820_0.21202863175682984"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.12":{"name":"ipfs-core","version":"0.12.3-rc.12","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.12+6eeaca45","ipfs-core-types":"^0.8.5-rc.12+6eeaca45","ipfs-core-utils":"^0.12.3-rc.12+6eeaca45","ipfs-http-client":"^54.0.3-rc.12+6eeaca45","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.12+6eeaca45","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"6eeaca452c36fa13be42d704575c577e4ca938f1","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.12","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-f9RKPVorzPMPwzuQ7Sk70VonCTu5hGXwdYZ1mSmxdJS6BgTrDe4tGDeWnnrb4XzjrP7g3Nn1+BufRtqaa5ToAA==","shasum":"d1ebdcd3734d7f3102e0383aae9d43001dfdd2c9","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.12.tgz","fileCount":574,"unpackedSize":2372302,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhueU7CRA9TVsSAnZWagAAcUcP/jAT9uS6q1Miko7wTQwA\ndQdqPgdBzEJ8hcA1qqyzqLmNu8SGKH4/BHBMVp5OKvVV2CeXxFPnDiIX4gZ1\nFWkiWjBMh8RyIOVcKuGwm8sNm5WVnxYApNQbpBx9YEruNHtqMQTi+NWgcWu4\n74MjbPa3P/aGF9CbqnKKq+WKxoxG1pmgOnLYs9JeA6s5+cMMeQmtIysY8JPi\nN2IohjvPSaCrXAipkcl2ZDT7Ur+odxKqYwGyH7/DHHjaesQCmwmy9GJ9gZqE\n0CZ0UpCVGnjFOQTMIpVBDmh/tXrEpt7rnUPfSvGsDyhRC50qMT5w9VlTe4Av\nDLSBsKfrCBGuNGCDr0KorxSAr7k2gBgLgOpZeYs72sZgLK9O4e3b7JUMN46H\nMf+Y5qIFO7CCFR4IIe0gRBPfwFGlNMfmiIgk+TMnBV+8PIn/xahDuzXO4qGT\no+sRLqCd+WuVqAlrVVIQq5bZFyAfcq/tQGnL1xpdyxYwKk3XxE1jUh4zbHKf\nIQKTvdf1iMwbSkVr0Avrp0YY8/UT+VNZd9lH4iFMVzjFQvBaFJCMM58zTbT4\nWZji4EH/XkZoTlcQBT+RWEJgSrDogeXroE8JHvUCwNzbbpy1rVI2bgoURswG\n41QGK2+PhRZFng5fo5ykfp4u63egw+PJTD32BlHoecxh9xhYxuRMuyDaPiRr\np7W6\r\n=kAta\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTRF6cMOo4z3a1gsqvaWskx4ttAFshEJ2AjIXE7ql8DQIhAOJo4aT7cX8u9dnMhMvgUflZIZU8I/IhX0s0ID5VjHUW"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.12_1639572794700_0.44656235536089484"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.3-rc.13":{"name":"ipfs-core","version":"0.12.3-rc.13","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.1.5-rc.13+d147494f","ipfs-core-types":"^0.8.5-rc.13+d147494f","ipfs-core-utils":"^0.12.3-rc.13+d147494f","ipfs-http-client":"^54.0.3-rc.13+d147494f","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.152.3-rc.13+d147494f","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"d147494f362d38244bbeafbd6e7d76789c7c5020","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.12.3-rc.13","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-Vk4d2QlzYkZrhjCPCKQzsb8NpTDPfBp1EA1sZETv/wHK9nNCFz/pAAX9OhdmBwhCUzCSlWEv4r9votLAvlzLDw==","shasum":"bb7bc3b136a27e281427fb5f621e5c9aa6c39fc4","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.12.3-rc.13.tgz","fileCount":574,"unpackedSize":2372346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhujMUCRA9TVsSAnZWagAAWPEQAJDpdmJPfFj+sHlZ+DaF\ntnpqw9Gv+pAf8N5k/tVJmA0YvTS6InjrC0/lP2p75lHQBkAVWLgzJMYzesBj\ngLVG95vu7MtXSrKjux7gUhUqiHdMLtxzD49dqimb7WFsFAJUxDxpuvDK8NTL\n5CLdB+d1xn62wcePtpFWVLxfHZsDOb1t8TsxSqS7BtFzk5QITexwqxDh3Fcs\nYm2JdUvvGnIRMTsQcIgk2ZUXpWcMt4MwDbZmI4ej8gzWQ1yVsQyJr8STh9DE\nq7UbHw9xaHurGb+9zTvRLVnqcESEFtB8VadNF7m7szF5WYQAt4nuCxDPPooc\nrDza3VU91IofkDR4/sZnXiR3jalhRtRgBoexd38TsrMF77plJWJQxZbj68TB\n7laggjOaNShO9Gmgv8NsmnVMvgwFsCJlKaLjEZnLOuP1peLd2O0YgoDrnktZ\nT7DBUbs3IrlL1SESh49LsXm/kvovSKTSHIpc3i8mUVynOyjJbjKotSOFHht0\nw7byP966SRM43W6dTi0UwLlXbrsruIm34Oup//HJnbxNBYjBYyoBwgcD2rwS\nHHdCpOQSdbwYmAFY/ltzffsGgHLwwPs/QF/dTtynuKU3xVDGB4wFRx+tlIjk\n24QgYg/H0Vlh3eG9h28IuvW4cXXDH/BReVqoA1ZOyQHANv3D5sjoO8tWvBSg\nXEGz\r\n=CUDe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMOCujm391vGDFRMKMj2P66M0HSgPLtEumOzyggDubuQIhAPrWvbR3LNJsQGvbl7pmfx2QXQMshqXzznYLZc+rOgV2"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.12.3-rc.13_1639592724189_0.6016564922142815"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.0":{"name":"ipfs-core","version":"0.13.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.2.0","ipfs-core-types":"^0.9.0","ipfs-core-utils":"^0.13.0","ipfs-http-client":"^55.0.0","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.153.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"7375caa8805298fc671ed4080e1023aafe756151","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"_id":"ipfs-core@0.13.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (darwin)","dist":{"integrity":"sha512-25spsvgiRYle1QCC5Fzw4or/Rt1hAy7oZapL+mxXbweYL7JCX5AVYQZ8ypZbME0NQq8M6NDZ+IISwmr/wmAetQ==","shasum":"48ae8b48c92ce8ca79f34fdd1a78851d5de5aa0b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.0.tgz","fileCount":620,"unpackedSize":2379951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhulALCRA9TVsSAnZWagAADaQP/2OLMdChEx9oNWR0A+fd\nmly8sBt4kXlvMhAQn6b8oZYyKC+e4dXyS6YY/VcJw24sxyQct+r5BFh0UODr\n3caz/BoegOoXm1u4CQMropIRktG3h2WaapExm3x9UgQCwspBxSU4QI/kMrP3\n5VBofybErsJlrSIO7/+tieYxby9KXF086FfYQDAUEfg40SnHqqb3hPllmuTx\n8EsqHE3Tmy7/5rRBjwURMr9PIw9EV3iE994zBish3Yc/4NC1VSjq2Ey0qyzh\njkExVgTW9P9borUaWg9D0wopTuqZz07LHn/g+5YB01tUTPuKGqtzOGUBuk2q\n7/D2mSb8ct4STiLz/aC3iFkM/DYBOqzDy6eMeukm5MUKThc5+XF7Q1yqrwUA\nKySuv2tewSWQWc7rgmvUw34d0fSvTWuPaH7x/5QbtrQtCf6ogqw/MXkazmIx\n/awx16dQ0AkTCym7LOeLas+d0Mo4vKVb5zk+ASMQPO5pAwNPmkZ4qXAlPOMm\nutEdgZHt7rAoXu5vIznuiJlyttBhxdV8g762Pa8z9iua4qp2t2jdU3cNn3/J\nyjdkCsENpNPUFvbIZ3pPEMtemW08Ki8AX6g0709qGD+DNTzKxTbkYpq2S1oC\n+vQdJzXcpu94vartk6IGAJx/QtBceE+H7ZeG5yPqdYyJiC8A1SbXisWzKZy3\nXfJy\r\n=ooAM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEtQutH3IVVqxiL3RIHlYlgDcedQr0DayyYQBeb9abUJAiBD9tr5J1Bq/0mS0oyLgNH73jgeh+jwmFOicJjHv4hLPQ=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.0_1639600139062_0.2560210385444157"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-rc.0":{"name":"ipfs-core","version":"0.13.1-rc.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.2.1-rc.0+7375caa8","ipfs-core-types":"^0.9.1-rc.0+7375caa8","ipfs-core-utils":"^0.13.1-rc.0+7375caa8","ipfs-http-client":"^55.0.1-rc.0+7375caa8","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.153.1-rc.0+7375caa8","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"7375caa8805298fc671ed4080e1023aafe756151","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-rc.0","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-AFsoKQIJ5/6uHnfxSuCJXZxu80AGYull3jwTIq9kpb1IafDvIFAUYgYXyu9U4t70GhP2v59RdiozybrbcECzDQ==","shasum":"0dc00120557505dea782c263500be311347d3969","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-rc.0.tgz","fileCount":574,"unpackedSize":2372332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhulBPCRA9TVsSAnZWagAAayIP/RxBeSgEAyyMGeVssoPV\nChoHg5k4lM/W+RMUj7gmiujIQcfDrXs3FIBYyO505r4JXtB0qtH+t1yv8gP8\nKGy8xOXJiYEgL3RfCQYK5drQknkaI9YF13qLcBkVY2QVbSNgki9KXg9ZPrHy\ngbgZltKngH7fJCqk4sdyfBLkxK+MC5opaDK1NiT6LEnx6FxDXIwMN5++lJvR\nVPSD3MG+Kua/QYyeGwARV1bT27BQEQjEeHboDMj2xhrtxaPvddygGtkKHSEW\ns3WYyikON5zPr9g/OxajjJs6Z+VvoaKTYcANoRnfFjesGgShwkOJkxey+wqx\nvlDwcD8N7Gsr1cdQiU65qvi4hLo60/tCEecSRex1cBUmfIkAJ5cs6iST8Cpl\nHuwq7jsxurECUVBK7XDgcCE45KBlyEkOplv/imdwAh6jNqVIHSgVl8uf+7XX\n/F7ohWivu/4BSGp4OFMF7TSJCeoa4/jB+9nCRfwiNfEvV2qVQhCcBolEMYxL\nXBDL2tauyABvsAEc6HMA4Kf6+ZvnrJ6t9xm/sIS4VkJqACr9asjmeQDi/5G4\neyWr+0WAwhbnX7UQ0sNLzTUA8WWHZqrD7YcJxGSOKkqneia+X3emd5iLjJsH\npvGA+tv31QpdqeRAcChh5JZAQ88TOIg758QvyQVLVsPiEOOMx2ftLLK43DD2\naIp+\r\n=K+le\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGQjXxiFVo6m9Z5QE2luDqvhK2Q6X/vYUPNWSsgmOYz0AiEAoLPSKYnbiDqIaH6d30yWYWKMCc0t+tqsUE0Z9W381jw="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-rc.0_1639600206817_0.4456014993806059"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-rc.1":{"name":"ipfs-core","version":"0.13.1-rc.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.2.1-rc.1+880e47d9","ipfs-core-types":"^0.9.1-rc.1+880e47d9","ipfs-core-utils":"^0.13.1-rc.1+880e47d9","ipfs-http-client":"^55.0.1-rc.1+880e47d9","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.153.1-rc.1+880e47d9","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"880e47d98cd89d774d707d20bc4a3db8c0d3c5cc","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-rc.1","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-NUNFMMg7pLfP1xxqSi2d65khPD2YIRN/chDDhwKaectsQujRjgOoluMOHuGk3fSfaSmZYzYJ58JQoWU+WRitsA==","shasum":"2c3ee760161cba6eb5d35804235458de92f52ed3","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-rc.1.tgz","fileCount":574,"unpackedSize":2372332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuwG6CRA9TVsSAnZWagAAYQsQAJM0X5hIO/eKOuTZ2KME\ns7g9cmzDVV7r1lue9Y9Kuie6b9QbbBJPbRYXFt1OVrVb9OAKY8SvWQAwQqUF\nVxVHaRAKu2rP1JZtAuapLZjI/LQSi++z44tUPS78NLVH/FWjSh7YyknKyXIZ\nTB/tPRDBSwzi8AWRvq7ALotmSusjzpLgGMz9zN+jJ4N864nsSOc+IGoy4Loj\nTdYPVE5cqdJoCIka/5/UVLbeVS3hAvyI7dkNNybXWtm/Nm36RMr+ZUoqpqiQ\nABfT/GipItE1462EKwPMt79eqh7U2hqgzkH3oj9FnTKvg2ZxN/ZKc9UJEkXQ\nRCFt2+8ev1U9Jda3c/VvtfvbTjETlCmhBIh0Mrg6NLhHU/0HDc4w24Ds5Zjp\nFRe9gJbRi0qRYqjlduX024I5IRsQQUFFK3I9yT31qUJB+VG/D+3+S4ORWjoq\n1fdGLRy5W+4zVoNBG+KbPpwt42BTK6/nfblUGDmOL0S7oVdxW+govvP6n07Z\nzy4gK2PN/Ian88pmIp0/UTt/MdL4i18c3EChe4dLpBY/9JobrjxRkSst61YZ\n9Wzcjsy6xcbKb7n8VurDtLH4WU/OsuI2xLa2quIfvHvSRG8YP56gava0jFqL\nAexvGjCnzD/vgCGMAfOA3azX1EutEqTRCc1OFT6c8vN+PBNeo30faI9GT1Cf\nEkFP\r\n=oXlk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDidvusodftkBDHxI/y/nQ5Xc4iTnb7/M5ODyvG5rxuqgIhALRycP9qkU7xvfsAFsjKxTXvLYts/nJt0RjKvFlL3/Va"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-rc.1_1639645625690_0.4834813158991129"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-rc.2":{"name":"ipfs-core","version":"0.13.1-rc.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.2.1-rc.2+45d9baa7","ipfs-core-types":"^0.9.1-rc.2+45d9baa7","ipfs-core-utils":"^0.13.1-rc.2+45d9baa7","ipfs-http-client":"^55.0.1-rc.2+45d9baa7","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.153.1-rc.2+45d9baa7","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"45d9baa7576a0ac924f3d01d49371bf1a4cf654c","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-rc.2","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-NeVOSonkn1BWN8DRK5TAuEyZ/kMjXoGML/3m7iseskv5nKSBwSco6yzXq76uhYxP62JWhZ7B+9H233KseraeLw==","shasum":"a7cf03d8c9c03751db45d6166497d6a3ce1098ef","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-rc.2.tgz","fileCount":574,"unpackedSize":2372332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvF8FCRA9TVsSAnZWagAATqIQAJxRE0O3VS7MV1Br9bvq\npUwYXDrt+s+1tPjADlFsaRyI7nwNg7rqh9rKzTcmte2ucshkA6G73ajw7DHX\nWlCVocucDNvc71w0tBI3jT+s7eQAEYUz9I9+bAzK6apU7JAXlxUXeM6cEBV8\n4zKuuKZGo+ODgt2GwSwvxNEZP2yNAKSnKgZZ3P2aJtMrLRKnHLfgD2UQ2lxI\nRdZvJxQ9LHw6FRk/Vuh5+xf4lepLYdokqTZJ2HqVdf+2lum/JPjgu16zoyLr\nwMexAbBvDPPyRUaSrOqojQUnKlHz+/3K1biYpx1HfcBLoduYhs3p3bbcEFh1\nXFOuPPZZNk9i+IvSkgiVgI7cxYI6OEKLM0SSo51K3nvBLXPBTjVPvALa8CEW\noHQ8i/1Nd8TYoC5JObd6hP7Vl2eMLEHEAPyMPzJkKjz4Kr0y+7fS21Ouqtt9\nJjSblPoiP/8ivt7HlvIi6EBWW6KUiEizZQVd0yK+uPnQFUoCmG5XO9vKbr50\nppyWNnilQNbln1SmAjngtT/8RLR19vG1Ng8p+Mzc1uZsila/splXfsjmHDwx\nNbrxEMKecq49uwsbCAbmg9yeStlijlPip7UIfSS/pRztcMtVYpxKtQkOwDCp\nCs7bTHFhKY4CtBXPfY9Sg6LKec/SyP+8VBwOXQ3oC/1ZNKWwBCvI/ccB8I5p\no0zt\r\n=cAWd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCZPv8LFhwyof+y4qjvvlef/0s6pW0/vQTnE+RxIZfWwIhAO7+xGQIG5FdkYQ9Zo8qX0kXJGozAB9uYHE94Iy/uAdC"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-rc.2_1639735045576_0.06277154942939145"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-rc.3":{"name":"ipfs-core","version":"0.13.1-rc.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i abort-controller -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^2.1.2","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.2.1-rc.3+67a8c47f","ipfs-core-types":"^0.9.1-rc.3+67a8c47f","ipfs-core-utils":"^0.13.1-rc.3+67a8c47f","ipfs-http-client":"^55.0.1-rc.3+67a8c47f","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","native-abort-controller":"^1.0.3","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^2.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.153.1-rc.3+67a8c47f","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"67a8c47f7eb4ca93ea16defc24b1ebdcf4267971","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-rc.3","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-kbyRLVAypoDZB8UGeo0hUX2LifRQX6vb4A5/yMNeeBsuAGcgFrIJeyuY6b4V03EIvQZTFjJ/oj3DAb2dxKszEg==","shasum":"570bf7a75bf1204d171aea5fa11e4b1537652399","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-rc.3.tgz","fileCount":574,"unpackedSize":2373386,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4HADCRA9TVsSAnZWagAAHJUP/iXyZ5xIv5mqh7S11Dyv\nocC6NdOOLC82mGiiUJokUUzeljJQfydZvYtiJLG212qDx+oXajcqdzQVvW1s\nk9mn2TeBAIuYWiZ7l58i/wBM/qdZO05WY5WzuMEvfZv4op9VymDMJWY7s9xy\n7F1RzTgQ1ZXLnl14VgypJ1QSg59/Q8RuH6xIwlqb9tkzvNj0DNrxZqdy5+2w\n+3QRb6LCuSQI2Uku1riXGvNJcLgfeFQ3J1AtFq73vEhXx/LetRfhXxSewP3/\nWBgtBBmYxHU5UVid1o4cKl9IGPx6IS93Ff92FH1AUgFDSEzxq5YCi0njpUWR\nzhogsF3iaHKzFk3dIAPdrSFl242XzCbhbykPzg3DGNxHVcc55XUJXRGTyvgD\nUcsEO60zCULymMuj0x1XCsuBcnBx+KdtWbbdS/v8bIwKn9eMk1bc7+vKYsyA\ntVIl895dJ9oHOzkCq/4s+RGUNUTqvNQgdRNNixjaJam1VZw/3dOOstVyz1vV\n5MKbLPU68jq3lqStnTbiqWTsQmjDofNW9qbyQTSgRTzWPIRs3VEtnyjF8S00\nzgk63spt5H2r5oVZWBjOKmupPf7QdCtIgw4e1YLfsco/w1cf+gyo/8zqZZaR\n4lzLndYak1t8Z0T/9EbnKPzA4a8C9Nzptt3AbeZ22Qlnpgr8M82Wy6QYAdYu\njdoX\r\n=YD4r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHG0dHHIawKoJ+Smtx9cInH3svuwY/6OMdve5likOwmQIhANYF3ZU4RAXBcQmwYOVUAa/f6hiLjaCdPTcVpORH/U7J"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-rc.3_1642098691104_0.882589317085551"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-rc.4":{"name":"ipfs-core","version":"0.13.1-rc.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.2.1-rc.4+902e887e","ipfs-core-types":"^0.9.1-rc.4+902e887e","ipfs-core-utils":"^0.13.1-rc.4+902e887e","ipfs-http-client":"^55.0.1-rc.4+902e887e","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.153.1-rc.4+902e887e","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"902e887e1acac87f607324fa7cb5ad4b14aefcf3","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-rc.4","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-xqrr2gXTgIoKfelTYKSG1RQF7c16QyJ2Zz0HJKpbuFK1xd+qgPKoP1QdQfa8cQWAa6pvCECO1JnoULKW/8LxVg==","shasum":"9658ee7ba2c0b6dc5a71edf0123b1ccacbc421b6","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-rc.4.tgz","fileCount":574,"unpackedSize":2375709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6XEpCRA9TVsSAnZWagAAiqMP/1xX0lb9MYNSfFV/3oBD\nmGYRMia/lqnDUgiA5aeljObSPsShikDv3CDPJol+lcdICdiJGM7VhvfmeJ4L\nmRFRtPd4W3pcIhi4Ozk6Mr6oAPvJlVPElPvMDAQjhr0yZmF5aiS82E9Z7YcC\n9W9DAPlL8B7xgK0imJFNzfYpFeKSnCeAdCCgBLWurF8riG9trEOtijFb905s\nd20BsBnvuwAhRpnQRK9BTJi0QQxPLlvfoWLc8VOmK/QKmxkjQZzsskYGJHLD\npZlWb1WwdVz6AcwiOXmUQ9wXSC6MkYICxwMevH5lL6RavcshIw4bxZdOmHS3\nwHG+ilzi6YCzfmEq31b7Wr8qnwH9Xf45XjoldTWmBXircX4ReGKka9TBXkiA\nNJl506vI+YW9fE0fn4oCjz6+pUWIIAejcupi+xvyvdPQ9jEVR4R9QV7bpfwc\nYPrkwJNve4tYMG1ZWbqDUsxAhytOkIS8/AOkC5W9oSUiDm/Ex7W8EiyTQ8aQ\nxTVdoxvc5UtuznR7j5c9jkNoVK1MZrMv7fqS6LSrv5YIqJqMm5iwGZ8DBFQ+\nXWI/m4AOVdyYaUqJrbQdzeNjflEw4kqSfcbel42d9HVy/heb6awftfGJMzON\nfTWuDAEW3zrMWJdms9nPnFfvP3E2zTLwIDUKMm4R8sMJDHGv0Xv90TW0M150\n1PkB\r\n=Ey53\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH7TVttIgdhv/6r85lw8+0Zu+I3LTeyhUKqk/9EMDsCBAiEAhjRSgc6cu6bnAERoU8HOHgzH+MLkwb1d1diwAxxatns="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-rc.4_1642688808839_0.9771384714369169"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-rc.5":{"name":"ipfs-core","version":"0.13.1-rc.5","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:webworker":"aegir test -t webworker","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.2.1-rc.5+b9382bc5","ipfs-core-types":"^0.9.1-rc.5+b9382bc5","ipfs-core-utils":"^0.13.1-rc.5+b9382bc5","ipfs-http-client":"^55.0.1-rc.5+b9382bc5","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.153.1-rc.5+b9382bc5","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"b9382bc5bc7341a2771a69b2386e5473b507caf1","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-rc.5","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-z84GGQtmn8fydKeL8zeYP0rRdWFP+EXhRXS0wL9hcHmYxELwkoDZNAZREaiEk9G1ufb1CZTFpMPdo8K+bJkpxQ==","shasum":"3aad8ddfe23a7341e7f6573bb3e1ccb77b31db59","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-rc.5.tgz","fileCount":574,"unpackedSize":2526689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6tVQCRA9TVsSAnZWagAA4+YP/RcOXIR2JKFgAyscgdma\n/2zPxXCsRBsJ5Jf30kdbEiGSyd9g7x9delmxv/0gfkhXK2IN95S92MSzbKaO\nWg/p0RK5g915r9t9jGmJJEM8XpgKxv+4KJQ5+rnqRd1jWfjB7S/QpeQJdQMq\nd/3JjqCqb/j0tDaFrKQAXU/XZvAHzFoWRfW+Y9O877hOU61awPbi9p+YIR2J\n/c40MRef3LdlgKd9EWcg9ReLAiBBnEFrnJianoFUAKIvpYwF6uCkngPRUtSp\nggpb9rMHXsp7qzv6jlGzIEZaaebo7aiyCacg/1Krc8Q8pRge8ILF1sdccXb3\neXvQeoq7EF3xYeIusr3nZwDdMonqKdnb52gLsuztrV1OlDr+F8Kskxonz1f6\n6k4ScRCO//U7/xblut4ASzLfn8YYFwdhv+mEkmpiZOXIf/4Ki8GffS81Mweg\nYUVNdxn26Gfm3clHJX4UnFnT9qG1nh1JjnHhN46fuVvOa+hCsvCRv1KO8+QX\nhNjcCVqAAyZ3eYFZED4tuDZAwV6SmNm9obU7RdAXNwgDmeJD5S+ODhLdhVSB\nq85KsK7ugDdVYDtlm/8pi61FZGq+dHPZM3XnVqJm/7NLcZ+1Gs1piixsgFsT\nuJB21HX2bmAidQ+Ik7ZMewHjWICjXp0se47eVr+eB05hKPD9rWPSsbxY11On\nDDTA\r\n=PT7H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGhC5yX/mlpfGcOx2i0VK4hP289XyP+xgLI10E/qkUnxAiEA+qeRlwyJiOZ6Mfwjq/kwF6hRcMjXOFoeiTLc4KmicyQ="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-rc.5_1642779984077_0.04484702643402305"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-7fe0da57f.0":{"name":"ipfs-core","version":"0.13.1-7fe0da57f.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.2.1-7fe0da57f.0","ipfs-core-types":"^0.9.1-7fe0da57f.0","ipfs-core-utils":"^0.13.1-7fe0da57f.0","ipfs-http-client":"^55.0.1-7fe0da57f.0","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.153.1-7fe0da57f.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-7fe0da57f.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (darwin)","dist":{"integrity":"sha512-vNzmna4vhjcJYjTpJ2rvEI4VP8+3OEeF3mrDROxco7DothpgFThHUeqITQlboVj2zgSOuSAjbqhqGyV/h4ULMA==","shasum":"8bb3fcdc812d51fc04bfeb220720c1849b170975","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-7fe0da57f.0.tgz","fileCount":620,"unpackedSize":2534367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8Ts8CRA9TVsSAnZWagAADt0P/1wedERs8NIH3SiFtWP/\n/O5ZackEitGqG/hpdZAw0oTXXY1j2CaN+NKApZU1J+5QsL7NrqP18AgFkHUZ\njyyOOwJ+cH914PxpnwlmXhVawi/Fz/+mAGLjr6dCGctax/3tJP4Yeva0kYUX\n/L28lMjCWlRVWZejg/oaJVtaL5IEn98+HUebAd7wixDBsjqIoAc1IRsIwBHn\nMoaNIh6pJPJtlzGV5zUMy8n62W/Bc+r4oX+Y70qKYYQwKl2oUg0jDR0Odhnn\n7GlQfTzVPd4SNQqfy9HLsgKGR5W41QDB5saGuvdBLGoDI//PFVDBymPzJTYY\nYV+sKXQXU2Fxn30wglyxfbcwaRBZjAXYFwrHsLsKQSrtzFKOkpYZjiWZrK0l\nXa97fWXYcry1olj0cGX9tf1qBhnR/PPZH9ykVEisn3SHNtkC+FHb4StHWdGu\n1b2zdMWCEx/J7IROq1SzRBuX6HjtzB0mLdcX+95HM+3mEANAM1qnzTERkxa4\nbH5mVinuqrLSc/d1zN0td/EIcNy0hX0LP4/9dd3Xoi+ujcFPKxOmApiDm0Y9\n5b1Re3O/z5PMwoLPprcXqiVqWJXw99QXwkwTNjwjFhI5kADWLLNVKGidLO2w\nMfiBajlyFHj/SVIqFPp1hfkR5FAoCPy3jAN02yIaDtMyxU3x3yhp1bZy8CXL\nvdZj\r\n=u5Fg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdq19b8wEcJjbVLBvPrJMUPoF+grtoUIpvCZq77cgKRQIhAI2Wh9FFRu7eWYYGpN/WdxX3hRwgRe9+BhmRT7FCE7sF"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-7fe0da57f.0_1643199292198_0.6886689139636828"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-5439a0e.0":{"name":"ipfs-core","version":"0.13.1-5439a0e.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.0.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^6.0.7","datastore-pubsub":"^1.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^9.0.0","ipfs-core-config":"^0.2.1-5439a0e.0","ipfs-core-types":"^0.9.1-5439a0e.0","ipfs-core-utils":"^0.13.1-5439a0e.0","ipfs-http-client":"^55.0.1-5439a0e.0","ipfs-repo":"^13.0.6","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.35.4","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.0","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.1","interface-ipfs-core":"^0.153.1-5439a0e.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.12.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Lead Maintainer <!-- omit in toc -->\n\n[Alex Potsides](http://github.com/achingbrain)\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-5439a0e.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-ryGvBx20oWCVhs1jKqA64W1TbsOEAj364txfJpI0+yqvRsFI51YI5qLdKndWNs2XYxq8wEn5PBoIeGhgssr3tw==","shasum":"bbdd5aed21a193ba179fce4a38408e392a97c4eb","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-5439a0e.0.tgz","fileCount":574,"unpackedSize":2526524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8UehCRA9TVsSAnZWagAAoB4QAJuu+kZSX6JgV2x+qET9\nUtopegt6Z9Ch4qAfQjKUU6h0/JvLZ3yMecjTuhtojp/jrjqS3a4OQKz5GhhI\n6+CltkxNXntb+oG1716JsmvjMDwBjDEvNLam6lXqtLAK/CEwA0Lk1SqnYQuf\nt8kqwyGWoeAWqtCqfyPYtphDez+ITblXwucWrG3prgq5uNbvWtk1rifxT+ai\nJJtk7l5ai3OyViRYEl1fMSYO5SVBQ4wVxKcyDIOPQBVQFQ1gDvKI8LlhXWKH\nBG7KWnt9MKo/9vlOK+Ur9INSOagdR5Cd2CieTW2RN+6ymPA4hbUxtzu7FdRg\nz4aggX3k8OZ/wg5WUNjVxFnOBW1ct8xEWKz/qYLAhu8Fp0bfPSZsUNAhIvfv\nFl0LyTQpuf6b2OMq/z26RY+R6lAdF+xKtYoyjYX7oafzqRTS69rjChvIfySk\ndy5+WZMIrQDLlN+4SyTj74uW7I4QGf/8k0UkRNSgQFWjhQpAiStMwJnH1tHv\nsaKAOIE9YbfzGZCQ/e2/ZbB7YY5xzv5NsKrFoHMMk3apFTD9TQ5iD/0vYW3D\nAAouIYizrINrBX1lD96F8MexWDkKKj/DKGF0RAuY57HgZ1fQtlyT59bzZUKR\nVL7hXGiB09ukb65bxXTb3tJmEHdV6Zd+jH095KMFlfxY2phh1JTGYKtil05j\nGChx\r\n=bTHu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGIo8tzXbR6PpCGjxsFoF9guADQ1bkRxmEVQrVleB8aHAiADJdp8gZsW0UR1WHYtZ2nOCnqVZuS52ug9OLr3T3kOHQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-5439a0e.0_1643202465543_0.5858450164397648"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-a6b201af.0":{"name":"ipfs-core","version":"0.13.1-a6b201af.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.2.1-a6b201af.0","ipfs-core-types":"^0.9.1-a6b201af.0","ipfs-core-utils":"^0.13.1-a6b201af.0","ipfs-http-client":"^55.0.1-a6b201af.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.153.1-a6b201af.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-a6b201af.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-p8ivvpl7lG2OYAMA/8nTtiyTQTfhluTIXupyFW7qz3kVYKnuc41fCRUlnZgDHqyMtA2NnPuiB/3OQ02Qg+LkTA==","shasum":"1c27ef25e147437e79e0c2c6888dbfab105354ec","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-a6b201af.0.tgz","fileCount":620,"unpackedSize":2421582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8rxACRA9TVsSAnZWagAAAyAP+wVF5tIE1TJC2/EV538Q\noxhdwmug9pCS5I/epcFd56+4QfKX0UufE95yfCJ73uNgOeYzc46XsbnmDQYD\n1OaGdqtmeOMhh2Lh3dH4QYzzjqyiKpULjzjt77PJPJ9wwrmQYCUZ72EeOToC\nBgQgxfhai7fLdpvw0ylVgJaDjvhEzI/v7FWJDA7/89Zu/dthKDlTrsXXltrL\nx8GM9noVNdyxogqrvJr4r9MrRqqLEi4xHdLSkRzFJfWuHqjxpnRCQORgik2Q\nvX4uTJxv+VLmCmpUrLaQwqkbdf5YDBK+Okk1+KZoZ0sJSDSESvW/1hoJBLX7\n1IoglkAuGfEwbxXfKUz3I58uz4EqO7Rl2aHcUNVpO6IbKdbDWKi+t4XPGJYH\nDcmwClXmJ5qJcVmXl4Ayybj4p7WVl23mEN/L8zGo7GlHoQStErUsa6jGsFVA\nYgGup2kcIIAGFL5sazKnQw+NQGeTetQJw72M6KvdjhqevROGcw480HW8us++\nvlWBvGwGdF8ALAKyel0ukAt3aZGaQavZW5blhtkldqnlwgQH02qRsKFmTpHH\nxUrl6InW0gfiFVxqlbZijWcHqyiZCiCiRv4kjD4TJ5l2/ZZbHw46Oq+ua4Yf\n024gCdTj7JWGBsQYYKSR8BOrWZKf8mTi7QkE2ILjBK5OpNVBDms1xvTHB1jo\nV2tF\r\n=EvfR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEMhGSD3AevAfTo/4nXovvZa3eO+rDwpVE6bbeTOcvTOAiASgLKC1PPco2/un4lo+PaG3R/jSsK21Z+GnK8tMKjO6Q=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-a6b201af.0_1643297855826_0.31067376646603395"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-fbe14923.0":{"name":"ipfs-core","version":"0.13.1-fbe14923.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.2.1-fbe14923.0","ipfs-core-types":"^0.9.1-fbe14923.0","ipfs-core-utils":"^0.13.1-fbe14923.0","ipfs-http-client":"^55.0.1-fbe14923.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.153.1-fbe14923.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-fbe14923.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-nxyWaZiIMyUoduyD0O5wfX3WEpG9q1eUxlQlQRy5B5XxrtQi5TQmnK6xwWijn4kMe5vaEz7xCpo3UQpGVN2TQw==","shasum":"61969c93a74c331677e80c689af9d6002800dd5a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-fbe14923.0.tgz","fileCount":620,"unpackedSize":2428222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8uHFCRA9TVsSAnZWagAAsPEQAI0jJz+awCBv4L/iZnKi\nKHAXoLnXzb9Iks2AowW7ewTuq4JpOW7tagLFeLXmmf7bAJR61cM/VlMRv8fN\niAsk37mzRwnk0omVv6B/kSBxBXuzKyfdm6HH54Nt6VWvnfz/PIE4YSKipLuq\n0Q4O3REARh+FZXMqOUgPcezd0LOC5a+qMZ3B4tOyBYrJgKBOgHI0N/WY7bYj\npRA/c7jTi+SOpMdNAcBXWTbsdvGpGR/pAzCOMA3+9X8v4H1NImKQ4rUC6IFv\n5+Q7y1mDQ4jk7seu+rsRztjWsoFfla3MhtAK/zELOBkUgkF6ghmBPBfI3BA3\nDgcKrZWOmkUOTPFstOtP65uPOgg0w296QlylnrfGqjP5Yy4FUTUc8o0uGJNz\nLpbnqvTOndFm3FRZIVAYVP+0AZIy+0FOvVaWQGMNOVaET07Xb4FTQ5Pa2KYG\neKPcPv6Wjkjqd66NYhg0yDtcMLG06Ac0K16TCOgnP5byJwLsLadhqpbWIy5Y\nPJ8aOkbfvIk68ygxi/Pjr6c/JLmvnJKjqPFJRIw+VxpvZh6/mcWsTtuVB4hU\nqyzrTIdurgZ9bcTHBwvXjlLCPRm6UU7l4qCF5SBmc6oA2/vWm5dzOi1kwzoC\nSK8wBbaaRelXUsw75BTNPp1+QhpKi2Fqi+f1Hii5yecZOCPv+nt6c4+yMPrq\nDQap\r\n=B4bO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUv70mOziOagT89tSTXQ+UgclLP0lABrhTQUC2H/JI4gIhAK4r8EqDlNuN8WNj0BnEEDqzctNW8Mh3T+L5D6MSCera"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-fbe14923.0_1643307461465_0.13456274898907172"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-6cb3a87e.0":{"name":"ipfs-core","version":"0.13.1-6cb3a87e.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.2.1-6cb3a87e.0","ipfs-core-types":"^0.9.1-6cb3a87e.0","ipfs-core-utils":"^0.13.1-6cb3a87e.0","ipfs-http-client":"^55.0.1-6cb3a87e.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.153.1-6cb3a87e.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-6cb3a87e.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-PmXGMXtZUeVEtvV9hYUPYHkDx6/+/EHRsuow8Z5KJAZ5NzNIFdV7wvDO/DX9IhhQJvgrGYkAKfYtdyJv6vmj5Q==","shasum":"b52ffb6a49b1bc5918728b9aba1685ba37595514","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-6cb3a87e.0.tgz","fileCount":620,"unpackedSize":2428222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8u61CRA9TVsSAnZWagAA1nAP/0kv8w1hBNeg8sWf0LNP\nl8Qs7qCk7O9P0+zAlxNQ7Yt780GF11sGA25Ng4eYR91zZ8d9SFAVD4moC/zK\nJ4rzOfwtjzH+4B5Lg5WCz3QzHn4eFC1ZPquz0aZX3UpfMvh4C79JQi3Qz+WZ\nw8Fa65y80PayjMzxqfS/DleVOGRAd3pR5GrNpD9ItwCtfMSSJYgg1nmkc1fH\nzomF9lrZr1/DoP/u2vN34HH/o02YZOcBt0a7NHxjaR25lMT7ly1iVgU/lVRv\nuFDwELR4DpeAKAwz3X5S4YXO6bu0DoOITDHD79fF4bo7tO0rAhmAzWTDsQy9\nCbOnd9cnofAsRqEr71JGa7ZZJPwsRsNs8XgekaEfVBgnCa5KK0MeLdE6U/4L\nGO4EHo9ARY0hoOAx4hHfg0eWCQ+WglTtGMYcJZ8Lhabp1wW66qtYcbk6mfDn\nsJ0ArR8Coucj8BsoqfVhHe8yUTgLLFNcW6+VHzxta6euY9UoVoLZqzYEv69i\ndxACKohbaLRfTt7ZvEAGru18jViuGaUfhrxyKFPRJ81cfhse/ebJWpsHA8yM\nvXrFfL07gCAP79/StFbOSpMMjRVGlK4dJryvqO45e+8ALhyuYsO+cYsxGMf6\nLXduWjQXwczBX1LoKwUkrmWZ4TGH1m2b+ZbX59GiufIN8Tp9RDG5qZkotp6d\nOLGt\r\n=E1kz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3iAH5T2/Abc5YXlbd2uzsehKrT0G97OfEMt5phQ2qUwIgEZg5FVUzvj02bTKuRwdxQR/VSp37gHdW7XkwjdxqBT8="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-6cb3a87e.0_1643310773366_0.7890684336250084"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.1-2afef2eb.0":{"name":"ipfs-core","version":"0.14.1-2afef2eb.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.1-2afef2eb.0","ipfs-core-types":"^0.10.1-2afef2eb.0","ipfs-core-utils":"^0.14.1-2afef2eb.0","ipfs-http-client":"^56.0.1-2afef2eb.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.1-2afef2eb.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.1-2afef2eb.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-AfXjcH4XkUx5tdbKc6b7IHaWE0C4YjU1e1xk8arsuyN2fMKhsY2ueNauR0uloR/ZvHw5odbxRlFB3q7vwcdd9g==","shasum":"249ffc17a1a3aa7cd4463ed3fc3fe229cf193307","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.1-2afef2eb.0.tgz","fileCount":620,"unpackedSize":2428223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8vvnCRA9TVsSAnZWagAAVP8QAKJnVCXqZeaW1jv6mYG4\nVOVSivce3x3YJ4H/miHUTiTpdfA/eYciPw4sWoiVyKXPL8A9gCb9cCZvw263\nwK3TM5GnmvSuugYDMA/CqFgCN1UxOHgAPzX/KsBbi3GUWz8VQBRI3rmRfbhL\n15q5g9+djITPqm1Rd6w4wYEQ0U39Y/l+QhUX8YpjkUTPhhbjvnT+COedhzvb\nDnCckjNUEIcIh+w8lFpuJSj4C1hIG9WwCqK1eBP/arR5JhATuIRqLqMgVD5s\ngm2Te5jZVh0RC95iQrnFJHvMQ3SpIicf6j6+Ij1ijZlHKzXsdUD1/eTAd6IT\nGV9K/zmcSCVQMPY0UufxOP/EkfRyGjLio94qGqcANdYrwaCpA0lPy5vYOlv0\n14RHSY4Etq5yJnWWSaCNoMzZsSznmNSwXsMiRgwRVc9sLd2Gq513rKmZa4Zh\nnlMGquO5DsdXeurXzgOTpG1s60VIIbVkyZVvsoMLlT5EQeJOdGlHTucNurME\nG/IbLjlVU8jb8B7Mfsc7YZxzJ2p3bbz7zwmjS/iU+0FwfB3Tk4M3egmD/G2T\nH6sZa3srKxdMgLelRW0eiWsi9rN537iacD7y/wXNX7uL1gBVSiYAuxuKDs2n\nz1e2qFnHk6SfWk+S34vSt7ixxmQIezv41eWLtj9pE/yHYSIQq85yOBqL7i3U\nNa6q\r\n=JT5t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICZX+L6ecVqSYQMXRk9/kHB+O+L65ePg27BKIpl39sneAiEAyGCRHvquuwFi8CN+/HB7o6p4O+rVQ6QNfCOp8MwibMk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.1-2afef2eb.0_1643314150866_0.384765902523448"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.1-3a5d61d4.0":{"name":"ipfs-core","version":"0.14.1-3a5d61d4.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.1-3a5d61d4.0","ipfs-core-types":"^0.10.1-3a5d61d4.0","ipfs-core-utils":"^0.14.1-3a5d61d4.0","ipfs-http-client":"^56.0.1-3a5d61d4.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.1-3a5d61d4.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.1-3a5d61d4.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-EeA2MkGJB489qyyFXKd1HoI3Zz9y+8GaHWdY3Tn0r5w8Aa44zNERpsxsbcN8s1lLH6Klyc9gp49Fo4WitsMHIw==","shasum":"c53a3da101e89c2cbeb1deba32c2f5c72527baf0","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.1-3a5d61d4.0.tgz","fileCount":620,"unpackedSize":2428163,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8w+/CRA9TVsSAnZWagAA1I4P/2R8M+Lhm91F4Rz3Rzhp\nFGr+fEYC/8a9kfMzQFLVADmxtAab6trELlZfXDEEHH5WG2DsUowww05hPxYi\nQ4S3DeyHcA0eG4lPUXCIa7JvIWwTEkp6wYfpRL82Wh7Fx4DGiCt9kKUeJTE8\nsuNZ9BjmVqXqcGJAIFtMNQ4V14yTvzG7WqBoyGOwOvN10w9DExgTNScl5biJ\na+04+XfQC+rhGwsViES1rmcPpsKO1CuWkLe43me8v7/JPS9QtlJOG0KMPux6\nUzHh+y0dGmp2XUc2lf9Fv+hqOoGZtPZmhbQnX3R6dJ9XD2v7abmVlm6U6j2q\neO/HKBcjoUQS5zTtP5t6CCYJurXuw4fiaP6jAe+DyQvYEEuRd4ZUpLgrSViu\nuSO3uinyd+e6K1cUEq8H3VHi3XpJr238VTKRgViw9RfOn6KjOBwok9ff7owh\nlZo2yC3jTBN/HFz2VGGTlEJ14AKZJNRNuaPbNRmcDFYalvKAwA+v5yVpGnK0\nUlaFbco0GkFxnGcYWImnPYwA8RnE9Q4XHPapicwwA6oFKaYMevgcN6LEw5Ai\n0KigrWAnOj4hjN9BnYl3YD/VFZoRk0XJCwy/i5G5K0qUT4ufNETzMx5gkZdt\nI5a/L+UJcKpCimlqTHqpJLkQfhjHcQcDxQ6I3N/b/mjffMYCS/PeUK1kCHVQ\nvQRF\r\n=jJO1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCw800YPA6nE/HkSNWkk00Pnu0zFEQqvA5I765dq6txbwIhAKbeZALxxL8VT9hFOrN3PiLe0kb/oz/CA1VdwR9B9tBA"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.1-3a5d61d4.0_1643319230862_0.9913932777316574"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1-cca6e321.0":{"name":"ipfs-core","version":"0.13.1-cca6e321.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.2.1-cca6e321.0","ipfs-core-types":"^0.9.1-cca6e321.0","ipfs-core-utils":"^0.13.1-cca6e321.0","ipfs-http-client":"^55.0.1-cca6e321.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.153.1-cca6e321.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.13.1-cca6e321.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-GiG8b2IERsXuKBcI/k8FteY5G862SGmDQEy1Yq+SqVjHSdMsFDKox6DZZyDapodNwGMP1tM73fZyJeQOhfZBNg==","shasum":"e2c89ec039d7137cf20bf84b7019e573fe4cbbec","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.13.1-cca6e321.0.tgz","fileCount":620,"unpackedSize":2428162,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8yTeCRA9TVsSAnZWagAAIwcP/ApbuRDesWO95F0HnxKB\nJLaHiCA95mS9ccaV/3zu+qEeI9lWgGsvO3iqKv+841XE2vzuai9FIN5/jTQy\n3BBkExyN6u9BEAmtczmjjoAn2Kmdcv/ZJyuIDY7kbzTjTSQIrJgREWJ4q1wL\nsHIPqXkf66R9uRXje3xnX0PbXChjawDnhnfoS+s8d3qjmShwGHa6aFjMEYpP\nWZdC289ukMOou0pRpNOLPyFbR1iIgpBO+CgDOejuXGpEe2i79JLNMMlKmvKN\nuPoTzpzhU3kVyyytIGcOY//cBi5Crn7KGv+rL93lV0GuxtZVLuTuzwPP69hE\nsgA3/WJXV9/O4FdVv1UQvo8pGsn/QPD/oEKbSvQ3U6JT8cwNrkP+RxpeJ4bQ\nSOHKUK7IJ+KVEf+x0aXEbRTOpgSXHLcrEHuOEBZBPXNuDN+y+mGCpoFx6XyV\ncxxZD2hewAxuRmCmkGpuAyUu4o93D05Wa8KqBPyazefhFKJyg4nw9aHRfIOJ\nzWxLrrkze6TjAGh3IvKUyV+5WmBN10nGkohx5vde0Gt7MLe2uKITWG2wpeXb\nE2P1/q4lx4sHbG7iFQmzDjLF60T8sFOjETDfpClRazYsCCf0c6h/zQjl2X3Y\nuPZpy6WWKnBOYX6fY9CAEoo9Sj98XSdsiK8MO6bbyBjD5b4rKiYxXniewkiL\nYAo6\r\n=7dDZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyce1XHxR6sFEN1rm4zKouMm5ck098CqHVtsZRscoyGAIge+a4TCmG53UyfXoUwJ9ycT5rP9yOIbWOqn131eQonqU="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.13.1-cca6e321.0_1643324637875_0.5085920922620095"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.0":{"name":"ipfs-core","version":"0.14.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.0","ipfs-core-types":"^0.10.0","ipfs-core-utils":"^0.14.0","ipfs-http-client":"^56.0.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"_id":"ipfs-core@0.14.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-tHYSWp6ieTOms+/ZDrC5Pn8iNfkxHnLWtpCa2NZWTjOZUx9tAW5cTcpxRFNNiId2+H5/Gb+K9UMAgpoGH1c1Hg==","shasum":"d4fbfa98fca7cce10553e4586be4320f8aefb7ea","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.0.tgz","fileCount":620,"unpackedSize":2428009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8ygwCRA9TVsSAnZWagAAZhMP/3owhPYSfzr1+1x36hgG\nApOD0H/P1tQHqRMR6Of3k11ZbaCRs+6z9/jMO1p4f0l6x3YfR5ZUTQG6VL2/\nBcdAu2QvkiKz4zKPfCY6OTacbr1/8YaSqioYIxUlGAWOoJ6RkhgTRaEqEkwv\nK4QXocGTYyqzIdZglnbJIMOxmH/lMC4U1x+RaFUnjoFnMwp40aOWYcGwQUD0\nmhj7qsCNvajCvewlMHJDNEzg+yiaK1hMYRpNZAKdeC81i2Bk3XIgIcGS5yTY\nReWguMlmVQunw2qnaIwokIqUI+SwyAq4GUsB2OHujjmmdC9Gpk0+rV0Prg/w\nWPF0n4iHI7St33lRydDVZyeKX27vHHdnbuLt1TyA/cSZIWHJMBze5cLlqUkB\n2voP+Oskduv9fPwev1ASB1lsGjSv4aVwQGJ55EfY6aSi+lA4DZTTOi4KLWwN\nfT+M78h1Y4aR2hCsXYJfbwLL8vTBO3EzrpLu/R7cI3oVn5zZVLOZALS1oOXw\ncg6s2xeibuqo1rHenn86/7nCIxQ3uCs+VVE2GJeNfm0U28eIGGVd15PfuwjK\n3tSWlbBVUumzoPoNdj7Cznk2+ifoXl33zz0oiwUbmp51IUWR0JfJnHY0hZin\n4EtbXnpHimwJDT8QaKsV/5creT9473KaIXe0m/acFdRO265Slz4KD7Tf2L4W\nTif9\r\n=+aXd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC2WpGrreyLQntuCIVphseiZqsAfkyZApxRfL88FF8xdAiEAmGJYwShVzGpnsVNB5Yf9z9PDmEahQdP9P1WQw73fLMA="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.0_1643325488594_0.9790536265953576"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.1-8d260215.0":{"name":"ipfs-core","version":"0.14.1-8d260215.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.1-8d260215.0","ipfs-core-types":"^0.10.1-8d260215.0","ipfs-core-utils":"^0.14.1-8d260215.0","ipfs-http-client":"^56.0.1-8d260215.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.1-8d260215.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.1-8d260215.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-Lm1AMOeHc/rkpinwQgDNojzVLkhpdqudMTYFQehDTInuqA87JLih0oDxXlW3E3p9glBYkjSden3+DaDx0F9daQ==","shasum":"e33daf25d4fea5073acd9aea326bf2a1bfc82590","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.1-8d260215.0.tgz","fileCount":620,"unpackedSize":2428163,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8zBpCRA9TVsSAnZWagAA8PkP/RHDIPJytuUF026wgQvn\n8b065Fl8LtkGyRuIIMo8jJp5qLkJGSk6ltOwOLR6bVReDeZJ2BhBz+2fA60p\np7wbhpzx+AYJhNjuR/Pc8H/E2rqQDMGBV5V/dVt4zL9NeQrfBUq1iiS1oun3\nU4Z8MmfAuukHZFpAteetGP26/YU8gEGBwpU7Y+AlntyfsJN79a6pdU2METoy\njYv328xX235GfB00QZsWHvK8G/JK1YmJ1kdhVuHZH3uMzkaHrZ8O0NIuUx6o\ntYgPpdwv4Q9eToVWA0T/mY4lOPfOqsiISAxrOMZK9sN3eZ6TY3cEhUXYpZFC\nQOU7zIFT+0vspEhcWxYqFuOiKfUfYJ2q6e5qmUrfa8y7MWGuLP9RAVK2DcPo\nTUTotDY4XL/TGlxHDwvQ9LrgSVn4gtEjhYCuw+9x4P4BSbpB9Qwx2TViNZOB\n3+1wp26w3hdK19u1nWqJ84mEW8Dc+Owu22lUrHqZyNTVIZc4J7QgBeP+OlW4\nZKRH5v68v8QiVIjt5yyRxArqo7IdIp3p1XsZQzPI16jGTfEZOeuuhC6SblCN\nlZ9VECWq4rXGiMeAJum/z8qEjl8tUs2+h10s+l6Bixn067J2df7Pq2Ug2o6m\nCjt5NBmGOOaTjoqRx4CuYVZ7303MoDAKoEMtCGBp7W0mvsQt1YWbnq9vqOIs\nN7PJ\r\n=C9xN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEkdBCskpCQtJ5Y69iH3U2XpL4smXgVLp8x+ENEra7YQIgaKKvWf9+h4XoDTQf0WhtaS3KFldg0aaD1gerh9L4IDU="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.1-8d260215.0_1643327593408_0.2649332575031773"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.1-2c8ec080.0":{"name":"ipfs-core","version":"0.14.1-2c8ec080.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.1-2c8ec080.0","ipfs-core-types":"^0.10.1-2c8ec080.0","ipfs-core-utils":"^0.14.1-2c8ec080.0","ipfs-http-client":"^56.0.1-2c8ec080.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.4.13","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.1-2c8ec080.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [examples](/examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.1-2c8ec080.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-s8AW4T1t6/+2xsWEBMgrEc4TAEdZYvqTmyxOMpCCuhydyhLZHlvvOZ7QSRAepDmeLA+91a16V5wccEkbHiMNCQ==","shasum":"0f411c96962c2946c1f7f3d7e6da8b3522bfca2a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.1-2c8ec080.0.tgz","fileCount":620,"unpackedSize":2428439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9AQiCRA9TVsSAnZWagAAJnUP/21fMpm2r0fPBNS5Vcxz\n4VXqYCfOCHwPs+6qzgbRemxNacna4i7hXzadP7GUWe3uxLdZtg1BDyWtqvi3\nrYygZqCpbAi4WFuxxQnCz5FYNdrP3otmbcmetCqH5jcSM87xkA/dihjyipo9\n5/l//QHID0YjmCWtOGfSW8pzaSYbStjAUc0Qe3mlwBEkdihAsGgv5VPI4wSO\nCjCNzb2SUftAh1n0JsUI2JHYJXZKZUAKPEWbp/zG/8cM027jSxLng0nipEyr\ni+TFBulFOCeRcVtHDybb9L5TMK9sFHRHRWm+JzQjOWTYJuqpeqYr0/L7tKNy\nVrqLC5uBkUvsf4P7DG7PIQ1WEMlxNdRr0sWrdCV3v+7XV/7bce5NNGXG2n/O\njLY2bc81I6k/cpfKVkCFZRyeOQm/2DuCVgm3fOULSzlb9+CFwlzn+mtzSKkA\npnqAPlyfV06HRIIDNHB+BEIdwZ8zZ7ID/PbjyDVqT4ZM+4nsn5jk5TFJfnOf\nlaq59PWr/LTNlVziCCZyd8/E81KwCdGX4APZthHLLM3jNHivNmpexpkX4Y3u\n/JSFdTDneACDxDVCs4dGFP15gxHkqDO9qfdU11ioGy9FPc6QkQHSyeS1hQap\nqImrGkhDqvXeY7lM6FDtq/iy8dfkS3dQCbtuRUC+RRpa6v8JoAOKLFIoMndK\npR8m\r\n=6Dmd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG/DzzWfbSs0DY9mhQYr7VkczQFWBivnfwDLdEKPTnkIAiAaZj38jfV30vXwngYXrKncW2cIFnYo3ME1CvPGTflXEw=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.1-2c8ec080.0_1643381794358_0.21013643004194993"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.1-3a74c110.0":{"name":"ipfs-core","version":"0.14.1-3a74c110.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.1-3a74c110.0","ipfs-core-types":"^0.10.1-3a74c110.0","ipfs-core-utils":"^0.14.1-3a74c110.0","ipfs-http-client":"^56.0.1-3a74c110.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.5.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.1-3a74c110.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.1-3a74c110.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-X6Tz2znahZs7K+ZElBO6hZe2C0a4voOfpu+fXCAjQ3IUtmZTeD546q7GOR1GO1KhhEPdh5qTZUFi9IZqlD8pYA==","shasum":"53322e741db161fdf88254724a4798b4cb044431","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.1-3a74c110.0.tgz","fileCount":620,"unpackedSize":2428768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/VGOCRA9TVsSAnZWagAAzr0QAIqgdUKyCITnqxeidLhl\ndzDHN5DpFUvQRcSUHIQKeGG2Q1JKdUpRjNEff3JEYJrj1nJJsAxWMyo55MjP\nP2xZh+88CmPb00zJ34Pni/miNIr+qcOj2hxGQSqErkrVAS7BfIcTzDz+HbbO\naD0X+1uthcS0j9eCAUgn86pvhQfVnBv3XQC10aAeW43nFnfvhVdq6TBFs+u0\naHOAyyS8uFx45+4U/pFfS8ZR5P3gv0YyDhKpZW7NdKcGn4i8ZzwKOeE3zY0F\nuU2nCIVjQh32OKGeGYeOgxSvCWQBao3rmzVwunRIYpy5VvQncbiYYXsw0yx+\nBSIm6keNWhRkGFjI244uLAxii+9nsXxJ6kuB9J2HIjZVK/6JGCeFb57iq7gL\nt1e4d9LfnCxjuxJC1KxjF/qMqqq7kqmXTAz6FPCbOPH4NU8sj3Yus/I+/lGA\nenl1QLNCl4SDkITWnBxLQyiJq63eDKVfZtV4iQBJReAiL/fMcVE8xDp/QYOD\n/YkrdEUKr/Komnt9HJyCDdLjNRqDaWEqsCLlSrs49rDUzxlzk4kYSS0uAKn0\niUOstAq4hJL1zPbaxLlcKjrdm1oQt7BEMzgyu24cGbpEUWOTTnDTaV7v4MDy\nSFZTRPnRZYiDMmD4CrldVc6eKqfmmIBGGZnj5KzfFE0zJNmMHCGJr1E0Qxr4\nZMlY\r\n=Nq9d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGuDCTBA4A36XJ2nFZuWX0GMXnv4VPf9Glnw2buvSregIgLKl9r/k7aZ5MIjfq3emnkO2x/Eyn02yJKd56gMM6BQg="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.1-3a74c110.0_1643991437948_0.18172255340511012"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.1-383dc07d.0":{"name":"ipfs-core","version":"0.14.1-383dc07d.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.1-383dc07d.0","ipfs-core-types":"^0.10.1-383dc07d.0","ipfs-core-utils":"^0.14.1-383dc07d.0","ipfs-http-client":"^56.0.1-383dc07d.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.5.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.1-383dc07d.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.1-383dc07d.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-nZD1B2hF+B3r9Ga3FfMy8UlwcYRqpo8MBtgfXQRS5aF6I0KRUKq0nd81WFwNU0aRAmtTGkrpkILh0sQuNuy6Dg==","shasum":"0251092e3db84058161808f8fe36eadb84a5dc96","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.1-383dc07d.0.tgz","fileCount":620,"unpackedSize":2428768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/YUjCRA9TVsSAnZWagAAscoP/2xtW3ixagMrNf+AwFQ+\nefluW1k55nXSldz46WcVkK4sm6RhYJtrfBLdI16NgPXrjSM0TM5r8KNJMiDG\npIF+IpSUz+Bh+QNmpqktYKUrjDyU78c9dl22ZK+YeB/f7iyDwOmsYksoNMsu\nEwwpJRGLpFaZSzFRv4yRQcTchqIbE2HCSx3oxjRhQhj30oVvdZF5O0lG6l1y\nAc61XTNq5uhOvSPj1oN7sIU7nH6MAgl1ntBdifNDcoGImP4nCmxa9NrtUbqK\nJoojgE18cYg7yn4cThRNy9Ph0KS6NwqoxCue0lcJMBlHioOEEu0VlVRTXvz6\nRNNQAkIAsWZj1xvjR9JgGlX2MRSgFehaPwbaPYuprNvmK84DTSJXvBKS2fbE\nUDTZcQ37DTEd0TLgE1CmUDwlxIgih52lGLcGhkqbJuTVVYywuU72Sqr2xA+h\nWr/zJIsJyD2bYaYZ4rxFyiOWYszwbFUH6qxagx7MdUDVXaMchyKNVdAYH7jB\nItyscp7Aosnvtbx4CPzmavfPYhPVuYoWRPpLob3jNQnaQwSI71VdG33XQRrS\nlMQhWIDQz0mzT9MqCbG4Aytog18qJ0fFRLWRNAko2wVbGOzMGpC0/d69FTAt\nc/6OeAmWWDQs9BDokByFj/bRM3orefglRz6FKUPUEKPxNwJxCFmL1/MrafJM\njZbS\r\n=PO3d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDRpcsNg85gYgS9vMWmBxKDIamQdjSRwze7yJFn7QCZgAiEAg+uzZ8MODuO54vjt0d/JmPAWcWDJ5ghQZdv6GHyaIWw="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.1-383dc07d.0_1644004643074_0.8078385756709718"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.1-709831f6.0":{"name":"ipfs-core","version":"0.14.1-709831f6.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.1-709831f6.0","ipfs-core-types":"^0.10.1-709831f6.0","ipfs-core-utils":"^0.14.1-709831f6.0","ipfs-http-client":"^56.0.1-709831f6.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.5.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.1-709831f6.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.1-709831f6.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-jyVWYXs1ceaqjVmuCR50Zd53oo3CMUN8FDMKFnbMLkmtP90PtJ5TX4mHp9Uy64byy/SBvoqsEjjKENfyvvKp9w==","shasum":"40920774e47a380001bf5569334303d7299b847b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.1-709831f6.0.tgz","fileCount":620,"unpackedSize":2429729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh//FXCRA9TVsSAnZWagAAZhQP/0wGxjQwh4Fvdo0Ybx99\nyv/1CYZelA13goAJMzED0j179Fv3JvECbMDUuiOQkTaqEQ5a/cXDhJ/EGWfo\nWGVJFyAfyEiwBD13WJxbpbsZuZTW5sx5TsnuuoAnxq3jDN/pNScPQM5Txxd2\nDachsGYA/v3vzJq2M/NVaEpCNp1YiHC3eLw8UTxkBzZ5krOZG+zOCqJuohoX\nvg/Zk1vT5r0AboyjwMJm/Tjl7eQDuGGCJSda8tLN/I/c8r/2HjGi2BHW0CNv\nssHMtjiCpX/YpLtbEvia+ssNC3NWUdifNeij3wdKEdaGFetZj9yuA9wFb4g8\ntZjQ47C3glH8HS0AOq9Gx/RrnhmxcPHt9rcKEnkKZeuDZ378QWObajOjaWfJ\nhbWihUINtdeh+sXbJALra8jiVx4KwHBTaJefQFZKmcBQY6tCoRwZg2IP6rtO\nzKwrDOXBeyWCVfWEe8Pxvd0I/sHFHSdhL2BA2Eyf14mBLk2E+PTIE9o3uL0L\nQLdZOfXNPSIe3C8jwEPiZtRk+fzbjDch8UzsOal1XenEVA5+ebWJRvhEIEvH\nZw6Of5847kGpl4gQBYRwb/4AAubyNuVuX5KIqxkjjpjVQ0nRmPeUngILUFEt\ny91l3Wu3/CtTDCnDnvlUL3iibMtY3RXajvF3md+LBwZy256Fz1HSL7AHXRRk\n0Kg9\r\n=uiId\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICvDLXCQ9J9n0ZfV8U6paLVjCOJLqWIFHAFswHwtJiYtAiBeEmMkXOPgX+QKpuR9qKwMWXyEqVp128ne75n3McGWzQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.1-709831f6.0_1644163415731_0.9848272218617855"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.1":{"name":"ipfs-core","version":"0.14.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.1","ipfs-core-types":"^0.10.1","ipfs-core-utils":"^0.14.1","ipfs-http-client":"^56.0.1","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.5.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.1","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"_id":"ipfs-core@0.14.1","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-hmIgbRlJoj3frU0R+Ac3ftVAu+Y4ZbnmCOPXXpEIinNMxUTt8/iy4He+69nM0uHz/TZlHMDJEGsnWaR42vcL9g==","shasum":"62245970d231aef0148928da540b3b83801dfdf8","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.1.tgz","fileCount":621,"unpackedSize":2432026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAU4gCRA9TVsSAnZWagAA3mwQAJw37eEkE85nce4CNE+k\nfdBFPYGII9Ke9SpUIDsPocxg2RWcVRDxBoT1OySmRV39DmAYihB9zr1WYlEZ\nx3HYMN4DfiUf7jkcXQ/qGsjjrODV8LuP0xVeCvc2IPKQ/WhbT/Yi9Rilxspj\nUqimCJDCfSpC33PIu1rFFC8fPEolsfhU0siGho8Rh7nqWwU1QG1qc9Do+Cjv\nm2ZhL2lOB5cDrlS7bRQ+iGzsiITo3CF2+tEP2fO32ugg0TYGpnfCPM1MuA2u\nfIqvMFcRGCH+MQKQPOsuZinDxHnGlIH/6Pb9mKF7RVmSTDlExe0sfdFlQR4r\nWF/mGprkoM3GMuQjlR59dPXqm6dptXpTyeQb9wtpP8ViYDWpweZIVHrIZRSp\nz5JS9RIYiFNNy1azJhop6oXcB2Ob1q0AkedzELOrvEtLmRsOn0Bkhgqn5K4j\nda7in6V7/wrE9shOpA8QKSY0tXs7Tqt+6VmNTdeuS1ahY7PTtGfLJ7r2Hoit\ndGEU6mRLIDAa7HP2ClN3VC5oNZk+L+yw2234jTx4n3UI39JJXZSOZO1tk9jn\nyK7YDonkhVNdsV2+N5gAV3vdrYed7ViD12K9zee//pia84oXTTAUyruA5amH\nhvmkt+9nXX2YBATg1xQ3FwcxJX/24pml7vJBqKH5gr583DYsMukoH0MwDdep\nTS3M\r\n=kla9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEwByYtEnovPBfNNX6fYVKmLnnhX5KPgIxKWd4UnONFUAiEAzdanQ4Uc1ApXtKSPo+pePvJhXswS8Ufg7l3HFc00pdI="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.1_1644252704397_0.7559367672733681"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.2-1082fce9.0":{"name":"ipfs-core","version":"0.14.2-1082fce9.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.2-1082fce9.0","ipfs-core-types":"^0.10.2-1082fce9.0","ipfs-core-utils":"^0.14.2-1082fce9.0","ipfs-http-client":"^56.0.2-1082fce9.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.5.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.2-1082fce9.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.2-1082fce9.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-WPWeZHxSheTcqD5XEAEVZ/zr9wvQbb2wybqnqez4gfiXmVXc4GF1d7a4VsQObOO8MicA5VqLZascLebaXDqFEQ==","shasum":"65fa536960297c474f4a786c8abaa60e0eb79ed4","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.2-1082fce9.0.tgz","fileCount":620,"unpackedSize":2432221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiD8YLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9vw/+Jk6z3R51Y1AazzBO2fsBFbU8AGc9O/7P1LOJNwSUd4kS+a0h\r\nmIuBsOGuRmmPJXGj5c0ZiwDs/NQq+twJxQQYzyefnBIak1yKUCKzzP9RNJz8\r\noGNytQb17Y06DaIG5NseWS5PICR326zSWVcJcxXK9rtlTUo6gooyrmRrBZTc\r\n0mILHFKEjVKY1SiJSoq+kGNzxxoiOnFztFoFJFOPeAHDLV7njV3FSJq1LQCb\r\n7LsyizSbJXROhvE1gPBkPUbqs9iqTGBXK+OZ0+PO7gz528L+764nciQR2o11\r\nvZ7kSpYOKF+nm7t7vU37MOmQkHNFBciITwCZBdgXLHvnvVPfhqrcSQFp6T7x\r\nAXLLdD2r/qBbcTarXh/+E6UcfnYVeytCxEXzfjB5MdNAORUWCFGGGnVqBS+K\r\nnO70CkDoKy05794CxayEL9T4BJfaf011nYNGrvFhIKUw+JCBRIxmMeiZA7U1\r\nS6CIephdybfwZz2ym1wOkaEvpo6K3/H//X+aeR+uaQD9Fc6ff9j4xlh5rhE8\r\nkn4WE+/UhmNwldJeg+3YqK3kB4LPAMsJ2TGgN7he5D3HqT2j/qXSHV03a7w/\r\nqbOlBJ/egThhK5j+D8uWonQyecZFu5V5om4ZN9JOCBe4ruH1VUWSDn66W/mT\r\n3+eevpJJg/PuL8QV32s60+Ay8Mge8OXLp2o=\r\n=jYfq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5nwB0tPY9VlI0fOGCl8Gh/FGpcjQauhjHDQUksT1RUwIgdpdtT8HhZRoKHEg7QXMix4SY3UP2qAgLUV6nraoauXc="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.2-1082fce9.0_1645200907497_0.3176174795009781"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.2-125d42ba.0":{"name":"ipfs-core","version":"0.14.2-125d42ba.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.2-125d42ba.0","ipfs-core-types":"^0.10.2-125d42ba.0","ipfs-core-utils":"^0.14.2-125d42ba.0","ipfs-http-client":"^56.0.2-125d42ba.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.5.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.2-125d42ba.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.2-125d42ba.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-7iA8GaZXEAx5cpkG8SttVfAIsCgyHnpsi7I/STjf+GFa2RKu4ktBmLpgrOCVS4X4vKGCPhmbeM6QehUx6tNv5w==","shasum":"c5b231d5a80324d139e3d58660fe28add31eeee4","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.2-125d42ba.0.tgz","fileCount":620,"unpackedSize":2432804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHeuYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLQQ/9FSfrb6vOaN5suL1IpO3W8Zpz9dVctT6eF5B2VcuSZ/kFs/+m\r\nlMwsIOnDVTaaRTPP8uq0bl5a9ahA9CYm7q4HH+dmKTgHr3p59iPmt8qdwG2L\r\nzYxI8zYW6PLScVIHtroRNiHa57BJDQBbPX4GJ3wQ4rwc1dbd+u7ShyVrk6+5\r\nrGeCYuHml/DTTFRZaP9C/hJeKYGqxN48l8pjjLFlUzkrfE4+aLWQA2SwgaXs\r\nHGZBKFmmbXwOcGkt9C6xpw7bcCoYscb1964L4Im5eFe+wUZObRj8bxNrdB39\r\nZQ4VeOegVFS4I5puH/NQKGsGIaIqbRe8iShRavqN3UxwsPXZptba2Ht4vSWX\r\n1/U9WMMw0ulanhPHltpcjDnf+072yl7PXTi4GxD3fAVXIl/o4ih88RqGVyE/\r\nFRsePesyF7N6ex6rqU5i+lZ4JAITB3oNHlIxYt/n895EWlzWpwDxwzVE7guO\r\nkmnoopOXP/8w7rcYVZ8UiNsrvyrsnh4/yvb9nTJr8gwEiYfe7BuyOtKfEsod\r\n8t7NizC76pHDJTc1b6UUu0+J+A1jCtcHED8IkdasyYhyBCMR+u0Kkj5TwCl1\r\nHPooeHoiYDRHmELPUoxKiKUwit82sGDog+uf7yAWYvBB5uID0X3Qs1mHsq0X\r\n3AVfzBlyCiWM5PUKzLDNtEbsejM7UxVnjyw=\r\n=qh9e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICCD+VGEF38e7B80lbiBhpGPus3wAc0Csn1bZ7vYWZp6AiEAiq/JuE/XDrL1CF+ezPn0KuL6MWCkeryJAmObXeFXULo="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.2-125d42ba.0_1646128023860_0.028004412819384372"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.2-df1bd1bb.0":{"name":"ipfs-core","version":"0.14.2-df1bd1bb.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.2-df1bd1bb.0","ipfs-core-types":"^0.10.2-df1bd1bb.0","ipfs-core-utils":"^0.14.2-df1bd1bb.0","ipfs-http-client":"^56.0.2-df1bd1bb.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.5.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.11.0","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.2-df1bd1bb.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"^0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.2-df1bd1bb.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-XTAWcWpwezDg+E9IR6VSrLS1ijFb8jA+0x4moVQlk52uEjnJ0raeh8taC1RDwEiWpv3o53kdfR3WAgQXcwEEAg==","shasum":"16e48eea3c000845674e27614d1a06af31bff671","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.2-df1bd1bb.0.tgz","fileCount":620,"unpackedSize":2432804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHf9XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpC4Q//eSTGqIxjdYRQqDUSHdIYoEeu0G8B4qmkeqeF3FgM2kaH6LcE\r\nyMYanOnDQxTnpH4TvDQ0zGj1i4H6ZUZLA9K0t3njf8Vs2CS97zProlwCxJJ8\r\n/hBnyuu0XRL8bqTQcRnxhP41J3Jsq+kFDYbR84wjwyGO711r9V6dn5S2KASh\r\nkjV1+smwr6Wvo1WzxihUma8V00MGFZaFJmsNHxay+cqPppfgNxGucm3I8HBK\r\nDE1pHJsxPrQ9uZDXjzbrdRSBbLbDpM6oX2cgnlA7id3Wu5QiQGEhg1MaVd8d\r\nHwRE+qLu5B7cCzVsDqO4I3WTg15sFvfRnwPv5/ljYc7giaVXyukED8Ib06/C\r\nQBumemguhXRme/i0IXV8t7WhJ/CxMUR33vd2y24Ht/2o1OOBHdJjrnOzQlNm\r\nZiTePObCB6jycirNzkDtbynYuOAnfBkSmci+VcaD0pHLGNkRt+u++67Jsdd0\r\nrOD3Wfl6RpDSKsyxaSKAE53KQPAabjwnHRCKjF4Ff+N3W1eczslOnZJRJ8JO\r\nxXA0rHJLIhLTXMQcBd0Kc5CFk6ToD5tnorhHA9DzGR62VTaRQ7/8VP0Kh6+i\r\n3p0xpz5qlmwp2EHJ/OZEAlTUA9dBvFA6ZF9XzKiraea29wb7pxaQ/Jzxf3vy\r\npDCLzHbp3PSyTHMtrlhWldKDERVCBaOIyJk=\r\n=+kDr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHmgA9TOO4q1Vslpz8IQlnvmo3QFEPC75m6djo88EEgnAiEAzatc0mlR6VzjTVZ4GsApvJ3UnKIG7UvFNa6P6GmW8uI="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.2-df1bd1bb.0_1646133078995_0.40781456947053596"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.2":{"name":"ipfs-core","version":"0.14.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.2","ipfs-core-types":"^0.10.2","ipfs-core-utils":"^0.14.2","ipfs-http-client":"^56.0.2","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.5.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.2","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"_id":"ipfs-core@0.14.2","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-OKtX2UdZxEJ6ucoACzfaaVmzSH4NRW7CKH+b+NSl+EFeKLmNEV+1lkqfefCM4BYygzD958AwJw/i7HFIdzZIUA==","shasum":"b40e4a4cd4c93b6a09c84289cc486bf4420dcd5c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.2.tgz","fileCount":620,"unpackedSize":2414839,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCT2MVOv484Tz0xJbRjR5QceI+zkLEXIcV1CG4FkTARRwIhAIgTOW7RYRFNO/fYvSDkoyZTu8edCTRWCUfGBuQpCd7L"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTFveACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBABAAjreYDSKflGtfrQx5YKRdTzQ4GcoWWmn2EQ2fnqrIYJnLR2dJ\r\n28DjVQItdOsLP+c6JXrS9B62di2XGpeHWmFEUIj9varhmVuomUg6wvmEeuyg\r\nBu6I9/w0wXdu8SoYrUdADzq5v3lOd2yXpaV7X+PT76WaqwnAjdThxLwS1HCu\r\nQzL7QN+++DdRWV3DUwoWq/xDA111XobzfTZ+yffL+rCP7EhIjXC09PeBJGNq\r\nDn+3Tgl3zhLrtMImXGY/2mDIjQTU44b94C/q0AE622INq597EvjjpD7iuYam\r\nmol3/v/HK13n3TIXL7issXQmYMt0+jZC7ZJabIBqyD4qODc5RzItVgBgFM8Z\r\n/JpH9hcZjiRQODlaA4IHsAPo04qoVP/rRAPZga3tDdLJP/c1CdyRTsA5Jq3o\r\nN7Wt4IuuhE/Xwh+i+K2XckYQmgpOShoqSQzWz38LRSfZO4pwQB4HiERDqL7S\r\nEp2weqE+n8AtQDYRGFFbs+pEsKY8aIe0cDbhuz69i/LtxhJfKvK6L3LweE5K\r\nv9dl7bRHJH0HFnsKVQoB4P2zEteOSczZnVkDTvhzAcmyCCnGbhrnjhBAGlND\r\nFUYFQDsgPa36zmClhEbwFo1Z02/SH7Q/VFNEvBPPFgFFBMNLndKXBXf7itXz\r\nxCaGaPGA298mM/iqWf7gXtofLqQCz4WR0S4=\r\n=+2GV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.2_1649171422487_0.5084943111010387"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.3-e90b8f13.0":{"name":"ipfs-core","version":"0.14.3-e90b8f13.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^3.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.3-e90b8f13.0","ipfs-core-types":"^0.10.3-e90b8f13.0","ipfs-core-utils":"^0.14.3-e90b8f13.0","ipfs-http-client":"^56.0.3-e90b8f13.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.2","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.5.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.3-e90b8f13.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.3-e90b8f13.0","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-945Pg9KDQ7eXRA3BuOci5DWv/qwHoz4uiVyNBLkxFCVOPVSpV3P0hdKL36/7Q4KGEn2CWmxrLsyza6mn39YPdw==","shasum":"286fc99795a55a8318e2e516a5912b2f1e437794","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.3-e90b8f13.0.tgz","fileCount":620,"unpackedSize":2414993,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcREwVX0Lf0/RC+Y/0qQbw+Usth/WnZKSxJI22VAh15QIhAKl0Agc9IKkV03zD1NuYT7fQXifD8EudepUzx4aMRbKb"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTGnnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmofeg//Zw3mF6k4/iXVCoeAxKpctoFBlKHguK/Fiv9zVRTxthQSx1io\r\nh3j3A5syibWj966M+inbejvOMBGuG1D2TqHVKpVGqBuxfRg9i/xNWjj/cmf0\r\nwXqCzDbQPWhjAI5dzFipOtlvb+NXkJIf4eYPLSgaOqQBYSuw/RNPuq4hVLOv\r\n6UxhuKUAzq0Q8qTFbrb3ClT4LRSMIBGwCM+jRdrlaGTOLhC0FfVDEiGTM2TT\r\n6uiXGR8S8fwPM8ESu+mMEWmiYaqOMytr+/oB08VVnGlEMfdkkPFCVEgLjYLv\r\nXkuPYnd2S2VChlN5rEk7/VsoneNeMA6Cba3RJIODixOp7OU1FchTUSqIaXKH\r\nJrAOvFvKS1UrI6rFXTeM/vIYtmAVe323KsQkUgjMTX7su6m+P9UkVg0SMCPZ\r\nBM1nUlaHTJ/2WiySFVn6Rp9uchF7I46GPAUx9eVUkiMdeM6sUaeTxB8AFPWg\r\nh92lWQqt42uPTxS/4cEf5/uq+9zeXPHKFzy5iJ9753MeacoyhJLtZ358qLOt\r\nea6XSp/yY5bw4GCEgVMiAAYmZ9I0N1v9AeaSFjVI98XzaVoNlMo40W3/Z7Cd\r\nj97Vw13YytkQ703cRs9ijmjfHWUFzKpMS57Wk9w1f1KSWvd0/of0A6qYFJT5\r\nQzIsdKf9JMthyXdllPvoWJeT6ctpXVcBtHI=\r\n=tgzp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.3-e90b8f13.0_1649175015123_0.6406963571749489"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.3-8f7ce23c.0":{"name":"ipfs-core","version":"0.14.3-8f7ce23c.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.3-8f7ce23c.0","ipfs-core-types":"^0.10.3-8f7ce23c.0","ipfs-core-utils":"^0.14.3-8f7ce23c.0","ipfs-http-client":"^56.0.3-8f7ce23c.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.6","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.5.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.3-8f7ce23c.0","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.3-8f7ce23c.0","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-ItzwrY50/C9GI/lM9pHOPV5b+w5npfqzXW/d5U1ZZFaBu1cAPJmrymmV3ZTGL7ZyHIZjnQRd1sKTKY3L0FuxDg==","shasum":"3499ae166b0267c1c760f6c60e1bde33dd9d553d","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.3-8f7ce23c.0.tgz","fileCount":620,"unpackedSize":2416602,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0xvKthCK9meB8rTBL6jVIECKeI5qIxTpuMzXwqc9j1AIgb0fXiobOlJlJb2lb0h6Q8NwUonowxGtMUQ2i/H+1lQA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX/80ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpApA//c6MBNkaxd19lK6wVTEECglOL67H1J+PmyoeKfibswwnzJHVN\r\n8RMEExVn68+Cp+omLLhJsE4DeR65gb8jLFbZrmtx46PDT9KFIAsWVWWuY9F3\r\novWHSBJaFGZY5d/vw1Ve/qgLelHqGvoE4uNa2hkob4US+wq1IpOej3SImCDb\r\n+5o+eL1ALdcOfFqjX4Jh6eLbONiAU6+UKazl3yHXAdvP1CxZnBx3qBhZySBu\r\nlSIiGwQKZcaBy4l3Oyio7jrWErGB3tP13pL93tO9XQL/FRFGdWE2aOIMfqXR\r\nOdtYLGOVxzWnbsfIkPKmi/Rkw3exy4ktUveCJzIwCSFwx/6HMYyuHmTLE+wI\r\nmYO6isb3i4gdrVAXpjgu5NlJon05IHbI4Ah74ssX6Vl5wFT8LHI40RnXNlYk\r\nWEzVzJCODIhHNafIi0mcaEp/Ebk+Ib/CK3lD7TykGGrOvabCNTTUdtt4+gH7\r\nRUG0Zw49E0VaQnShNLCJ2FxJ1ITGA9/foIyMcCzddyi8kac0M3cbFISkzZiZ\r\n1wSUU6n5wyAL4AdJeqNAcQnfXDbGyIpRq5iETBRBt6ERF1CZjeAWzRDSVOJw\r\nN4os6w6ad0BWOC5iz8z2I3vgzAatMVGrPAz0NP39Gd5owKxtA8foLif6JD0b\r\n7wPbvCw/vDU5LRjFJbl8bXnXhzhu18pZ8Eg=\r\n=xAc7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.3-8f7ce23c.0_1650458420264_0.47301870802009893"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.3":{"name":"ipfs-core","version":"0.14.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","typesVersions":{"*":{"*":["types/*","types/src/*"],"types/*":["types/*","types/src/*"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"},"./config/profiles":{"browser":"./esm/src/components/config/profiles.js","require":"./cjs/src/components/config/profiles.js","import":"./esm/src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"run-s build:*","build:update-version":"node scripts/update-version.js","build:aegir":"aegir build","lint":"aegir ts -p check && aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js","clean":"rimraf ./dist","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types -i npm-run-all --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^5.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^2.0.0","blockstore-core":"^1.0.2","blockstore-datastore-adapter":"^2.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^2.0.0","debug":"^4.1.1","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.0","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^10.0.1","ipfs-core-config":"^0.3.3","ipfs-core-types":"^0.10.3","ipfs-core-utils":"^0.14.3","ipfs-http-client":"^56.0.3","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.6","ipns":"^0.16.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-all":"^1.0.4","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^1.1.0","it-pushable":"^1.4.2","it-tar":"^4.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^2.2.1","libp2p":"^0.36.2","libp2p-bootstrap":"^0.14.0","libp2p-crypto":"^0.21.1","libp2p-delegated-content-routing":"^0.11.1","libp2p-delegated-peer-routing":"^0.11.0","libp2p-record":"^0.10.3","mafmt":"^10.0.0","merge-options":"^3.0.4","mortice":"^2.0.0","multiaddr":"^10.0.0","multiaddr-to-uri":"^8.0.0","multiformats":"^9.5.1","pako":"^1.0.2","parse-duration":"^1.0.0","peer-id":"^0.16.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^36.0.1","delay":"^5.0.0","go-ipfs":"0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.3","ipfsd-ctl":"^10.0.4","iso-url":"^1.0.0","libp2p-gossipsub":"0.13.0","nanoid":"^3.1.23","npm-run-all":"^4.1.5","p-defer":"^3.0.0","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"","browser":{".":"./cjs/src/index.js","./config/profiles":"./cjs/src/components/config/profiles.js"},"_id":"ipfs-core@0.14.3","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-2Xxcoesc15IVzIDwAFBaOtLBZo3lKblFQZDX3n4yDckieyHF8TvgBgSgsqp2puTk0szp9lU4xsZA2cRNeJxIbg==","shasum":"e2fe617b67d63a839d82a88e1af849181c6453ed","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.3.tgz","fileCount":620,"unpackedSize":2418302,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICUmO7n7ssmudUeTyJw48ls4Igw1gUibefjn19O3F9UWAiBj7MeXzvOgYkPuJ1fAg+YbUYUf8SuXN/dWOSenE4BzAA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZ5j1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpyWw/+P2+rJ0mtVd3/amSndiV5JKSC7oHLxCde0FKL/OLyKlKdvF4R\r\ngghF0aCdSZKNL4E0eBjOzb/VN06sNHyx89l1xomrzfYje08ns1CtFwzBZNwF\r\nzcEGe5AJJYB6gitvuQZr2YTNhAunXwUcY5EBXECxBtcFqXtVphnb9th//qtW\r\nL8NUCM1ntqntCHRQcL5r0arZIKBJ8h2aUXrvL5rz/8PUKulycTtKoVnO0Goz\r\n++ifC1oq2N7f/RVrJMrwsm5xEC+hCe/XzH4W6glD1mGaYMI0gjXxax4kVrrk\r\neUGdG4SdbgO6HOjhl/01gxz3zJlHf9Iw4DNobIj5X6QMvAeQG0lPgIlrgwXO\r\ncGMA0R6nt7YX4rGC43JjdhMgcYre16UCC+KcSiHd6Fk3Y1VsqCjw8Ifbjdio\r\nnJxyEU7FiXm6+Dc0xy9ISGbEiFc2o3bZCUKhYMTpu6jEiTD8sRyp7U+ZUTYq\r\nXLaMQ03jZPilpv7IkTr0qdc5CklldYVQZUbP9iqFmq3TnNTw+MQeI922o+Il\r\nv4K9jOodFw7uuJakqqTXgUtFMagWdJ90XjuIn4lucMSZnxEz1XtoRbUq0dkd\r\njbpFTfN7j9d1oE7z+TUIs6QdLpbokgEQ0N73Jqk9MVV25e+mOx+9miXKA3AM\r\nGne0rJHiAtOWeE2hTehjzYeF3dRVXMDXp9M=\r\n=J7T0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.3_1650956533012_0.04871255009635167"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.4-7165bf71.0":{"name":"ipfs-core","version":"0.14.4-7165bf71.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^1.3.32","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.3.4-7165bf71.0","ipfs-core-types":"^0.10.4-7165bf71.0","ipfs-core-utils":"^0.14.4-7165bf71.0","ipfs-http-client":"^56.0.4-7165bf71.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.4-7165bf71.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^13.0.1"},"gitHead":"0ef2fedb9b9cbed1b4855c48b5f03d343ceb573b","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.4-7165bf71.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-bXI9+/quiVVnYVya96Qq+xp0bHAB0xVv3ZXPfWPZFIy8oAk5bAd3cdHGwlQe564G0wlXtCgCcgKLLTwaUvLWCw==","shasum":"606bf182906bb8b0fab0015d83a51ba7e16de191","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.4-7165bf71.0.tgz","fileCount":473,"unpackedSize":2127285,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDt2KBop1LZHHrKhSItoeKWcH5wdJi0+hnvA0YUhXBs8wIgXkdzkO21XUMOLHgBx6YQcUFtcT+YwrWoMkPBmrOkGHA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigq8hACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpImw/9ECorLuPr2HF9SwnluBGObsrod1kGH7O8YG9QiMuAsdi98Nkb\r\nsM49sqk49vHqkVsIgt7cpJnhpjwnL2UdNyWRU20VyWi28/j5PJTEVxplF/UQ\r\n3tP3hjk42fnP4spjP9b6mqGvHMCnV5DGtRPeMZ+qG9SYjmBM41taTvdpTmBR\r\nkTc90CIH2icTCT8fvDAHAC2CzBaB5di2xrXRLQLbSCnPlpkJsyki2huDqrB0\r\nX+vDLhwrqe1nJIkFvMid7SvNExVWLJhFg1bTdp+v09MDV+v+xvBB/KIc4R6Z\r\nNI4RthhFYxFbdx32iPGQQpzfjc/PHnFqnHXDj4IS9FPZhB+Ng15pFkE81hjr\r\nIXf7S+/hGVqv0zGIYq8FYfHJXEI3TK+K6Z5QQCIL0d3yOK/hz8n8e3xfKjD0\r\nPkJllLDqRsXIugghCACFWXi19/rf/6s9DnXNjIlQk5LZYEY+hhNKUbLZBRmW\r\nxUj5/wlZuJORfrRoLDRMSMBbzXP+q5xdOx1TgrnfVjQlelE8psRQbKWj77+4\r\nwiCZeeCJJGgODnON+UeZFVzw9hS/Bq7V615eKFXm5EXjhXtLaeMxT0BfdvqL\r\nRXaWIXOKPDohSz3GA3f6mgv6bzTZBTPyR2xa/chgojTu3Eb/CQjysW68a7sg\r\nyJ85DQHu0CeGXRuNEukaR/4c3wwPuNyi1vs=\r\n=Qmr3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.4-7165bf71.0_1652731681192_0.9134866873893503"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.4-4e93dd5d.0":{"name":"ipfs-core","version":"0.14.4-4e93dd5d.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.3.4-4e93dd5d.0","ipfs-core-types":"^0.10.4-4e93dd5d.0","ipfs-core-utils":"^0.14.4-4e93dd5d.0","ipfs-http-client":"^56.0.4-4e93dd5d.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.3","ipfs-unixfs-exporter":"^7.0.3","ipfs-unixfs-importer":"^9.0.3","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.4-4e93dd5d.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^13.0.1"},"gitHead":"102f592858ec8237081913452cf185a3e44d2596","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.4-4e93dd5d.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-xLhmsAKj+ALuz92+WXGnGLCrGwiTvBJT/XjRO7FD3PaBE+dCSB2XuubXeM3LQI09zC+DdXPZIPSEv8tvtH+FGQ==","shasum":"a0cd5abc7d36cbd8b406783273bae538e821d53c","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.4-4e93dd5d.0.tgz","fileCount":473,"unpackedSize":2130217,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDczL/GMerXKVKfzx7hHapx/iqhpbaT7fi0PcCXVEMZRQIgMISLnpHhEOn/WxK1ESROUyR2QdgWMM+fsYWcB8TEdIA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikNV1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrkfQ/+LtT4quww4+gsLQJISNVchhW671Uh4EHPVGWY9guVqkwWal2f\r\nAEbk2sr3N7l5Wyt2Pj6FcBmDW80236QHNtYIySzLfbdSJYpYgCW2GqXksBvc\r\n5nc/+w8b+PXiXjsuAFaTnSZ4bTV2xHdcE3FPTYZU5R8j/bTdXPMt6ym6RnO6\r\ns6VC+egI7cIlga/fGFkeBeWfrKk8gkmN7/M664yIKc8KPyo+0cUwti07RC4T\r\npCATjpxT3/+GbWXuNz9qEQj0fLuCPhmsRRDot7ege1KLueeRc6I4UEtgvlX3\r\naYUgL9RagUOvjXHj3TH4kTXjhEa+Hv/XNInF0EEztUrXZCqO8NTgTbyduCNz\r\nC1hfbzD6IonpOIv+EkWsk7c5epv3ceQj+UJUro9LLr2N2KC3kXrPBP0s9f95\r\nTWkwmT5VjxJrFsn8IT6mzGaS2ntTlolcUc1Km56EVZ9pvMbXEXz/ZY1uPQoK\r\nISx0PwD3lMtQWFbhiSFNJQJOB+6AP3DayRtCan0j0vi1wPbw7P3JYs8hMBod\r\noq12/z1WU8IjPw72wWcf+t+hAkfXTE7i5oQCqq73JMXyBVMnpZwYjivfojoh\r\nWlK3WDUaDr6u5nbOoVG+BGEyfPVSPT5xI0LBjyQcuIHzghmMww6e3jXjib2u\r\nzRftAKq2hduH2ktlTQodbMKQXpwx2KtwFxU=\r\n=vBRf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.4-4e93dd5d.0_1653658997141_0.10777728536242415"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.14.4-919b27a8.0":{"name":"ipfs-core","version":"0.14.4-919b27a8.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.3.4-919b27a8.0","ipfs-core-types":"^0.10.4-919b27a8.0","ipfs-core-utils":"^0.14.4-919b27a8.0","ipfs-http-client":"^56.0.4-919b27a8.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.154.4-919b27a8.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^13.0.1"},"gitHead":"b3b172fe34f542a72746b3af9351bcaf25bedda7","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.14.4-919b27a8.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-oi1ntPIXxo54pzQTKiJC5mcKgB9lgsfrDnWsqJ1RxOXS2976VJTtZ03VXddtyqJTfV9IghWNL4SK1/YGvwmGFA==","shasum":"74d0ca25ba923ba1c4a5f18a464a34c802fb90fc","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.14.4-919b27a8.0.tgz","fileCount":473,"unpackedSize":2129959,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWlYob5m3oz91LRXRajHfXsl8FyzAxDBLZ74uS6a3wegIgEeXNlj4/4a4CsE9kzrff5cbmIEc6pJ+e8HlvtIy5Yww="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikPnhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUgA//dWgUWhVt7JYecPyKxj9DhVae+nZalPCObEJE5N5qceZFsxH3\r\nNWjwWs74uqsbVSKY28f+Q23rr6qHr/ApPHrTaDSgwFZ1YKn6bvjFkUbr3Im2\r\ncSaiozYR2CWSK4guhPwbR5D6KRCjQW6rAAgfL703fKQDTK64jva2JK+NC8QK\r\nUvMQaHwjB9Sux667LCi7b1KnCQWaeQkg2SoyZfKm+n6MWePlCEnF7/NZ4QBf\r\n3MKFy4u8Wn5x4JKEPcJFqzpm1UnDxTjGbsdu8kCET7YXQbaRIB17CjMH2eWI\r\nKdlh4XMJaF2hElJ6bqDo1wOL73gdrRyyzuc9BFteW7H8KPVegFend+HIdvxe\r\nFOxNCnhc7XcxVvAVAEc+YP4UjdEZmltqMvnDz6TPkc+Hhn6dCUsdASN0A5rr\r\n444XAj6N5v4MEbsat4+l0aNa1reKdnGo9M3Yk4Ll812PQ9qsA+bA7gtLWqJi\r\nflHsyhiBZJ2qhCssJIH91pF0WSRZhyVXrwpoTdsi2FSW1Yiv1FNBMitwD9xN\r\neN1/TFKDU6cqZ+RGeR0F+pftjCiR45kYticl65IepLLg27Afvf+x5teXJIE6\r\nMyuHWmGuagQSmuFRxsKa15YWmJZDjU7suYzg65TIVTf0coQygHYfnri9ujOj\r\nW2geXYt48FN33LqntnG8DDu2m9zBmfv7hII=\r\n=Ey+b\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.14.4-919b27a8.0_1653668321657_0.8470460257202641"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.0":{"name":"ipfs-core","version":"0.15.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.0","ipfs-core-types":"^0.11.0","ipfs-core-utils":"^0.15.0","ipfs-http-client":"^57.0.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.155.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^13.0.1"},"gitHead":"38e78cc875309ba6316706b63865e399dbcd18c0","_id":"ipfs-core@0.15.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-YVfv9gG6SvH6ee9V3QiIfSfj0KE6wlHOwO/A5Ku3LFZA1a1e45U91iB6qqiPZ+120VAvcr+WGlF/D8584ozoNw==","shasum":"219fbffb4180c3902830576dd79b10d8a13551ce","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.0.tgz","fileCount":473,"unpackedSize":2129883,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrA2EYPoHizP18Y+kwzGxBMdDofpoe9Z9tU+Cnkw7HBwIgV2ry+VqSEhTkyz51/n6qS0h42u4RRXffaY7e02YTG4I="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilRhIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqZXQ//YSLzG/r2Veqc+VyCmaxhfbFeza4Z+BO9q0i77QTuUdct6E+k\r\nIv1r4AwekA1vC5zo7FNBJCaUBDi7k96WO5ia1Wo0KnJi/ct8iEoEBMO1xf4n\r\n+lvhSQZwV6eP+6wkFRyjDyfF07Lm4y6fkFt2RkSXmk4q6ktkC1xzES7P6bVT\r\nrs/5gRrdALZLlvC7AymmAODPnd1H49/Kxf07xYzD95xV43wp/9gxIZQfMmxp\r\n4Xslz4GzTds7HZy4LcSl/taYXDlEhHW4PmaDcLFPoX5ldODi1P2oFHjJuIGM\r\nXtzBZsnGd89YxXPgUmTTlmKgQ5StoPoGoTZeSmLqmZZ9sYnnbcO+Q7pLVAFD\r\n2QYqejx95qNML7fcIEZdwirbEbxPNMq/yTO0fP5uWOVnE61iMhylD3WZwyFV\r\nIV2154cB2z+ZYLCDAaHkHlpqeP9BBe3Xj659z0Ifsr1boBEWICXrQcbLLx+Y\r\nzW6z5ALnywtyumHtFyItxnNa3vkfkKIMTAst+xx84w6DYzWThAzTQWDrHLcY\r\nqOZYXkQEdN/9LcyvcuC85greMVGYla8AWZ0uPht5Rf8NYokgKBM3ezqTvH7z\r\nLWMsSMo2HJNHeK49pnNuBZju+Tqky3Xpy4IDZl/Aj1YnsekDUS/W//KNPbe/\r\nJl4Oj5h/emS03LH9WV552s353DRVBiUS+Xs=\r\n=buGx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.0_1653938247759_0.3237894494543987"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.1-ddfb899f.0":{"name":"ipfs-core","version":"0.15.1-ddfb899f.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.1-ddfb899f.0","ipfs-core-types":"^0.11.1-ddfb899f.0","ipfs-core-utils":"^0.15.1-ddfb899f.0","ipfs-http-client":"^57.0.1-ddfb899f.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.155.1-ddfb899f.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^13.0.1"},"gitHead":"87fbbf38470547cf82ced4c9fd2679df026170bd","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.1-ddfb899f.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-TuLSoY5FYoDM4AMH8myJQ9yNnNSJqkHdPbvPC8stCazc2YRSA1ik4fea9Orj0oTSqt2PnGFyAsBynWyECj7+qQ==","shasum":"7283cd7abb5798e1bc7db0d3d3e440bff1d11e5b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.1-ddfb899f.0.tgz","fileCount":473,"unpackedSize":2129971,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5bq3fX5cNEj38RMfAqwtBmmTHLGtAMBWeU/4Skvci0QIhAKop1Dv2k8ykJXR4Id6U+FR4cmtFTqH7ucBaIW8xxGjX"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilSGRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9Nw/7B5om3DFuUoqP0OV5SJ79/zs6NFAat1u/iC3MfHbfa3wwIMW8\r\nxpuJ+7XDBo2kYF6W9FzBqvZrfZk5pJfXlqMpSDUr8drJFZscg/Zg9G03SkiU\r\n3NOMEDHjgCpczSUCiJyGKX3F+GRom+n3Ir87SMxfInv7Q64VfEp0ruBcQ4lF\r\ntpOrG6Co9Sjb3V7U8aCkqT3sq+Av8cHsniVsfCkun19YfXUZz+8k24H1tnc9\r\n6JSLmBnmef4oMJVGy5Z63FI10BX30Ha7PxLw0cY54K4xaMlBORawso1MRD85\r\nMnANj3JSqv2N9QvZEeysJShM7rfyvXf3omcGwCp6Sqp/7VhuBZVzCmn+e4my\r\nwPH6S9vYrNokrYiFKHJpP1c0VmkdqdOEqw7D06wNubiqoSCb90/V9Or6iwiJ\r\n7mt8FK707B+iRSVHkCEGDNbRsOpeffmR6VMsWdssU3J+nqHT2SjZ59xQ9eGF\r\nbGz52/O9Wscre9IG1RJE1VoyUkjVP+cSAiWsPn/y+EUuxwtRjnJGB8nxm5UV\r\nD6xijiBz9S0xJk0ZzEZp3onCnZ0+Hnsgtz1d1ukgvEDk08cAw26Qeq8Vuz/n\r\npIfMYEsKUKFT/SoU3cGg5nMdO/YKNtivEe8/8icPub4ZGPOgHrILqGM5W0bf\r\nb0VxhA8uKJrgyruZS+UCRjYoZ1BnO02K0Yg=\r\n=kkwo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.1-ddfb899f.0_1653940625303_0.8239768125531313"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.1-764b4adc.0":{"name":"ipfs-core","version":"0.15.1-764b4adc.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.1-764b4adc.0","ipfs-core-types":"^0.11.1-764b4adc.0","ipfs-core-utils":"^0.15.1-764b4adc.0","ipfs-http-client":"^57.0.1-764b4adc.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.155.1-764b4adc.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^13.0.1"},"gitHead":"e174046b9ececfd2fb7fffcd8f6ad6211adc7499","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.1-764b4adc.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-6GwPrqf2Fbesny5oRHSify47R9MjURcTARlKp+ujNNhEf59bIAYV9vu0nxsPl3nCweiLDHQmZ3QiRremZ0cd5Q==","shasum":"a33d15e7e36e89022379b2841a5a9d53c9b29053","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.1-764b4adc.0.tgz","fileCount":473,"unpackedSize":2130231,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCp333RJ0C/sB8LPiOHNa28ExeIDJk6PRonfIFItLQ/VgIhAIV0jz9RlDSkmUpIXog89xg212oCi0ql8HMJ+Wo1tR9p"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil3cYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq38g/8CgYqWbIeMz7XWfT9L/nDu7dqb6J/7TYSTCHwuY9rbBY1Rp4c\r\nCPm8iNslisWAx80dFqHrA6LW+AUSzOMVFysPl/dwF1pzYPbfFbbSFML5r+wk\r\nRwKdgKWW4bmWifBCgg08N1BLUVf9WdOSRHQ/aIu4+vZEZiqbYfqE+msbvU9u\r\n+zi6O8PGyXPyKcjnRcufZn/sIVtcv6hvZSU2xagF3oOPp7sBdHVclXnF5ZGr\r\nrqq4Ns8EoK5TKfQM9+I2eF8Zx9lKjzQgEWQsduL3pW2bNVDL9GQx0xdf5+lH\r\ntiJm5BN2awxe1obHa0Kc482XNSo+j0Iadmnu8sboaWzOChMcDBqmgYNloVPT\r\nzRcc9vtzw8ONISqPV7Bkaf2svyQPRoJ2B3B5uVNStBKgFIKOGoG518vInzMF\r\njyV4p2Re5drZR7GD73WN6WGej2knSKAm3zYHIvvkaRREUTAxB123S/cFA46I\r\n2DQT3iXWL3eLahPcXmV2KxBGzokpgdN+wHkfxfAwxAmiWeY6PtOWDwUOlECy\r\n1Wl8VZXfPLzmfZa9FsypEHS0bDC78j6WX/B64yNgJ0W1kBsXHA3KN0Zjlr/o\r\n/1mJB7SSRH6gPudY+j2+07rH2VRX36xag7JK/llgrN/oCMH9/1GmEMeMU5j8\r\nn4qDFHLY9KB/0jIgwg9bibZTQT30dPDjMew=\r\n=bQsv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.1-764b4adc.0_1654093592314_0.08584362519583566"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.1-be025c89.0":{"name":"ipfs-core","version":"0.15.1-be025c89.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.1-be025c89.0","ipfs-core-types":"^0.11.1-be025c89.0","ipfs-core-utils":"^0.15.1-be025c89.0","ipfs-http-client":"^57.0.1-be025c89.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.155.1-be025c89.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^13.0.1"},"gitHead":"624dbe983b6f235125107b73ccce5ca3e45cbe7d","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.1-be025c89.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-fE6q7+WBZhySePiOW+WDDdg2/BgDV8+era1Z9H9whP1EL623DFjijzO1WD2/Y/lxea8J/4UcelZbCzo5GFAQqA==","shasum":"06ff530fe0d8f36b154ec93a671fa1d0dbcdaa5f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.1-be025c89.0.tgz","fileCount":473,"unpackedSize":2130231,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBuSeLQoq/3n0rYlEOodn9R1Fq2s1clHvX6KLfbW4VkjAiEAywFVhJ5Frgpw1FNrOheGGiGS8dYO37yNW8d+p1FdH3c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil3hSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrCg/9E2hPWxnfYYyijE+d/VvUyS4Yn72lh2ypiAXun4Gj50g2vZu+\r\n5KDUTje2sZQ9C3virT1UnoVyISKAL8tTBMDChIs3LnJ4PJuJ9HeLAXTE6d+b\r\nc5QJr5ty3HhID9PsqdaY+evWEHnFAzAhV0eFdqxwBsj6fo/lUIDKlUo5cvK2\r\nSYnWQ58nWXpwk9/aGBkyQuvc1B4Fhh47q5I0KeEfmdXmWdoBOyQNS+QH909r\r\nmjhlIIVKNdtr+ZP6/XdDX9B6ou+XsX9N6kxqyQpJ2IYVN7pABPFs33Rg/9MY\r\nIGZWbIZ94glXOj05hSQAPI+7DI6ttPuerE1wqO0lS4UaQNNv2qqsWvtF0hK0\r\nEWO5kO8FnbhMd3mQ9pDccdnV2wQzgVJwAmQaondu/10owkxL7m6L2q03S110\r\n7IpgaKOp8pG9kHSNiYdp9wLsQ2yWsOLwpJGPSFm1lkFDcDa2EpFbSlPHnA02\r\nT9ER+6LvtHBJ6YEuVQ3hxzPBN0m6IBWdhjBY7zNMynBu05jx3R66to1Q+gF/\r\nyfsJCT01pGgKmSYn+Gq2ixfk6YvIL4ulFD0/9GhPS9XCV386AO6ONS9PjuP0\r\nyfdN4n6+pSMdcqiT74uVidMXC1fWHirQuWErwZJzPVTpjPSwiXIap6nwbpqt\r\nEG8u+7kSZjjRAYxsKw6mdeW0IJQoB2R3ZVQ=\r\n=phHO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.1-be025c89.0_1654093906236_0.0774822918051441"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.1-87e00a69.0":{"name":"ipfs-core","version":"0.15.1-87e00a69.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.1-87e00a69.0","ipfs-core-types":"^0.11.1-87e00a69.0","ipfs-core-utils":"^0.15.1-87e00a69.0","ipfs-http-client":"^57.0.1-87e00a69.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.155.1-87e00a69.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"4aa63330e4f3184df8f4d39cd0880c0ac903e795","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.1-87e00a69.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-WEDTZPveCgSA/jB0wU552UqLjX70BQuqvn2yNKPrfOcP54+NPYbU9N7fkd+FEmTGzwPUPpQ9lNSbrryWCOx8gQ==","shasum":"4d34fc703d641512af2b5d7ad486154ced77bf80","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.1-87e00a69.0.tgz","fileCount":473,"unpackedSize":2130231,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClMe2DS0Fl3k3M34EpN5us3ShTKbKJpgotWbcg8DuWvQIhANHJ4DWc8MNvP6aJ5hmsRm8yqKKUqmYKdne+bXHAQL20"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil3llACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpugxAAm004FG0mGVoYoP2lX5eyyAZXI2SuyCxXqQQHvIO/eFqUQF6b\r\nUQpoaAmz8rIla1rKyRL01LFfcX8jBDJ7ZK+aaHo4KBBM+lLbudU0x3qk9PpV\r\nWGyYhF5VmC1KnnA2OoJVW++eBWRUoARNcDzZXWalwVUqoyjduwMniJj3iK/l\r\ny5ar4Bqtg0NvuBqOWXTQKFgntYfFQU/TvlvghTDmzRCqAIuCuag8/3NYJkPi\r\nxb3a/W3cxl7KOfzk7yWcv17cnwE2cJSU3WlN1SkEd833vfBQrRt41tjBbwvn\r\n/sUxq+9gerqAl+JFvWo+BH7adXIz5bqTVOV9K9oQ/FtPfFUOexac2O1ODbFt\r\nSYeAs77iKkwTvEBdn4+TDHW2do8u0AZUMQceLWz5+iOOq6pvxcf+wYfMIV+i\r\nZKxfapz4b42FRkywOc/CGaZjVX6B3Uz9ggieI14LFkm964EHCTvq20HTVtGi\r\nVKHZ1RC8HFchId3kayKm1+cR0/0Gvu5ogIBW9Wa/IN3tiP3LfP92oX6+MUhm\r\nzbYpd52fCEocPptIuDAQi/LaVctD1iZBlxMf2sZNSfYINRHewwOIHU9CYrwM\r\nAXXpmaIkUbietsDvl9Z5tYyI3yk/mt39HWm4TMIZqCwK/SNmuIyK7DGmsDHF\r\nRMjvo8WZVnHaBD4Lg4SNgCQD4DWrxQh8Exo=\r\n=vlEB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.1-87e00a69.0_1654094181103_0.61682290800927"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.1":{"name":"ipfs-core","version":"0.15.1","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.0","ipfs-core-types":"^0.11.0","ipfs-core-utils":"^0.15.0","ipfs-http-client":"^57.0.1","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.155.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"548cfb215e8afa8dca64d3c38fa13feecbe577e2","_id":"ipfs-core@0.15.1","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-Cy906UZ6SQRcg063KH2lp5Px97EnyDuHvWUR+CFEvkget3/qA6D4kji/UCMzXHKHN+B1CnmaJKh1cMYIqonyZQ==","shasum":"02fa324b5efb4eb27df347ee6cb2607da155352e","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.1.tgz","fileCount":473,"unpackedSize":2130143,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+rojIJYcxE9mhtw/d2vAksfQJzJk+EzUgw7qYZAeg1wIhAMM43ulY41jpBXMxtSOFHvCUbkGVKL+s1PGQ+nUPyxwG"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil4LRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpn+RAAkYFTOwzYWnbgCTTq/5rz+QRRQuJWAwqHBig7A9n/IQpYSrt7\r\n9CiT144ETt1B4KVGCtJL47eCGr+Bkmg+Pnijy8VWBM+v0b0ZmJumxN4vO1wX\r\nrApO3IBC8F8y90Ny5kE34lZ6Unh3PcMeeq9AY0cfC4Z7z2rS/NjkGFTu3SLq\r\nQe9VsbLXndwyViKmnoRdgsfZj3/6p55gdBKLck1W8ajcQ9FYTBIGwhjGuO5b\r\nCLc//B2K5O9SOz5SIBOcnvYqz4ER7QpZ1nd6Y6YxJ4ntu0NjXyn7qd/TLWC8\r\nGW/nZITX6GT62FcQ74Pb8IZrK3yUfC5Fzp6IRynYGYKuw6tSTG8pNjz5TSUZ\r\nnrAsy8FQXfGgqzWFJaT20NUrsYJRggfsot4qdWdBl7vhI1EIhmiMsdNuiNJ4\r\npQE8cIt8K6bb8LTpZH6kFCEpE6mGY9jKI5N2fXNPbycIt0X+RU43p4IUyrW4\r\nNhDp58VYQlJX8kjF/yE8bXB0HNj2YUO+kjw8iU8XWnMcpaufBiRE3StnsNzb\r\nZBz+3ed+tZQC92hUpagg/iBVbZpWbSZmf+BQSgwUTJUPX6M37W7kic5Hux51\r\n46H3IXqbPEnofbfKQmtxFM3Wr4QzGK2J3F7YprtcSS+9al0ie311QqSQWYlN\r\neKkCfA+eW95g5Fyjq+pPTAotFJOLJyOYGbo=\r\n=j19Q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.1_1654096592798_0.8583561568130831"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.2-70e142ac.0":{"name":"ipfs-core","version":"0.15.2-70e142ac.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.1-70e142ac.0","ipfs-core-types":"^0.11.1-70e142ac.0","ipfs-core-utils":"^0.15.1-70e142ac.0","ipfs-http-client":"^57.0.2-70e142ac.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.155.1-70e142ac.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"1a6e6bef85bf35b9328b61ce15d312f1961f5fef","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.2-70e142ac.0","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-5sG7TSBDaJU+dM6QRVvEOZXPvCyi68dfbK9k9R4zHf03HD7r6A1aS4th3j8kkqKylJN3FnaETelM89vY8rb0yQ==","shasum":"b51ae529e5e61ab0cdbf73bd3f95d9cbba92da71","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.2-70e142ac.0.tgz","fileCount":473,"unpackedSize":2134372,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjMWG0wOjS9lYWBctp3StGQGK2fpNrce6NuCs8ZifpzwIhAK6Kdsom8wWz5seJC2mvVl4FEzv84KppaEuYo4Gw9Y6B"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJip18nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNYA//W3l1nwxAvkLecinl+vT1drLfVVXxaGuZRX+zXVY4FCSHCadX\r\notUfgg5rMoVMTfpjFI35SMltCVxmzWjfElSEVLYdA3SDF958yAOknWK8DvZ8\r\nfHRcL8Q9ODW/NyCtymgeu36y/PK/+nq4T6HjEdIkCo4GNqURJ0okPUU0xA92\r\nLaCH6OaP7tbEcC4X4ZfZh962Ohcq0AFzEXODobqEjN5cVtQB47S8DR9y65oD\r\nBibLvk+SFLpo3VRJ5/sBfs8t2gw83u4GecptCwlGNBXprfM+6ljPXhcHMpTu\r\niVn74CXL61wHPZDWIDvoLgttZwVHf2xwc+dJXENWnOzpOrc66uumOQrubY5f\r\ndNeV9BglsOI/oy2eCzsuUYSY3rK+WNGrJdjt7CG5Ohz13ewcOEmzMtkrxpuJ\r\nBLWIWyhj2uDiFnlOSW5aLmPsCh+q71ko8KiiwK8/NiwuRWel0w7Ib4M6ShO0\r\nzQcZh0HqN8wNF6STEYINauTFdZEr9eevOU1RxVciDmmmZ9pKZCHJHsKKPWxn\r\n6mbFoQEQdPq17oNLXEhjUhH3yINHWkT4IBKa7WFlY50iG32FVYukIo4fatcQ\r\nrJ5D70GGo3hPCuLy2sVVLgpGxRSw/VZu9tfBpJhNLoBe8hsOHyVXKm6VCJf2\r\n2Q80LohpK8BvvsYJdU1XMZCWmIZRnqCblQc=\r\n=S8V7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.2-70e142ac.0_1655136039625_0.3557240798674699"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.2":{"name":"ipfs-core","version":"0.15.2","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.2","interface-datastore":"^6.0.2","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.0","ipfs-core-types":"^0.11.0","ipfs-core-utils":"^0.15.0","ipfs-http-client":"^57.0.1","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.2","interface-ipfs-core":"^0.155.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"0078aad85f92d7bc8e3a22eb9ef8efd257b439b5","_id":"ipfs-core@0.15.2","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-JdkPEDRc+dZ2FjdE0m0eAs5eGMDw/8Kk/4NwmdZzB0yHusez/EevN/MZQvcMojydpo99PvZP9YlgzMngeC2oxw==","shasum":"dcbdd5afa00b6e61ce7e5dce31a0421320cb8f30","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.2.tgz","fileCount":473,"unpackedSize":2134284,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICz8XT0x9U0cD0vAC6h24dZuhFUq6TgDOAd7eyL24oeCAiA0B0jwy4LoxKQ6Rk7J+Kqyxp4ggvDlSe4rgPeVdbQQLA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqCnUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoyag/+MouJjvOAu9hpNxy8Zc8uH4iZ6sTDip9uW6haFC8Db1hC+u8N\r\nHM18U0zqq0117uzlcbi5VWVhmgFIw2tuPVRJ3Bs0+U68/8MZ4a4hRhFsyZVG\r\nNGLH8Iye/Er690MQvzgn7CijwESVKPUGEj0jLR3TlVIcZyroVtuw3zfVY1bb\r\nb9sH1AeBRQ8E9k0dfKxVld0thqyj0rOkkc9T2i3G/aJ2NCwkl6NPhYPhp6Fj\r\nurdzfZocCgCg9C8iI81sK+otgFTfF0URuWLoP6m2lWX2xB0z8ApnDnqDK/pl\r\nD+JBJ1TtBMbzOXvZuPAjWH3kzaPbvdaXBGZO99kFNMlxA4mn9ecc/r8V5TFO\r\n2EvwjsN1l9ozHIIQ1vc42trb2LLe5n3vHP5pV2mvCfHPLDiz0qXzx72VfsXl\r\nUK5LU22t2S0LVH6QB8O22jNeLZ6mE0Tzzx7ZgJJUPS8dCyDatDVcx3V5hydc\r\nVvURtjeSon7MBu85kAdiGDL1qgew8Mx+E4LCER5GcVfmHFx5st0c4053e6Hh\r\nLsKE69eDhA/5iZWz6kjlsw9pSrJ7gZ3gAha2XVloQUuW5Ophfvcv6CmlUJCy\r\n8rQrhHWlvuu9OhWtMFKhpRQFbydDm2+kYjL0wiOgJDtF8VkWTcnjtGZ9b/RV\r\n4X5yAEu3f2daKT+ePkymzSgy9aOQU3Q6UDk=\r\n=Svzl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.2_1655187923791_0.4249000746806899"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.3-7be50bd1.0":{"name":"ipfs-core","version":"0.15.3-7be50bd1.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.3","interface-datastore":"^6.1.1","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.1-7be50bd1.0","ipfs-core-types":"^0.11.1-7be50bd1.0","ipfs-core-utils":"^0.15.1-7be50bd1.0","ipfs-http-client":"^57.0.2-7be50bd1.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.4","interface-ipfs-core":"^0.155.1-7be50bd1.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"8d1e141b6d72e6dca9162859d36425eab90d8b12","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.3-7be50bd1.0","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-MUoc6IC39CQC7OpjttyaLpH+t/nwBMYaZyKXfDHDQitsvNrnjXZ+9ZR0Da1ZE8t56nb9WXaXDFgRufJccL2GUg==","shasum":"7b4bfd764eb33db02016b870d08223bda84e8729","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.3-7be50bd1.0.tgz","fileCount":473,"unpackedSize":2148335,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCIChYXlIrpwKiW+8J+Qtcf7PaP6bSIMuumgKLzNuyulajAh9yVRxNpm75yvneceYZeEG40zB05CojXJKL+AHi8Izm"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJis1X7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp2Kg//RkYDE9+cg99c1XfXvPmHvHwntifm2poDQwst5R88D0a7gzU+\r\ntoPdurrvrEhC3SoCEBHZVusZWD/vzkT6HfDJ+e7pGfOloky+xRxTmKRWe2gh\r\n3PxoHNV658AYhhVxMzPQvcO2qX8Xh6VP8LkdYVdK8RC2i8/R095ZBMtK0ueQ\r\ncBZZq0FJMs1XPHnyQ4tBi9EYxAnyN1iwXXLe3rb3m+vbGNiq35e4juC9Tuwm\r\n8DFSUc6ksptvbez9N1owno8agVspMEUi7rcG0rilqeBdqscZIJWs9yHYB40i\r\nmgCDhkRk4tAiGq+gxQv63uTqhaudTa5eKZsi2R0n/2MAsJGHSnEKLJCwSv2I\r\nLFFEGohpq6lq2F6UNRAzD+usyppxLRsD6j5y1Weo6O4DP1poBSKNrMDCNpyP\r\nJGh5AyNbGVJqjnD6mAi3cAE1pLnKHMaelhlp0v3Lym+asGLmxHXqJ8VwUY1l\r\ndJ4wuHYvpibfcNANsb1X/tS4KOQb43XRSF1dzXKgj7YpR/482viJd/3OxD21\r\ndxFg9ykEOBiy8SkXM/WFjeM2ruj0fzV/HbchfvblDAHplOCuNc/wOIfKyNk3\r\nbttei3B30Z8GQ54UdE5btuhjZvKA176Ticn4UfSY9JOOLG3/F5jsmhZnEza/\r\nU7JNfVb/2GdRYyBKdbVW2Q/OFWZCHCFWY3E=\r\n=/FSm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.3-7be50bd1.0_1655920122987_0.19326514343824375"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.3":{"name":"ipfs-core","version":"0.15.3","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.2","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.3","interface-datastore":"^6.1.1","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.1","ipfs-core-types":"^0.11.1","ipfs-core-utils":"^0.15.1","ipfs-http-client":"^57.0.2","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.4","interface-ipfs-core":"^0.155.1","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"c1cbc810679405d5a5c0fcca0c5c7aaf023b2d22","_id":"ipfs-core@0.15.3","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-ZOwiZzoXc1TfQXG9BoMbGpWMUh3oqpbF77r5yL3ddi7jmCDOqq+0Zw0HHq8BgZO9Dj6UFKnPiUEOD+hbMZmuZg==","shasum":"f25f13dfc1a958baac6ffe35631d172e938c73ad","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.3.tgz","fileCount":473,"unpackedSize":2150954,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjeuVmQIvAZmrNcWz4F99dCrimptAG0K5MxyN0GJoangIhANu0J84ClMHMu3MFSPeKNEn+6iJrd6WaWs3VpCPFVBIW"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitFaNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmofHg//d/9GImKRj5V1k04OALpgCIVYVT5lnf5rEm4in3L6x8mbf5V7\r\nvOT79Xyd/R4hacxX+i01kA2Z+2JaWHYuKaAomg2LixWEpm2M7JOiSflDMBrT\r\noDiCqUEM8GhTFCfMFWfwABc8CAjwG6B6bw2gzzNltzn+9dlfpspUeHIwFgtS\r\n44eFZFNE2CCd8DaNoIdtcYVZtojlA8NpHCVob/g2wukiaU/zJ2vk+VuOO9AO\r\nd2410Cy1xJ9dhHnC+zsk0tXKJ420Ud6cDhsViHTv6Y6djp4u0n+5X+tQ3WQq\r\nLT9vOKn2rj638XW0OOv10dP+OV5YW7UTjGXVhoa7Z11/8VNCVnXYabvMP58y\r\nEu5InFeq5KyVFm9FXTmqS9p0AkNeK+fGOis4wQV1fulc5gBCGBWzTxlEMMLS\r\nzw3qto2lIgfdRAhuvPYn7NYF8rpdW456/9AQuiH8fGuKlG8GBNJ9IxZeGEAt\r\nYO/73PZ2wh+eZBl/oVlbWcwuBz2X91NIuMt3bQYcTqHI7AhzEn70+iXqlndl\r\neJ85aqYa9VQzvsMnbKNVVwwhmanDyf0hpZWMiQUrQLXMqvid6G9R7XVYEbhC\r\noy1Tvw743r6GNQDMi6/fYY9+DAcvN14Uuj/k4tzy0qkCZ0vP0gH0mjhF5i0y\r\nLSW42WD0rHE4UvHKjLapi7+U+gTcr20ZyPk=\r\n=79Hq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.3_1655985805049_0.7098582750422269"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.4-00bd3dd0.0":{"name":"ipfs-core","version":"0.15.4-00bd3dd0.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.4","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.3","interface-datastore":"^6.1.1","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.2-00bd3dd0.0","ipfs-core-types":"^0.11.2-00bd3dd0.0","ipfs-core-utils":"^0.15.2-00bd3dd0.0","ipfs-http-client":"^57.0.3-00bd3dd0.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.4","interface-ipfs-core":"^0.155.2-00bd3dd0.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"5e5669eefa320838c4810adf62356b0039209ed2","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://riot.im/app/#/room/#ipfs-dev:matrix.org\"><img src=\"https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat\" /> </a>\n<a href=\"http://webchat.freenode.net/?channels=%23ipfs\"><img src=\"https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat\" /></a>\n<a href=\"https://discord.gg/24fmuwR\"><img src=\"https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat\" /></a>\n<a href=\"https://github.com/ipfs/team-mgmt/blob/master/MGMT_JS_CORE_DEV.md\"><img src=\"https://img.shields.io/badge/team-mgmt-blue.svg?style=flat\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n- **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.4-00bd3dd0.0","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-HGdq9RNb7dQqV+OVLHp6XEmQgWZipmSzvX/di7Apoc7610VBH1CqqGxyC4Jrmt3zAzwZmV8wvQe6XutzOCI8Sw==","shasum":"279ecf1c339e601f6ecc22cf7be212c9ddba0748","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.4-00bd3dd0.0.tgz","fileCount":473,"unpackedSize":2151023,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGPjZRl2R+cqAXHvmVpxLlf2OrnKlvc6PS/2tXZtmF4cAiEA+sO8NFz2ymmgYvhy/TrFyE3sT5tbHa+q36wUFIMYcyw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitYRPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+LQ/+Jo+zuf+hihH8fTUviVMgb1z+YrXXOgKwQf0lq3uUFghteadv\r\noby5siPbspv9Qd3Skm6QLlKEUt0wuwvm8bPEytG8hCMcCc5y5smMpz7mX76R\r\nwjdxaF0jcDgQKO9UzyGXsJvdJQ57vYTsLk3ixZ8HmhthYo7TjkEbptGvvvDC\r\njCCPSZzsGlMekiZzDHQFUXSiFbhi3suj3RZPyPO71V4xGyfLz3Djyv7a8OxK\r\n+yxcpD0eOirYGJTzF0TKJY3shBPV8O1WHjlmJu7/i9vRjkj+or62A4WrW/Ev\r\nboH6nGokK99flNy70FZy/MWWTtNkfpGAOBgZbbzhX1O4geNOV8ShnNzf2BRP\r\nB+nLtdrNOLzaXkx78iL0RvxbJfnrE2LHd+V19KAORIJ9SfKiNLjQSxAS+TLO\r\nID7rgKtbYUY01lKHYnBMSSrIloLpluFBuh2mjKphtHgRxXyLSXJXqUtHAYP3\r\n0V9qNkT/d1jfDkbWn9OnHtLBLcFEvA9uUbFs3K6IkixZdQS3lm4WOAdKEJ9k\r\nblbJtEwQGYCDRf+hm3E4aSJNRzjWYjDLaZ7WqPafnrw2aFODYbQqyMbhmIOe\r\nkGBE5tQOcmp3/XujZF1JywEy+aaWj3dDgCDw++/hoPuCCHz8IuU+huCn/kF7\r\n/YwizS1Tq9FspivFgltfecXAZ4kDy5/bC0o=\r\n=tPbA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.4-00bd3dd0.0_1656063054920_0.03752546934092327"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.4":{"name":"ipfs-core","version":"0.15.4","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.4","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.3","interface-datastore":"^6.1.1","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.1","ipfs-core-types":"^0.11.1","ipfs-core-utils":"^0.15.1","ipfs-http-client":"^57.0.3","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.4","interface-ipfs-core":"^0.155.2","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"965f5a4e00254cee48fca2127d95209deaee09cf","_id":"ipfs-core@0.15.4","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-4wZU76x4GjJGO5gtyHCk+1AjiSnWEUz/jynY5XRcz1bEus0otlUYTpm/B1Rw73Ixvyx1nKSQCSKh7gf36YDf3Q==","shasum":"e5d033fdcd5c6f653f67383141b55ef454f98605","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.4.tgz","fileCount":473,"unpackedSize":2150935,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAan4qArHj2LLU33yC7+UTZH4U4i9TnLOsRKT21Pq+u+AiA10Ys05kUiQbjYvFMgJ3TGAcCO9laS4IpWDM3CYb9byQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitZEcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmogeQ//ePg54h4mkBfo8YxqZRvVp95+flW3ADwOl5zXDOYx+qXu/+a0\r\nSi5ninyonzG+fyneX4Zpi1o+5s8idlqSOz6C9k91YjarNaoejjA6ghcRyl3y\r\nj72XpMVEjvZIZaFQubp0AkloU7rqsDWz5zaCkjW8+LCDcWKOsFFs42hevGVT\r\nrfFMsR3FNpLwMi4desuPoF2dj9210b28lrcAHJRG9gUdeiAbyHb61pGjLJ7w\r\nog9IiWGgyqhJ85EEq85Y5iH5qNOWSYAxp8u+2VOcW+MGqTg/qjNdMyKGb3WY\r\nboTRn6HtcI6FTW5CyKc5AYmeFY6MXG56apPTXU3O9CbgQtO5UZaYQaJAutOW\r\ngHdRf06PPsqAutlVEGXdW1HVo//gZ/L2iwCZz6Cjmlf1Lh/PF/6bpqgsVEz2\r\nLcNiXGwagQHCKFY0cBcXQBX7wB6w9u+kufP6KWTuHOA3FRUjGUo5J2ESccwW\r\neP9g5/RsnxTlVgO0y8rgR2FonGy0gxJIWnJwajq9cqz6KYZNL0V9cSh6dNuK\r\nUL7o7hHh/1k6zajEOI7O8q6iGEL4INFxJzLU4U9pE9ZZFjkoSYyM01P5EhRI\r\nyEb1GyJ+3UtJBqUi4pnhjzEjGhtCez4qihYI/X+N3ipHqKnVMP3lBcfcoHZA\r\naCGc/tMx7J1ZQWKszkCALX2wgFYAn6Ac7uA=\r\n=qO6d\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.4_1656066331886_0.2315806839729162"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.5-a05695fc.0":{"name":"ipfs-core","version":"0.15.5-a05695fc.0","description":"JavaScript implementation of the IPFS specification","keywords":["IPFS"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"exports":{".":{"import":"./src/index.js"},"./config/profiles":{"import":"./src/components/config/profiles.js"}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore"},"dependencies":{"@chainsafe/libp2p-noise":"^6.0.1","@ipld/car":"^4.0.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^1.0.2","@libp2p/crypto":"^0.22.9","@libp2p/delegated-content-routing":"^1.0.3","@libp2p/delegated-peer-routing":"^1.0.3","@libp2p/interfaces":"^2.0.4","@libp2p/kad-dht":"^1.0.3","@libp2p/logger":"^1.1.4","@libp2p/mplex":"^1.0.5","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^1.0.1","@libp2p/websockets":"^1.0.8","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^1.0.2","dag-jose":"^1.0.0","datastore-core":"^7.0.0","datastore-pubsub":"^3.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^2.0.1","hashlru":"^2.3.0","interface-blockstore":"^2.0.3","interface-datastore":"^6.1.1","ipfs-bitswap":"^11.0.0","ipfs-core-config":"^0.4.2-a05695fc.0","ipfs-core-types":"^0.11.2-a05695fc.0","ipfs-core-utils":"^0.15.2-a05695fc.0","ipfs-http-client":"^57.0.4-a05695fc.0","ipfs-repo":"^14.0.1","ipfs-unixfs":"^6.0.9","ipfs-unixfs-exporter":"^7.0.11","ipfs-unixfs-importer":"^9.0.10","ipfs-utils":"^9.0.6","ipns":"^1.0.0","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.4","it-last":"^1.0.4","it-map":"^1.0.4","it-merge":"^1.0.2","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-tar":"^5.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.37.1","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^1.0.0","@types/dlv":"^1.1.2","@types/pako":"^1.0.2","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^2.0.2","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^2.0.4","interface-ipfs-core":"^0.155.3-a05695fc.0","ipfsd-ctl":"^11.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^3.1.23","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"06da5952a6d61e890ae37d305b99a5f174a1555d","readme":"<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n> The IPFS Core API\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Getting Started](#getting-started)\n- [Next Steps](#next-steps)\n  - [Browser CDN](#browser-cdn)\n  - [Browser bundle](#browser-bundle)\n- [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n- [License](#license)\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n* Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n* Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n* Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs\n* Check out https://docs.ipfs.io for tips, how-tos and more\n* See https://blog.ipfs.io for news and more\n* Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\na. speed the project along\nb. ensure quality, and\nc. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\nFind out about chat channels, the IPFS newsletter, the IPFS blog, and more in the [IPFS community space](https://docs.ipfs.io/community/).\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fipfs%2Fjs-ipfs?ref=badge_large)\n\n[![](https://github.com/ipfs/js-ipfs/raw/master/packages/interface-ipfs-core/img/badge.png)](https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.5-a05695fc.0","_nodeVersion":"16.16.0","_npmVersion":"lerna/4.0.0/node@v16.16.0+x64 (linux)","dist":{"integrity":"sha512-w5k5M5dZKd1bxQqGWXkLXerly9xScly0D9f0m35Y+9ucz/34CiO97V4SbC6C0Xec1koEo8+6e1gRKdI3gDIdlA==","shasum":"579a9dcd026f15742b359d8b1e9fc012bb74f51a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.5-a05695fc.0.tgz","fileCount":473,"unpackedSize":2151821,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB8yo3rDZmgq6QY4qvx7WlmTPNAG4DaFjgw2JtHBz3BhAiBAXNqU7a1SjHKPDTThowAm/MFL/4Ka51ZFfYDoTI1zXA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2AGRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3+w//fiXcLfnJkv4y95V9FdIeoN202yqjQKFRQCrP4URV8F1bwuuC\r\nne/HCkcjP5r+ZAN8r5Q0vJxU91c28QtANXqBvRlojql8LTnurSiTIzL+phQu\r\nPGcVxfApj9mDsbhWo9VfM0j/wLWWN3iT6Bb/KUGyQSXHehI5RNuk7e9O9xwG\r\nkvo218Z8d7BIBP6MdIiG6lUQJMIXbjtxEhnpYb90FNA8P+6PK32bBy8XvDWn\r\ndxGc/7KKsHqE5Gq9UAMZg3ZU3GYIJv9PnzTayG701YeBW4zoIlcma8gyrycr\r\n2q4c/7zN8t2H+rEfyOPJFuBIUsy/tlMqItx2Tbwrw2I7PwYguH9RPogvdcBe\r\nyLX0U0WBDr6QuoVuu9a1zbdZwVFOrZ/g+EPtmGhYuTHFac3eqWQhNQqcgFfb\r\ngCtoXcxM5Yi/S4PsVr2eBhyvehVuLh1DKMBzZGvfhvikIwAzJZJo4JLw+ao/\r\nIvOeoyAz0BgRABmSci9gcjvIQ8PGKMSKkHS/AjP3aVJ0hG5+YPAptxT1r6X9\r\nSlvxSOM2ohEVW2lQ1KhuqkPn3nHlsevpXB89eT7brxDt8xaRiUBnaLyupNeY\r\nmlXdDQx2f+EC9x4Bfj0MRwa6m4GIbqKhq9ia1Axef4X2Wh/feLEm4fU4i9Wc\r\nrn+S0UO9xpWNmgjloEu7YlRDFI6qUD8anwk=\r\n=Sx0Y\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.5-a05695fc.0_1658323345255_0.7543771756575117"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.5-39dbf708.0":{"name":"ipfs-core","version":"0.15.5-39dbf708.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.0.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.4.2-39dbf708.0","ipfs-core-types":"^0.11.2-39dbf708.0","ipfs-core-utils":"^0.15.2-39dbf708.0","ipfs-http-client":"^57.0.4-39dbf708.0","ipfs-repo":"^15.0.0","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.4","ipfs-unixfs-importer":"^10.0.1","ipfs-utils":"^9.0.6","ipns":"^2.0.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.38.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.155.3-39dbf708.0","ipfsd-ctl":"^12.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"a2f1f57d7993d04b2d19c3d7ecbeecc95a54d2ae","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.5-39dbf708.0","_nodeVersion":"16.16.0","_npmVersion":"lerna/5.4.3/node@v16.16.0+x64 (linux)","dist":{"integrity":"sha512-7KaLyaSNw5CUPYWhI80B2jwadzat83nesHJ2WCT78/O7koTYQd/GoBitA0rGwE7GJkimo7/u0ho5Low2o+BvDQ==","shasum":"e24178e902944f7fefdc6316bd2ffb6383ad7690","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.5-39dbf708.0.tgz","fileCount":430,"unpackedSize":2146539,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4YBGmMtP90v3nMEtSeptvEXWqCKQ0x2m3obeYeGtgKAIgFMkLUPLToVg/BXXdmU0rz6QexsUSztjwdqnl+UBcnw4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/WDmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9EA/+PCwt159zR+oLOyFPNQWsmWnLGWkpSk7J9fbaedCYL4yxeuUx\r\n2B2SbfxzaoR6JOeHws/+DaxidH/rgVW1c//ObpqZOfMmX7qU0IAtHw9BA5Fa\r\nPlJn0tvzqM76orVnnWBEzAjnqmdQ3gq8UgQ17S8xBrmVWVIZr6yLPS3MYDNS\r\n1lQwEavrESnwqRk7h7Jj1EV++tQo8XGpXGkSIo1qkkMQbxMrd2PmftW9FQis\r\npo+qDbK9Ja/CJ9RjfaTIjPMknZ2c0ElRR/LWgs0jl7mx7LVepgysv1cARPWe\r\n8e9hJ92AzrlEE4ClSzOnqOA1N0P9uh7KFUMOlmT7F7KthlvVHJp3eQYBN/S7\r\nq4bGFQB6e1+Sc44HstkKZU+B/n9ucpQz//xkgPaibbF1zA8aOtw+43kE+cKw\r\naMDwLTfxZDaHWmEa/lvoJeuzi1mKD49P2QAWwZMn/toVJiBU8XwLf36eGScE\r\nyaVNW0i7MLZ5zQRvGbE3+vCuxnX8oEpHuJdItPXdW91/bySgeu/VZRKT+hxp\r\npzK3kMHnVRrGMQnIeg7LyWW7KpfWoleGaXisqfSHfkXIBzctPAOMDJhS0rj5\r\nd1NMl+Aws/EzX/ZQ8kxr14k0wuPMo9k6hV+0GmEphrhjZtX8kDAbxZshFaSY\r\nUjRuNBE8PCTceHWCNbWohIVxR6dZBhZnHxk=\r\n=6skq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.5-39dbf708.0_1660772581847_0.14745242462278352"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.5-8f351a89.0":{"name":"ipfs-core","version":"0.15.5-8f351a89.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.0.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.4.2-8f351a89.0","ipfs-core-types":"^0.11.2-8f351a89.0","ipfs-core-utils":"^0.15.2-8f351a89.0","ipfs-http-client":"^57.0.4-8f351a89.0","ipfs-repo":"^15.0.0","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.4","ipfs-unixfs-importer":"^10.0.1","ipfs-utils":"^9.0.6","ipns":"^2.0.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.38.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.155.3-8f351a89.0","ipfsd-ctl":"^12.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"59229f179fc680ee9075d2cc8deeceb7ff1b27d8","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.5-8f351a89.0","_nodeVersion":"16.16.0","_npmVersion":"lerna/5.4.3/node@v16.16.0+x64 (linux)","dist":{"integrity":"sha512-1z3WROZPDPpZVG3XAcyz4WhlPc38VFAJeEsob1NFk6JJJDfgOR95ZncfBAuV/xz8rXubU1hewkyicb1yqlcKpw==","shasum":"e305c43cad0148933c717a3a15e67a53790a15f8","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.5-8f351a89.0.tgz","fileCount":430,"unpackedSize":2146539,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFy9Tirms2H0Kx85HFFtxJUGPF3k1dknZzieUnXzo2ouAiBAPdYAhQjt+PPRnI4kY0m8j8vM5fVFXo+4rlguVujW2Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/XdeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqczg//Whv9zTWm5d/2AmxTRjVhLwdF93UyQtLjMrgInVGiq0Kq4F6/\r\nIuGNc137Bhnp1D3M8asj+yzhYdXZW2lQGtK/vtbPIMWlrZD/E8jXSd33XzT2\r\ntZBCIApWNlmXJjS18JzcgP9gA/f6844TIJZqn31/6EYlmPzzSeBZHmeNXe4s\r\nLc7orR2cMLeItzD5KnRcVgbg5j70XcQ/kT4ndVWuOcc7XhnN7jep/YtcchyR\r\nlV3/CVoHshu659TOGFReCvvwfO35ikBY81LIw54tgwpIdEyI+UAI+cEUkaZP\r\nDiTLuidSeUjzCACM2go6wkVEEk/8mFW6KpDdJQeSnY/4C5YwqTC8DjsAHHLb\r\nFWJOC79Dt58EeFaCunG5faVwJF+eqixzBOe5LO4yWLTL/e+bpzapYfKmVjRV\r\nMwlusqKlOEkNAQP6GslQUqKx7wd/RoOUI7cxtcv0hN6PKbmSYQEm8sqz/mvN\r\n7F/4jsaWsbh6QkITcNuJLbYj9gFtLkVsnMc9wjRlVeF+Aofe5AsEewPm4hf3\r\n2+oY+bJ/SFcxUVsAcWE7LVWXlYZ/+beAq2JEKYourY2Q4MnglJxG7N2LfYsl\r\nhSCEeDM8+lMVK+Yy7+RK26fU5otgwxqSFyJSJEV9sJY6Oc42LBZkcZPVK5bj\r\nDJmWXelBm7v9A0IljdSO0523IDuj8stmIdI=\r\n=wtTl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.5-8f351a89.0_1660778334314_0.42693802607076603"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.5-83f9882e.0":{"name":"ipfs-core","version":"0.15.5-83f9882e.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.0.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.1.8","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.4.2-83f9882e.0","ipfs-core-types":"^0.11.2-83f9882e.0","ipfs-core-utils":"^0.15.2-83f9882e.0","ipfs-http-client":"^57.0.4-83f9882e.0","ipfs-repo":"^15.0.0","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.4","ipfs-unixfs-importer":"^10.0.1","ipfs-utils":"^9.0.6","ipns":"^2.0.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.38.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.155.3-83f9882e.0","ipfsd-ctl":"^12.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"368c95b50c87246f0c5b143b79deaa4329d0727a","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.5-83f9882e.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.0/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-wrDrmfiDlR026V+AdQb6cxX9xJi+c0z6Ve/ltuSIVtfLwPeeub/yVEnift40Ze3QpcW3QM+Xa0nnXeF62iJRoA==","shasum":"b9ccc31317c9f98f54e3ed515419d7ad9526ebbf","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.5-83f9882e.0.tgz","fileCount":430,"unpackedSize":2148585,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDC+0qndQtWPmyutH5AIiQwOUHcl76Sd5ByKaKYGP4ZTQIhANqU71n68d2ahhHt45mnMN09qkVHGR8mzAIaBmfbx/Xw"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFy9eACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/eA//WXj+I/OviyqpVLH1fVxsgNZniiDg2GOhBeHvMDY4IHcK5c/F\r\ne/iMb32SYx9RZ6d7ffLpoyVAKqi/N3Uyj7QMwR/ql3/I0sDn3Lo4wBgCNy8U\r\n1F6O/Mpl1hB7odq6J/y+O3Xm44438S3JQVc1X4BJTIWoijBINqKLBi8jM/Ep\r\niNu3e9+ISy4x2aHZRy0YGWRZ/fUBs1Z4kueW+INwNzayuZiDPm7dI3xzZSLY\r\nwZM8qYX9+utflMiQESgRLkL5cND/t+OeOctYWMErU5bPtbZKKeyxlGfOfihZ\r\nDIrg81LY5M0Hs9/Bt5IJVaqqJRp9mctawWO9SzQePkHkUQwVtxCN5/2KRIBh\r\n8G/aWpDIUM/HLmGUQZpca/XaJT3OJuhAwFP315ilRCCguAhHSJEyuilLuB6X\r\n11pm+dIx2sAC7gFB9i3xqjCDY8DnSB6bjP2YWxNj4i16VZhR6UofYa+trLIn\r\nJMhmFkKLikw3M7IOemVlrKH2TWot4wwSaqsbmcFOpN7Fi4QQ1dneEcQQslky\r\nylytrXXKR1WtE4O8QNvZrXxFQyuHFh1u2OnkUJWhi2bFhqmWQHaFeyVYOpmq\r\nsTnOdxvfCxYhskgnuqlN3a/VQRnAYMvgKGbowjIpAOtokTRcFIe9zCvf3iv8\r\nJEMpoy+DmtFxdnv6tFuSyMdaADfeCgxebnY=\r\n=p0lf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.5-83f9882e.0_1662463837833_0.8516084023959436"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.15.5-051da161.0":{"name":"ipfs-core","version":"0.15.5-051da161.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.2.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.4.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.4.2-051da161.0","ipfs-core-types":"^0.11.2-051da161.0","ipfs-core-utils":"^0.15.2-051da161.0","ipfs-http-client":"^57.0.4-051da161.0","ipfs-repo":"^15.0.0","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.4","ipfs-unixfs-importer":"^10.0.1","ipfs-utils":"^9.0.6","ipns":"^2.0.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.39.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.155.3-051da161.0","ipfsd-ctl":"^12.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"262c2c4e56b8de0c602251e9ea0ac3546fd2e28c","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.15.5-051da161.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.0/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-bbG8ddvKVsPzC5Eu+BMcS6hIe7jbJb5FGRXIk0xXEiLrPXWHrkOdJNemTbVptz+RI98VbR5qpl6uzubsxtzwjQ==","shasum":"9f939ecaa719549dd288f504e19aeed70650e1bc","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.15.5-051da161.0.tgz","fileCount":430,"unpackedSize":2193386,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9PJY8nh/QUvgS7/HTVtzeV+yg3Bm46jDC5i3sNyN4NAIgC06JSoSUsoZsVfnGJH5lNoXPBzOVtIdcsGiSsrynFeI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGJTFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5AQ//SwNJ/3OgmjuMWfmVcGG0u/6Tlv0FRoiuKCgF2pouvZZQYj38\r\nQ/CNHRWFSEwx5cY45wppu0HfsjeSdi0/xnlf7wRKGw0aORDBu5QSyFfvav02\r\nmvg9b7oU8m47AYp/TlI77QsIvm2yQ3X8iGCdgwsGNYPtuO+AzgTSPa9J7pHx\r\n4QGnqKIsx80l00K7GWAzAEk6AX0V+30FV9C7jZHsImIBdCjjuKI1GPxSKfcc\r\nRi+cp1p8TPgc3cJE6rZhT4wha3wrys7EyLwAlCeGhurkLw1P5r4JbRyuKfEN\r\nGwBNvR+msNty+spQP/pFMTB8NGIo1HqUAz+oqPNt+I4jYxqrcwhSg79HZLfa\r\nLx8AL1qT5K1DtZowz/bYouuX1t/DjCcjnHkmLpsbF5blRte83dJBGYhyGm/R\r\ncoUJwhLYJgwsyu+S5RBL6DJFpVVoAfSXvtjb3eKkRNHP6lkLQ+95mk4ViZ91\r\nCE9ryTToaEolnMorQoC8995ljXOxORJU5bvGv0pW0Cql4mjmJ8pac4Tz3/Ik\r\nntJz8Ttz7ICKbX9OR2vt9/gGsmC0nbyBRNvzT7W5xHXB9HuKWQJl2WEGmQZV\r\n90jYZlEcEF7WhEypyHOa4dWshV63rdi3xRil/i8m+/bkSMnYJgKuvrbgEmdW\r\nCH4ApHwPq48vrxkJd8/v9TjF+mHzX6F/eT0=\r\n=heRV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.15.5-051da161.0_1662555333533_0.7513466251657379"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.16.0":{"name":"ipfs-core","version":"0.16.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.2.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.4.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.5.0","ipfs-core-types":"^0.12.0","ipfs-core-utils":"^0.16.0","ipfs-http-client":"^58.0.0","ipfs-repo":"^15.0.0","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.4","ipfs-unixfs-importer":"^10.0.1","ipfs-utils":"^9.0.6","ipns":"^2.0.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.39.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.156.0","ipfsd-ctl":"^12.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"89aeaf8e25320276391653104981e37a73f29de9","_id":"ipfs-core@0.16.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.0/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-k34ahuMoRTa7H1ynkQjCAOtCfr7XvyKn749MOg7/uEoMQL9nP2g220BiYlP4eGp51Iiq8gJYhw/MJLB3stl8cQ==","shasum":"befcda839116e5543786c8a28de10b45837125c4","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.16.0.tgz","fileCount":430,"unpackedSize":2193298,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFN5BnlXBqCkvWt7ScujGuZG4FU5sm7dj06GGcmEKulDAiBuiD3WU+wHrWMivNOPkSyPTENKreqKg0BQJdKI3PBFuA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGJ65ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrijRAAojyxv9nI7/RS2NULzqkWW+f7VygYYRxMUlKgHDCZfZIsVxLZ\r\nbzrcXqUOJXOnm4GwcuDxE2x8tCXww4BJdh2u8tvy/kpbJCnfL9u6nCREj8Hh\r\nNMLyv72KHNOFY+CTCJFv/GE59ftEFlA/KwtEjPfCsDZEUSqF532ywV3mKv+3\r\nUhmW0zql8CRdLUPPbTvUgkDAY5y1eD1MdsmWYDxRvM4MQV59enZxS9XuWNts\r\ndKdCsUN94pG3wX6S6YmPuPhM3xaVKuTYZ/++tiFj+U+UOd2K7ZuB6AUwErjc\r\nORKzrPb4qJ7ctDVU+FXuO9T5AFemRzgti7LrF79I/8QmGWovd+qWz6Arwx0x\r\nE4kc8kFdJ9zYm46ByXD9tNEWOjAqMB1+geNdkdy41uos69nGuHbaUDUXM3iM\r\n4Vz6rTtYfO5vU+9Ikp9b1IO5v6nCoSllnBcNOkMCut9EQcUJk1eEh8d9eVry\r\n5G3T2EpwZp6AcUBPJCFEqfK7n6z+Xd67D5zOIfpXK6sNEK1mlAunjSNnSKL7\r\noYGGaY23s/cU+nKACfwwnXkj35RUogmuOBXlY+rBbU0+vmBXUNDF9Svj6l9c\r\nn7gcd8xOTrz45QSdYFqTQx6lIKRF+XYiZUhO7oAft7EJD3+Hm8G6kmopxgBK\r\nVJ4zRZzIUcyS1mQQME2j6FFg3qtrWqnlw9g=\r\n=lFzl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.16.0_1662557880679_0.50004531551102"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.16.1-b5456882.0":{"name":"ipfs-core","version":"0.16.1-b5456882.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.2.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^10.4.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.5.1-b5456882.0","ipfs-core-types":"^0.12.1-b5456882.0","ipfs-core-utils":"^0.16.1-b5456882.0","ipfs-http-client":"^58.0.1-b5456882.0","ipfs-repo":"^15.0.0","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.4","ipfs-unixfs-importer":"^10.0.1","ipfs-utils":"^9.0.6","ipns":"^2.0.2","is-domain-name":"^1.0.1","is-ipfs":"^6.0.1","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.39.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.156.1-b5456882.0","ipfsd-ctl":"^12.0.0","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"bc139649f4cd3840696282fa6dc6b241b9ea1833","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.16.1-b5456882.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.1/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-IhlJs+RHTbbGuyZaTwpuHgCTxoyVTuQX+8qwElE/SQz+evWcc4h4j5pHd2Gw+lzp41Hcl7y8WTagsIFnDmsoOQ==","shasum":"6af2f79021f3d4f13b0cc8f20b933da9093b3a0b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.16.1-b5456882.0.tgz","fileCount":430,"unpackedSize":2187100,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyY1MsxwbjKBREPaw1MvuWt/U4FegYSq4Sxl51+ReBIQIhAONQVYrrm5okZBSHN6lEU+9PZ4kb0vgAU8JZ/Xr0wJVy"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJEDDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFTxAApDFpplt18g/gmxIfEhcQ3S58HmMOQsTOd3ANrROIGQbPuCD0\r\n0CPK7qNPP1PXN1d18pmPbOIIN2lU9QkY80dolWZddA7m+/k5cm46GSM8GfQ6\r\nWdETRK5i6o/wbd7BPrp2TliAW+S1FCfqA3NBZDCiPh79/fJpebFkmRFbfCv5\r\nOj54ahfyo3iGqG9UpnyVS1e979VZEdTZT9QNXlQ/wCB2CSQSg9pjdWg1jad5\r\n0J8TKnm1H+M8pTiuv5vaio6xamFXlPz9X/K8RjwW9OtcqHWWhbMQZ0BNf6KK\r\n2ZPt20QmahA7ocOgquwoPV00dByc2t4DezjoSmFmyKsXV/gaE7ZPrmWafygI\r\n0u+24Bz07DiSDkpU+meld0BbPGMPWpJXkVOcukiSrPeZ1ftUq3zI8qwCGH/h\r\n4ESosOhadAKfP5Pj1ZFggvXeQF9qg/7FgZM9g33k1xcUeuLqt/Zi0cJ82ela\r\nnw+aCAQJU77kYwxc6hWTYi1Zaai05Ve2HTwFIKM4aL0+DmkysrpyZp/Jyqyc\r\nCZiAihNmudL0sJKTTyblGKKExwkyNXPZh75qkj+uR+HDxKNbDIpPbj4dmVKA\r\nuMqpaYbwoCAIRiFPogNGEHfPExvIY05NkHbU0c3jE3ibVOqE2WOLXNsuEVcB\r\n+tddS4m3lwp82K3sJOX4MViUWlyFdWPgHa8=\r\n=WNH/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.16.1-b5456882.0_1663320258774_0.18064649414729872"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.16.1-7c676f63.0":{"name":"ipfs-core","version":"0.16.1-7c676f63.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.2.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.5.1-7c676f63.0","ipfs-core-types":"^0.12.1-7c676f63.0","ipfs-core-utils":"^0.16.1-7c676f63.0","ipfs-http-client":"^58.0.1-7c676f63.0","ipfs-repo":"^15.0.3","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.6","ipfs-unixfs-importer":"^10.0.2","ipfs-utils":"^9.0.6","ipns":"^2.0.2","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.39.2","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.156.1-7c676f63.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"90802df6c68ef286b155c31dc4f625a9f29ec7a7","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.16.1-7c676f63.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-jCHSvQfteg2nuGrUdFb8REC0BE9KW3jjtkWTjZ3iMvA6+zd0ypOPUl/pYjDqbZMTdSzlPLLQB4SWIDDruOeR+A==","shasum":"e05bfed9256f8f2873ac54d25aa4004604ca606b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.16.1-7c676f63.0.tgz","fileCount":430,"unpackedSize":2179352,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEVS9CnIv4KamQ4iTvMXAD+Een9MewZnfqDLVKKVWKr1AiAZrU/1wqlLSRH9koVt5Fvup5uysq0FhSEL+nrI1y475A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK2MMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrSRg//a3u26rBOEhk2VLLL2mJMBGMUaphBA8VI/lhfLREynNqwm62M\r\nDVdwz0sydUJ+BwLdSXzwFQdrgBx6x0x7x8d509YJGM2uDGC6VR7dQ9kDpcxJ\r\no3KKMJNK7I84IBBrwNOSfKEYds3YmuGFLUj/AsDJMJzQLq+tlZzbu85Da7TB\r\nXus2TfhlfFONalaEJuPGevxzLhh7Eay+qc4KVoqsFJpO5BbA/MpjK/gn/ajO\r\nYdbycOYTFKlAJMaKXY0khRij9UKlBaneN6n6YdZpPVRVi6dWO2k/5iWHqbqh\r\nWCAjswFLfNKBrHu+E/cfuP757dhVI076CqGtZpPe63WryOn0oR2Vg9UD1ARP\r\nIPCwF7e5QCAIVUnalrSlxVIDTgSc8W4popHIUSOt6CbuwWj6ZDv5SMwPAD83\r\nc4yXbwuvWqXDh56ILP5rXMJ2g18dmrqYEVCghfg8pnEOfDZSbFBGIfCzAh+g\r\n99L8vHa05UQmWbzYQ6qOZ2baSZbC/T/PECrY5mYydXv2Sg9+SZXF1hRVGlRl\r\n5M7KvDhuQBq0ZhdOW62xl8F3l3AenoPPh5vnsaSrxL0BR2rSk17fCx1iAm2p\r\n6gD+g6PWteekqoK1YPD7Hx6jw8iJ+Uy+GKpSCYXTxtl4534pRz2Wgod8PBds\r\nCWqOg5Q/dvECX50wK9g9vlqN4xYQ1UPxRZk=\r\n=58qd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.16.1-7c676f63.0_1663787788178_0.5049110165694823"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.16.1-2a830bf5.0":{"name":"ipfs-core","version":"0.16.1-2a830bf5.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.2.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.5.1-2a830bf5.0","ipfs-core-types":"^0.12.1-2a830bf5.0","ipfs-core-utils":"^0.16.1-2a830bf5.0","ipfs-http-client":"^58.0.1-2a830bf5.0","ipfs-repo":"^15.0.3","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.6","ipfs-unixfs-importer":"^10.0.2","ipfs-utils":"^9.0.6","ipns":"^2.0.2","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.39.2","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.156.1-2a830bf5.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"ec3e046a48458e999e557f7adea92e304bd7b0e8","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.16.1-2a830bf5.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-s9YT3csPT8+99TmmpvuHPqtwAlA1dGMGeWjjFcY5Qw8CH3G0ofHP6hebBTTyCqcgEEZwoilnighKm07ImCTDLA==","shasum":"b3ab85fd6a51c38b9752d7413a317c44df5d36d8","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.16.1-2a830bf5.0.tgz","fileCount":430,"unpackedSize":2179352,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFco6S1+vuVR7zWvXzwFOyLviQcqkodB/NpiEIh7FVE3AiEAr64OaZ2oDZOHmS54CGC+V6jTWSAWLx0PKQsAxdEFEzo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK3nuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqZ5BAAjK+EX5Y0QyPYXMoba9pRoEocCfSYYnY6B7m0ptbzHdWdHaa0\r\nMaMm+GWwJfOYnzeVy0gTDsTjcJptuUFiWWpQG7KAA1Zep1W2PvFkw1d+us9t\r\nWJP+qHITmORAHZQjMX8cnWlQ8YeVNHiPKOjtDGON8MBakoHQWBZpQuoC61Ho\r\neX5SWX1fQq1FYzVJqjm8qXlGx/UhC52iLrhQIk7HrEf+umj8LnnFN/tXNDfm\r\n0eoyqfxJwn9oYxiJkO5R/k2c54ayMBy5iAdQp0dsp7BysvLPoH1hmYPMuITr\r\nDDRh5umjIK0J+s5DqAUGze/19H1rYoD/sYG0IJ4ddqZl31RtebnnMr6zF7Jd\r\nYOZfkkEb+XuDwuZzRUnQqE4MBKERnfEGCy1CCbWIuqj/LgFBQaEU5ElbOEN0\r\njleHJo9bweMhRWtteawM38Jblf0C+PWvCSZfaQkRUihl9HiTyoFoS9nvpbtB\r\nfIo/MrunfTM6/Va8JKFhD9cXSa4dWsRxl4E5Hqgkw0/thP4f4pKoaDgngGKr\r\nj9RnrAh/GN093SF+1sO5Ciz9SowsWmA2GRiSsNuA0tqgTJm3JO6j7bEtllSk\r\neDMLY+ImR/UTZ2wNJ3/RJriuFu0JYm9oXj2QrnY7HJsn1oBJsAAS/Hmzp6BS\r\nGdc8OBR5SJVN+yJkVlDn9dgxcyiIT17HgLI=\r\n=WYAP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.16.1-2a830bf5.0_1663793646443_0.5278685672084864"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.16.1-7304a0f4.0":{"name":"ipfs-core","version":"0.16.1-7304a0f4.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.2.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.5.1-7304a0f4.0","ipfs-core-types":"^0.12.1-7304a0f4.0","ipfs-core-utils":"^0.16.1-7304a0f4.0","ipfs-http-client":"^58.0.1-7304a0f4.0","ipfs-repo":"^15.0.3","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.6","ipfs-unixfs-importer":"^10.0.2","ipfs-utils":"^9.0.6","ipns":"^2.0.2","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.39.2","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.156.1-7304a0f4.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"95735ef611dd7b897d3d939e512b6229757532f3","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.16.1-7304a0f4.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-Hp3Q8W7csmgZnjqFDWHV0isXdYnMi9KzftlvIGMmqLHO7u4U+L5u8J5kGT7CNpaVTsJfKTp5aLXHA//siVlKfA==","shasum":"d82bc4a626a82cef575e430ac3741e8080f18051","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.16.1-7304a0f4.0.tgz","fileCount":430,"unpackedSize":2179352,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYW/DiMYYY6V7LQPEhF55Ww2buXVJjB0owcQvigQ/c0AIgPOmyCcjoJ+SYxSRDeKDwwXOdc0WS+fxfz8jYhl0wC38="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK3oYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpE8A/9HW5sT5l7NTNg7b1cyiR2Q8Hp/w22UJVseBx5enMP78qK0UyO\r\nR8v9XwMb0NLzBLracP67Ga1QXOmYgxkGWdGZWk11LAM+nOkE4jJ12xNKlC2F\r\nwCnsIFvyJrFT4W+sEqBr3FsXRk+wBBZY7GFdNE8wDErAPkOFZe9FxfMJzEhs\r\npHlbBXEXCrdAj74QAdeEpddasPeFssPkDr+x7tpOXzstpd8L3b5Pm5bDRv8T\r\n8bZ/wTNySZkogyJF5AiHH0V7xkU664batlizHaWAwyAXrpUoRWUCTvAaUG7b\r\nduQNfSbcWtCt8Sr7U4Ezu5QNPU2hOdb/QYCwSGkfI3orKsTsJOINg9QnbjvE\r\n7KXDxZnK/dwxJKYtDz6FCC73+R0s4EPTaZa1tkPCTDssPCg1CnXvmrS2uC7z\r\nEh/Wt0Hip2dQRgBnf8+1bH1xlm65k1itaAmEaPaf516dI1yU9plvNKagLqCg\r\n7O4bJeAfwYYWyDDnPtypCk9zUreyCSB94JZp6N8wG5ZSupidjgDeK8b7aksV\r\ndOMiVDS/K/VRHovfpTKH4Zpa8rdvIoE7gqGL7VOEHY8+n3LLETKdZKVjIRhH\r\nJpt/yvYCaIUaPdhK1I+v5BGReTBAOrtB105RRe9p1ViA/KYGhK5to86JPTup\r\nFQtWDBJiqLe/YfK5+Rm8gcxa92eK4/2lUjY=\r\n=It5R\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.16.1-7304a0f4.0_1663793688389_0.8480935564843173"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.16.1":{"name":"ipfs-core","version":"0.16.1","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.2.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.5.1","ipfs-core-types":"^0.12.1","ipfs-core-utils":"^0.16.1","ipfs-http-client":"^58.0.1","ipfs-repo":"^15.0.3","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.6","ipfs-unixfs-importer":"^10.0.2","ipfs-utils":"^9.0.6","ipns":"^2.0.2","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.39.2","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.156.1","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"d1f1e75b2060c5c2e64d133a7a6bbabd2641e5ef","_id":"ipfs-core@0.16.1","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-z8L+1BhptxGs2cKA80BOm7kpcvc1Ql9goWHAEBLTx8kyIRgbg3/SRpFNquSBvX0kaUfcLiyRzaapU4j8EE80Ww==","shasum":"3de10c3ef771f588d5ea8108a9988ffe6a48f641","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.16.1.tgz","fileCount":430,"unpackedSize":2179264,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB+x/IbOOf794Auun2dXal2rYGmfqniZx1MZ97xeUbxvAiAICsM2lDg0aO/2RGDX577hco0Yqr8seFp07kkweDzISg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK4g1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUQBAAhSXBJEQbedUP7LVTSM5zPvltc14nMp45AnAf/rNFx+Dn9TOH\r\nxPC9KJQdbcg15/f6Sw4J1oR/sXBx+Mow8pAQQiNHx7sh776Ajvew4wzh6+c5\r\nErK/41m/cngX31UIUDyTxPVMkS9umhEzyaXPR23tJv1lcIGwooyuohEeI3HC\r\nHj+IQNYXlWZnZsu2pmIBp5q59zdVy6XAfldiPMiHTb6sb+APLCnbnc6T7OH4\r\njxlgsaTAGMtnHTI+4RxnLLpBvIifsx5AlycYnLsVc5lYEa3l8cnf7dGn4BMJ\r\n/L+7KeFqoJuWSvYdYSKLF8dbVW8nTo1TjRDiv+f0PsgBeSWxQNCdfYjI3o+L\r\nWKn036aqR/rHhKXV/W4Q2/+FQHFbizPtp0rMnNdUtaTGTNfEBuIWkIQwJGGW\r\n/BCpcQHftl6CcR6bvZlhcxT1fOlqwheP3ZnQ8tja19Oxct02NEsxN/dG6B1U\r\nnYvXDyS7kVfhSa2iNg2DcbL/jwmxBWWMjjBplKNWpboVk1k6SzcWFp3+QvsK\r\nuxGpevjASJJpce3Yr8r+lAFxWn8JbTfs7kAsSWA/Oknnv2xq1L6RPsxYdY/e\r\nb3jhSC+UikC+jhsw7FmN3iiIqwCp582flHvJumQubXFXc63nNEJ2wRinLhuU\r\n7vFQwioGq3j08SACmKOhGQNXygAEkVSrJCQ=\r\n=faEq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.16.1_1663797300985_0.32582638378036166"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.16.2-d75e0a39.0":{"name":"ipfs-core","version":"0.16.2-d75e0a39.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.2.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.5.2-d75e0a39.0","ipfs-core-types":"^0.12.2-d75e0a39.0","ipfs-core-utils":"^0.16.2-d75e0a39.0","ipfs-http-client":"^58.0.2-d75e0a39.0","ipfs-repo":"^15.0.3","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.6","ipfs-unixfs-importer":"^10.0.2","ipfs-utils":"^9.0.6","ipns":"^2.0.2","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.39.2","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.156.2-d75e0a39.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"4233393ebc1f8526290235c1b52f4d459ff96e1b","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.16.2-d75e0a39.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-cgS07AJWmRiVkWaa+rXRoC4RZu1fEACND3y+pSCLPgbGhp10rUskAGIiOtL6JAQCeArJTCeSUV1Bp7sDzD7CEw==","shasum":"566853c852f6f2055e66ae77a2cb01a046b9486b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.16.2-d75e0a39.0.tgz","fileCount":430,"unpackedSize":2179352,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLrLr9Eyy3+Bk+DM6pH+mi6g5fu861EvuWtXYFj8QDJQIgcwjYS2OJqGT4HRFd40fb+66VRnJPNwXMUuzG9oN94+g="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLCI+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHYg//Y8qb2BZYXN0TcTZEgGUfeUC+lAd+KP99T5zEw+Y2pjqz24Ua\r\nKiACv7CoNgPcWsjlJ2NMO6ulWBAQO41gCHdbTwZQzyHyLRJGxOJTKYt3vB5/\r\nYYGPxZCbhyyPVBzzim/TWS55cmPbQJDIR4sFQkjaKYyhWbpqr/wDEseVBvpK\r\nPNkSovRdtKhRq5OK48cJ7AR5BMAAduiRT/tdupEDGybg+fP+ftEiZR8n5G+S\r\nDsU6+7zh73nDB73bAuuQzuXJfOZbRiQPP3BHxacLsw88iClihQRspAPCj81m\r\n7srLlJS2c+xf+jSM7yCPiq0btg3h6TKgdno5Acecfcdie8WUFvB4uvAv+tf2\r\neCMIbBz+PpN2SJ+ETSX8C0FxANZiQvUCNpIUeR8W+wLRH+erverOrgirZeld\r\nnPwdPdbKoa0mRShHYm+pFwQC7LExPlDy5ySVTNVyx9akqb653uj2IcHFvk5S\r\nW0cmrM0SRwhrHwx+4Qr+TEdqeVMIIQmmSI2k40b05KrSE5OglFto36TrbRYf\r\nrvmZBbUvfUCsxQIQst9Ygt1po7++eqVUn0aYcrrrWRFqWcLUAXsSD7Y9RSe3\r\n8VIJHQU3MneuUHfMht3UgEr6waeEoXOWMpNG0kABlczMHTUiazRB1pI1qYVE\r\nPW4wY3MA2v/Y2/zxMb4bFeFmKbbsUyKqT/k=\r\n=Pkx1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.16.2-d75e0a39.0_1663836733772_0.0014130545258790317"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.16.2-d1b0a8a7.0":{"name":"ipfs-core","version":"0.16.2-d1b0a8a7.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.2.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.5.2-d1b0a8a7.0","ipfs-core-types":"^0.12.2-d1b0a8a7.0","ipfs-core-utils":"^0.16.2-d1b0a8a7.0","ipfs-http-client":"^58.0.2-d1b0a8a7.0","ipfs-repo":"^15.0.3","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.6","ipfs-unixfs-importer":"^10.0.2","ipfs-utils":"^9.0.6","ipns":"^3.0.0","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.39.2","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.156.2-d1b0a8a7.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"de2a2b2cb3fb26e858af2319c63296a1ca411c25","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.16.2-d1b0a8a7.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-tmrxCw32MKGml2JMteslkOVqpnyCT597BBPGBmyThiuA8QjXTYgkLbZxv/a7dsVjf/YmQBsOQNJW9M4sVgTw0Q==","shasum":"5a94ccd6c7f414f0688f092c85bcd6fc5939f76b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.16.2-d1b0a8a7.0.tgz","fileCount":430,"unpackedSize":2179376,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCslCl5juBrqNu1UFOHarPXTxyX89k/SaEwn8ocIc2LIAIhAP2Ag/by6HnG5Wce/P3zz25nZBOJLy2hPwaSsxyMPGdj"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLDvuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEeBAAoFB9i91rx+RXyU3WBr2tAa6JLWCAwu28x3Hw98iPbAuCsVhs\r\nmOZr4DgAp7CuejcvXr7HI2SPkbkbJpo2VXoMz8Z/WV9I2bMS83ftMujTOvfK\r\nEN+ZQgLBAd620JnxEbyGnXJKxApM98DAa2RX9+r4BbdcfjiFNzqe8ymwH5K0\r\ny66+SoCQzeP5AsdhRpSn1bvvlJ5Y+wfmA5XNqg0koImUOcHSkDk1gJ/RgCPz\r\nfa1iTFSu6T3FPkf24EgUXTR/f18I6qko3qOchrRwuo239mEbwxFivU9DhfOM\r\nPzmm7XlCzHktYIFEVmPyfj3L/FzArYusLMED936lC+/TtV6iD1/HToVqME3R\r\nqLamGKzuhk4CehyqyPMnJL0e/DKJn+z4qUVq4RhYRWHY98EtgHb/C//wLAv6\r\nCcbPyhA103+X9aPRK9kCfqCivPWGjMtkBTJZySNyYGsx+UJHU7OCsRc09xzS\r\nr/U49F8PQoUpmvfIJ6b+QzvbuzPTsDStNwMcU73d8WI3hYwNQof9MeCrpDG4\r\niE3H2KKLmx4kVVtEobSltjyF4aU8pxC8SubZB5WYYTLeWXNQmxK7ON/O7I7E\r\nGux//GyadCkhhIRR+3ztG2pDvA8ZIx9bTYQmQ1KrJp522NkrXLIm/oAGECww\r\npKFg+7x0jeG00Gh4KBMEHEp83hfGEH/+xw0=\r\n=dNc7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.16.2-d1b0a8a7.0_1663843310511_0.5185906285590791"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.16.2-acbc1c62.0":{"name":"ipfs-core","version":"0.16.2-acbc1c62.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.2.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.5.2-acbc1c62.0","ipfs-core-types":"^0.12.2-acbc1c62.0","ipfs-core-utils":"^0.16.2-acbc1c62.0","ipfs-http-client":"^58.0.2-acbc1c62.0","ipfs-repo":"^15.0.3","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.6","ipfs-unixfs-importer":"^10.0.2","ipfs-utils":"^9.0.6","ipns":"^3.0.0","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.39.2","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.156.2-acbc1c62.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"60666473159284a7bf9067d10436033caafeef5c","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.16.2-acbc1c62.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-RyvyEo+J/ja4krGqROtWNPZLy2P2R11GGCYAbm2rF+nGJT9G7Kmu/oT3AxIXv2lv5u/ZUmlGIxmJgi1tyzMRmA==","shasum":"c7c08546f49fd08362bdc7fdde0b2dd09c163db0","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.16.2-acbc1c62.0.tgz","fileCount":430,"unpackedSize":2179376,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC346ZFQO4Q8C7iEZIo0mbuVwsOUfpWHsWhr6hLUY9GpwIgQJOgsY00jqKJIZKMIwRn4wuZk69sqMnP7onGhTlXK7k="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLFxLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuARAAmCwg5AoYjJwUUfnbOns5GdSMRLDbfR7ZhRHWQdAdut7obvjc\r\nrK9NauXvwXg2EAljbEnrJJC0dZfVjty677KsVpO9O3XPG4WCK4i3uPvH0oj3\r\nP73rcZ7TQ+nhCjnAPnfUsKCAei55Zoyc6ol5P/frG35G++ELGhl6uK1iK43y\r\nFBwcBnUm80gIDd0517xMCOMjUyuOWdXxnAynU3jQ9omZpPHYlj4hMyp8I766\r\nwU4ZuSFyMuv1UhO7MbZEwxkJ9BlXUTLnn/iueNuoHdZBKDlVjz7WEod2yYQw\r\ns4XIMv1BoGMy+ubZ/l37RMNECnU9420w83/xPtkP33RYoPQw3vfyGNeluV8p\r\nrBWx2c9ZiTAzPwQtn/8PYMGq8WKckQt4k+bLe7WcjeDMBI7DIi/Q430LMxqE\r\nJR/SrDzEmi4b3vgz6WFKeaZmXbZM2wkvIDPAPo6N62F7Y7EH9aF3JoTL6pGS\r\nCjD51DdAj5FndqdcKWvsJ3PogdoYoCqr0HIGyA+AvvM7zJTSn8GL/G+hOedH\r\nXk9LFPc1z0MT7fVzbd9vTUhKCNts0zkalF6cSYR/XwhaaEoAWeAvIskGWIfi\r\nMwsBKxDD84+/2iejcxYJxGWaWdvHLn07Ccii9xYiNaERPrDXsZVA1tH3ful4\r\nQBPA8rdWYn3TuqZ4gUEfw5G6Dx2KB5YyAdA=\r\n=JhWB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.16.2-acbc1c62.0_1663851595535_0.7190685259587692"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.16.2-dfc43d4e.0":{"name":"ipfs-core","version":"0.16.2-dfc43d4e.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^8.0.0","@ipld/car":"^4.1.0","@ipld/dag-cbor":"^7.0.0","@ipld/dag-json":"^8.0.1","@ipld/dag-pb":"^2.1.3","@libp2p/bootstrap":"^2.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^2.0.1","@libp2p/delegated-peer-routing":"^2.0.1","@libp2p/interface-dht":"^1.0.1","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.4","@libp2p/interface-transport":"^1.0.2","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^3.0.0","@libp2p/logger":"^2.0.0","@libp2p/mplex":"^5.2.0","@libp2p/peer-id":"^1.1.10","@libp2p/peer-id-factory":"^1.0.10","@libp2p/record":"^2.0.0","@libp2p/websockets":"^3.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^1.1.1","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^2.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^4.0.2","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^12.0.3","ipfs-core-config":"^0.5.2-dfc43d4e.0","ipfs-core-types":"^0.12.2-dfc43d4e.0","ipfs-core-utils":"^0.16.2-dfc43d4e.0","ipfs-http-client":"^58.0.2-dfc43d4e.0","ipfs-repo":"^15.0.3","ipfs-unixfs":"^7.0.0","ipfs-unixfs-exporter":"^8.0.6","ipfs-unixfs-importer":"^10.0.2","ipfs-utils":"^9.0.6","ipns":"^3.0.0","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^1.0.3","it-filter":"^1.0.2","it-first":"^1.0.6","it-last":"^1.0.4","it-map":"^1.0.6","it-merge":"^1.0.3","it-parallel":"^2.0.1","it-peekable":"^1.0.2","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^2.0.0","just-safe-set":"^4.0.2","libp2p":"^0.39.2","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^9.5.1","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^3.0.0"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^3.0.0","delay":"^5.0.0","go-ipfs":"^0.12.1","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.156.2-dfc43d4e.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^1.0.4","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"4eac92ae987d3ba6007c4742456913c865a06857","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.16.2-dfc43d4e.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-k6YBoUGstMYDn31usLC6lLmQmwh+7wcm643GLUWiy9CehetEhDw72Knt03sNCGfb4BpItASY5uatmQUkQOh5Kw==","shasum":"9e1bc349b56bd9e7b747271b77eedac123364838","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.16.2-dfc43d4e.0.tgz","fileCount":430,"unpackedSize":2178875,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFiILgFi28ND9RWlhmALZzKUkmVJAEHeoufT0oTYWJdzAiEAiM03+7Y7LKT+42Bc6aQya7YxQzVca93cjobPUFxheC4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMbUoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo44Q/+MFjTr0u02O0o74M7ZhbIqZ86IehP3siv5YJ8hXGsKpweNaED\r\n0yKr4Z8gk4mrNz0uQoroSVKDZKoz0dKAMmpw+OV7iukNEQnhbTunaKxIQN18\r\n4fBv/feduBlu87CNrNpNxQeMjlyOPaGOGXAQmdwJ4grTrkZPjKF17yO9A6n1\r\ncNUmzjNZzwgq9qEg7QrZP9cTZbeQ6TInmgLKnWOQERmEArkqzpFx+nQYour0\r\nspQ3eJ9DElSiZ6H2L9vZIQA7v24XFbw9vNqbU1NaZk8H7ibqvTQ7L8+rmtfx\r\n7+9LW6S1FyN+czt2GsSIvUHTxDrztzEZfqaGGcIBFHvwl+RZMvJ1fs4c9jRV\r\ncF9ht9ynasqm1O7utUnwTM9W09o9SjygxjHDk3kUXKkCBq7sS9acPBKvPrnh\r\nQiGSNrQjPJ1NE4euMnrks1k5e5Yz2mvzzYsQZfvJ0Ej3RrvOcV+oKmHNUqCN\r\nYI64uk+0/1voXS3yQ2dfTx0RT6Xk+qEFTB4Xehfet6eGK9bHIiWmNwWkzUH7\r\nWDjpjOBnZqerK87+F+zdgzSM2fl0iijaVepN5u81Vdcv9ZqXpvaRMkoGjMmm\r\nBdKnkmHuDm7ycMKOK7AOMAEmZNRhM2vhO+dnvgjDVZBGSwuj91WbVUuepbBY\r\nrhqjDpq6FrGERFB5IX7/gsNgbasCveZGKnc=\r\n=SfQ1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.16.2-dfc43d4e.0_1664202024233_0.2863817705493745"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.16.2-0cee4a4c.0":{"name":"ipfs-core","version":"0.16.2-0cee4a4c.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^10.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^8.0.0","@ipld/dag-json":"^9.0.0","@ipld/dag-pb":"^3.0.0","@libp2p/bootstrap":"^5.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^3.0.0","@libp2p/delegated-peer-routing":"^3.0.0","@libp2p/interface-dht":"^1.0.2","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.5","@libp2p/interface-transport":"^2.0.0","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^5.0.1","@libp2p/logger":"^2.0.2","@libp2p/mplex":"^7.0.0","@libp2p/peer-id":"^1.1.16","@libp2p/peer-id-factory":"^1.0.19","@libp2p/record":"^2.0.3","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^3.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^6.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^13.0.0","ipfs-core-config":"^0.5.2-0cee4a4c.0","ipfs-core-types":"^0.12.2-0cee4a4c.0","ipfs-core-utils":"^0.16.2-0cee4a4c.0","ipfs-http-client":"^58.0.2-0cee4a4c.0","ipfs-repo":"^16.0.0","ipfs-unixfs":"^8.0.0","ipfs-unixfs-exporter":"^9.0.0","ipfs-unixfs-importer":"^11.0.0","ipfs-utils":"^9.0.6","ipns":"^4.0.0","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.40.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^10.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^4.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.156.2-0cee4a4c.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"b44ea59fdb45d3e8532d6a2d5f670e2df46d36ef","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.16.2-0cee4a4c.0","_nodeVersion":"16.17.1","_npmVersion":"lerna/6.0.1/node@v16.17.1+x64 (linux)","dist":{"integrity":"sha512-Ys8/KkpkXLN+sLXr+3YUtFZ0F1hEzPi9dynrbBDs6OprxmBrqMPw+h1wSrJr6cdxBj7VvlH6wLYenQb0C4ahhg==","shasum":"71e9f70adc5e9aeb2217003a2891eac445ca56cc","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.16.2-0cee4a4c.0.tgz","fileCount":430,"unpackedSize":2165241,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBjli15YWWEgb0lxDbKS40bghsiYenkUPf30bP/ydygzAiA7sgjlNdlXD/680hwP9yz1LhYKrpJWp7OTVFkEdbBprQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVlc5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqiiBAAmG4xsuh5jqkNk8SKiCW+52SQfZv7ms4l2LIeaek+WOzeWz0L\r\n58ppY/sfBiX/WOYuJXQ4FyIU93mj/XtBPW2kTsxjXeTD6wrQEBMzmyQDXFug\r\nHqrnyu7z9y76o6ynt0Jez5adrZf8Oyo+2OhNRvqYrUi3t0oyFg8krrKjA2+I\r\nS+6TT+bwo30Z2QzdQI22pYqdyNzFUWUn1sgDpE21HYzTFjMHFAMbe+gv9MnU\r\n7OHfF33E5WXBTqU1BumgpliFY0oxXyMjcwOj9vvO9o6uKKahwBEXfQgTXc21\r\n7VqD6lMmkXWmVL05oQpsIOIwX1rHhQ0G97SaqYRqEiJQ+CzZ7Ds3LbEQPRUQ\r\n1BprmfC1mC5JTRarSPdNXmYqGRUfNCk5EueM6dwz1Zu7pkcsK4jsMK30+zYS\r\nmnKEsz2dkOlPiDbh0YVIPc6VZ4/MC1EiUnIgyaW4e9TL77cSuCG+I54yVDYj\r\nYbSwz05ogh6R+basULf81Yq1z4vQQ8SRVE9rOWIYe03UW2jO6mLuXwfiz8OV\r\niCQPsNDD3Lhh0zQU9Qci49LNUm/G3tzJTUURX+LmJ7QZFcDfDbasI0CUHOCl\r\nJIIUfVhIXdQcXE9x1IG7YqngfstjDr6sYenE20y9q2nOgXTC9Anit6cEbBzT\r\ncB3cDG08Ms5hGdFTU4pg59nr3M8gnSg9g3g=\r\n=MJ0e\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.16.2-0cee4a4c.0_1666602809631_0.19897638049447486"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.17.0":{"name":"ipfs-core","version":"0.17.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^10.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^8.0.0","@ipld/dag-json":"^9.0.0","@ipld/dag-pb":"^3.0.0","@libp2p/bootstrap":"^5.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^3.0.0","@libp2p/delegated-peer-routing":"^3.0.0","@libp2p/interface-dht":"^1.0.2","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.5","@libp2p/interface-transport":"^2.0.0","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^5.0.1","@libp2p/logger":"^2.0.2","@libp2p/mplex":"^7.0.0","@libp2p/peer-id":"^1.1.16","@libp2p/peer-id-factory":"^1.0.19","@libp2p/record":"^2.0.3","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^3.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^6.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^13.0.0","ipfs-core-config":"^0.6.0","ipfs-core-types":"^0.13.0","ipfs-core-utils":"^0.17.0","ipfs-http-client":"^59.0.0","ipfs-repo":"^16.0.0","ipfs-unixfs":"^8.0.0","ipfs-unixfs-exporter":"^9.0.0","ipfs-unixfs-importer":"^11.0.0","ipfs-utils":"^9.0.6","ipns":"^4.0.0","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.40.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^10.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^4.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.157.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"e8b7b66bfa98c2a1c0d0bfc19f698d7d00b6c888","_id":"ipfs-core@0.17.0","_nodeVersion":"16.17.1","_npmVersion":"lerna/6.0.1/node@v16.17.1+x64 (linux)","dist":{"integrity":"sha512-mngpgSIO14n3U2iZzjxUn/AQ8LVVxrN/VRRXbJArxtSJuz1anx2kgtemRaUZt4q5juWHjk8tLtVdNDlS0bXGkg==","shasum":"9cae68236f22ddf86173f678e7dbeea2635cbfa4","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.17.0.tgz","fileCount":430,"unpackedSize":2165153,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDsaLLazhflcHVXYLJVkIPlR4D2dsipqe/L3yUP+S7DuAiBvRQUx3PPrNN4jVku3UzjvSqTOMm4/9BQhmtxirq71uw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVm1DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnGRAAhxMe8OfLBema9vJ0EHltHDicydBBAEZYoOCQwaxopwJ/gTmj\r\neArhgYg8vbs1Ta+Y6SlWC1lZnPtI5QsM+81TrY8rVZvKQ6WsdvaZ8jsp2q1f\r\nnY8uJwl7ghB2YXq9yyiTry4CLNg9+DGTsjqRKGBsWaGBK6dKPV92N6vnArdM\r\nSCptd14XARkkYEqDtzy2OpIsVUGlZXVtyNI0mKzq+XNfHiOdaexi6FTvlIdd\r\nYgQKCwpRjAuKRvKaVR07uDERBRH/+g+WRLrHyvJAvHHoFgoUo4Nqy/LQSLdH\r\njvCLmom6PHzBYGkPRzGnHY+kAn3LmMxZXyPxKSd/oSv2jPef+TtzmSzVatSm\r\nvZi5vKDsTlPFbnQOmcZpGXKn0YljAYNTl3hlviOEpT8f6iWBPC1nkciFY9p2\r\nASwKlPxIFAdW6P8+HpAy0r4K3FPOEm7akKVNDROKYBE6e6yWXKzo92rerD2v\r\nlZQ7KJ7oSLCqGqqVuyArxYk2bOmIEzOfDNCEwgZYRZjevY/Q7SBV1ah4hbZQ\r\njJbr2Sj9Xpu4R96WSax//c5ioz+UXaAdsG8fue8Dp1KzkeYXf5ip8NUJ9FzN\r\nCaoCtmQzExR9vLxUKYhTI0NyP2y971OUyehjnqEVLZ/nfxkyF5E3RKZ0jXoh\r\nQxhSe8d1beB8vMQndlD8Ve/eRntrrrvymu0=\r\n=c65S\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.17.0_1666608451232_0.11154531559860259"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.17.1-a77e40cc.0":{"name":"ipfs-core","version":"0.17.1-a77e40cc.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^10.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^8.0.0","@ipld/dag-json":"^9.0.0","@ipld/dag-pb":"^3.0.0","@libp2p/bootstrap":"^5.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^3.0.0","@libp2p/delegated-peer-routing":"^3.0.0","@libp2p/interface-dht":"^1.0.2","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.5","@libp2p/interface-transport":"^2.0.0","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^5.0.1","@libp2p/logger":"^2.0.2","@libp2p/mplex":"^7.0.0","@libp2p/peer-id":"^1.1.16","@libp2p/peer-id-factory":"^1.0.19","@libp2p/record":"^2.0.3","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^3.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^6.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^13.0.0","ipfs-core-config":"^0.6.1-a77e40cc.0","ipfs-core-types":"^0.13.1-a77e40cc.0","ipfs-core-utils":"^0.17.1-a77e40cc.0","ipfs-http-client":"^59.0.1-a77e40cc.0","ipfs-repo":"^16.0.0","ipfs-unixfs":"^8.0.0","ipfs-unixfs-exporter":"^9.0.0","ipfs-unixfs-importer":"^11.0.0","ipfs-utils":"^9.0.6","ipns":"^4.0.0","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.40.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^10.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^4.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.157.1-a77e40cc.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"a614528c55b8b22866bbdd2ffcde2e38eb5f578f","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.17.1-a77e40cc.0","_nodeVersion":"16.17.1","_npmVersion":"lerna/6.0.1/node@v16.17.1+x64 (linux)","dist":{"integrity":"sha512-kAZvYUudFfPvmr/HI4LlUuryjc2rNij3Umizul+/+PTBMGsWRyA1r6/HIwRHFzgpmogQlbJF8O/3Kkb9pAGLHQ==","shasum":"29b4745e910a055ce91dbc867193f75c2ac81bc4","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.17.1-a77e40cc.0.tgz","fileCount":430,"unpackedSize":2165241,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEaKftBESJwO9qV5OnCA6F+D8BoS5WRwme7WWdFstxryAiAtUwoPVwMBa401NUJcV9NLjh2a7UWktH3IvPmPNkA/Rw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV4wiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpg5Q/+JzN0saCxFPUIv5re1RREMyT9LhyWUFzelbFuHCJJRDll9j6c\r\nSyOlw9wSGWWQTWmpyQQJ9A2Xj6lPGDbt7MZP9ZgvMpMJA6Mrsn6FoWuUv9+z\r\n9HtxGKzQ6ig+WorEO79pbs2pgmBTIQr/9g5GB3QZjz7B4hRlVR/KoiDu3t+C\r\nukVN+2/Vb3FG9t1Da9PuQDLEbGfW9KL3xCXIjsKBs/F+3Md1BVIgoXkz/zNX\r\nZbPXBpk1biivk5y4vW6EyuDjmhhiEYksF3zl9IxGP025bjRCVC0juAfGM3Ac\r\n0KadDzBGln6ZTYCRILA4KQ2fZZhiKy9F42UNzZvobpTvdrfXV1CHzixU90nW\r\nWkVIxg4EA/sGAlKcWMnejziOLW7UaOg/hEkEFMnRds6crcCTU/NK3siYDW7G\r\nIhqrzqXrB82fU6DrodzTTqfSbWCxB7FOYfS0K3ln72QgY7V88wUoENlzKJvw\r\nZc6yZYOVlo6jOVaZ/8uvAK08Ah+23xyWbBa8IWn5RyIxWO+jijxhyYzfZsnl\r\n1FpzeTJCpcdPNuvttLqApbUlFqNKWijQ7sDXphsWr2PcwaR6EmKoNZEsjphg\r\nbIJTaBO/QEV4PA4UkkF/rE9dHcc1WUXEnXnL/9ok9c5TBQFcHmOt44Yabxp8\r\nB19WiAzWXz9sJt1G4sLTlOQploRhDNsjudQ=\r\n=bw3C\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.17.1-a77e40cc.0_1666681890052_0.7504403363617396"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.17.1-58e6f468.0":{"name":"ipfs-core","version":"0.17.1-58e6f468.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^10.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^8.0.0","@ipld/dag-json":"^9.0.0","@ipld/dag-pb":"^3.0.0","@libp2p/bootstrap":"^5.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^3.0.0","@libp2p/delegated-peer-routing":"^3.0.0","@libp2p/interface-dht":"^1.0.2","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.5","@libp2p/interface-transport":"^2.0.0","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^5.0.1","@libp2p/logger":"^2.0.2","@libp2p/mplex":"^7.0.0","@libp2p/peer-id":"^1.1.16","@libp2p/peer-id-factory":"^1.0.19","@libp2p/record":"^2.0.3","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^3.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^6.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^13.0.0","ipfs-core-config":"^0.6.1-58e6f468.0","ipfs-core-types":"^0.13.1-58e6f468.0","ipfs-core-utils":"^0.17.1-58e6f468.0","ipfs-http-client":"^59.0.1-58e6f468.0","ipfs-repo":"^16.0.0","ipfs-unixfs":"^8.0.0","ipfs-unixfs-exporter":"^9.0.0","ipfs-unixfs-importer":"^11.0.0","ipfs-utils":"^9.0.6","ipns":"^4.0.0","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.40.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^10.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^4.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.157.1-58e6f468.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"2a13d94cabf2e6ca2f631dc9686f03de6aa42447","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.17.1-58e6f468.0","_nodeVersion":"16.17.1","_npmVersion":"lerna/6.0.1/node@v16.17.1+x64 (linux)","dist":{"integrity":"sha512-DmxyOb4K9fUNLnaXM71KiNfsKRuvfDWbxUclQlWsb95rY2nYxNxogDVV6Iln8XTAWTkdXJ9yrW4toqkQVY43og==","shasum":"6004365d35115168306f1b7012c7fac0f60cfc7d","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.17.1-58e6f468.0.tgz","fileCount":430,"unpackedSize":2165241,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLUbljbnYl0GFFEQWpZDAGquCrYrzWF8zfUhXs85m3WQIgTLpaDeV3MUHMS7u6UpgCNy1gukGcvKdzJ2PjTttLhbY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV5swACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotbA/9F7OtJgH8/W0EjY6ir9OAWbWQkxooibnkIODfqAOEeEyCHn18\r\n5nA63Vi/j6GIVdrNDZRrRtYorlFwjtHYoemtrt97mFDG1fm4sEcnosqYFXRp\r\nemUTzPMGFM81Ou4jcifMp8w8LhuvUZuKyfP+e3fNoY6vtizHYqHxIa8YjZCv\r\nrQiHGEEIXp+07WZE1yBXrc1B6D440/Fo5MA/qdvMaa9Ur3QZC05LBfrMevtj\r\nBC3wzsX25+GUPf9QvfbWwyhTzNibPPDO6iyJFM/IaWYBjO54w05on4sErDv6\r\nVLTAHpFqt5FnN9SAO8EQ9XOe/DD7zEmokvR//bPWroW3WDlC8Oi+T6SK/np7\r\nwlhXXIQprwvzF6WBJqdlQ9yu7Y4m8gvnuQ7oqbt9p8WYVaYrH3hjkgq3LKwL\r\nEjsvOmwb/aD7zjT2qHoV+ZwtFIbJndFUHvriPlCKnE9YnoO3AJVr4JUeXBg/\r\nl/PjZ8xJ4TiN7W4fT+UevPRuHbW7WGFu2MhVkCEhUQDfyFokr3wMVCdTWhNb\r\ngoqcLY4n/XuewmBBuenJulxmerkrHCVG+tyG+hgrsfY+43JXoUhFdRkC+54i\r\n370+3tlaVwb9Lp+u//vp4a1vBL2C1uEFhTVHnfELLmqr/EJALIrAEvmQ3Cet\r\n+hlxffotPLKckgAKspQzHo32jfZEabf9h4c=\r\n=N1R6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.17.1-58e6f468.0_1666685744545_0.0012251550057091887"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.17.1-6ae5eb7d.0":{"name":"ipfs-core","version":"0.17.1-6ae5eb7d.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^10.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^8.0.0","@ipld/dag-json":"^9.0.0","@ipld/dag-pb":"^3.0.0","@libp2p/bootstrap":"^5.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^3.0.0","@libp2p/delegated-peer-routing":"^3.0.0","@libp2p/interface-dht":"^1.0.2","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.5","@libp2p/interface-transport":"^2.0.0","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^5.0.1","@libp2p/logger":"^2.0.2","@libp2p/mplex":"^7.0.0","@libp2p/peer-id":"^1.1.16","@libp2p/peer-id-factory":"^1.0.19","@libp2p/record":"^2.0.3","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","dag-jose":"^3.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^6.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^13.0.0","ipfs-core-config":"^0.6.1-6ae5eb7d.0","ipfs-core-types":"^0.13.1-6ae5eb7d.0","ipfs-core-utils":"^0.17.1-6ae5eb7d.0","ipfs-http-client":"^59.0.1-6ae5eb7d.0","ipfs-repo":"^16.0.0","ipfs-unixfs":"^8.0.0","ipfs-unixfs-exporter":"^9.0.0","ipfs-unixfs-importer":"^11.0.0","ipfs-utils":"^9.0.6","ipns":"^4.0.0","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.40.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^10.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^4.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.157.1-6ae5eb7d.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"848f64d53ffe001cdf63310c06e8f0ffe485278f","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.17.1-6ae5eb7d.0","_nodeVersion":"18.12.0","_npmVersion":"lerna/6.0.1/node@v18.12.0+x64 (linux)","dist":{"integrity":"sha512-H9HbcxP2luhoF1bW1I1ixvlqQH2mgWzkej7sqb0r4TDjXWwUG/r60RJmuVYa/RhYS/9p4/xXp6FxJ10neOr2Tw==","shasum":"22d05ec269b452dfde02e8aa7389fc21d4024dcf","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.17.1-6ae5eb7d.0.tgz","fileCount":430,"unpackedSize":2165644,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWNU+RZ/nDbCFnoP9oBeCFPO/0VcUIfgjK6LogYCwVcAiEA2cwJ3wPKz+GSkK/qe3QnOb6p9pIx0LUw+xkqMObU6Hc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjW4TwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqrsQ//RB6h0NThMFd/7bQQf/F1kuykmdFcpTIOMrgfftlQ2VmEbSTD\r\nTQ9QMb0bc93WntuJL6HsPKUbOpA5ygfTk7xV+7VCtpFxsUkTw0bgy+LWUZdW\r\nDZ4d8irKnwn0FRJS/FFIuiHHEiNDdpmsA8/tKXCcgM/M7Z16Bzf9pNvpAKjN\r\nhjGZwuhOrxfiUHycdDJiaCbh5mfKu/FDC/sdo2l194tVgK5/Jmy2l4YYT2wS\r\nxoFhRoiNW5LoJD+QfjOWjOthffmuc7xdd1BEyOVvopzgIB8t3+/0u2648iqX\r\nxyZfGAzaPaJAUdBH4qHneQAdAoHcBj3mOgBDcImCe395aUh6Wbtrf+IZuBIE\r\n4/T1um+rHciyAo3pLTUgLkh8IEMVu9RU9r+yBDM2g4zlUzpxQjX9/3qc/z2H\r\nr0a79IKvH1AH2YJ/hAsnlm3hTm9uVAXcp7ogCtAfoLTBCqlYvhiglUw7Hv/y\r\nbcwRuZjW8KUaKI6KqwIM3DkPSDNdJF7kEFr31x+nk9//Lnpv+KLKT4RowgPy\r\nEVGQsSsU0QvAmNGqxXlOcmgDFKGucMi8jF6X+UI1kgRPW2l1kRdhAKEEHIyD\r\nn3BLSy/1RjCW+kC84WXTZpJJ//s8MF1GD9tLBBqIN+MlNB52rYNn3V/xHTKY\r\nRVVJfm7kgaI9O8mXMa0O8LFw0MKuazDrsN0=\r\n=/kk5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.17.1-6ae5eb7d.0_1666942192138_0.23777659001551466"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.17.1-6be59068.0":{"name":"ipfs-core","version":"0.17.1-6be59068.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^10.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^8.0.0","@ipld/dag-json":"^9.0.0","@ipld/dag-pb":"^3.0.0","@libp2p/bootstrap":"^5.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^3.0.0","@libp2p/delegated-peer-routing":"^3.0.0","@libp2p/interface-dht":"^1.0.2","@libp2p/interface-keys":"^1.0.3","@libp2p/interface-peer-id":"^1.0.5","@libp2p/interface-transport":"^2.0.0","@libp2p/interfaces":"^3.0.3","@libp2p/kad-dht":"^5.0.1","@libp2p/logger":"^2.0.2","@libp2p/mplex":"^7.0.0","@libp2p/peer-id":"^1.1.16","@libp2p/peer-id-factory":"^1.0.19","@libp2p/record":"^2.0.3","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.0.0","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^2.0.1","browser-readablestream-to-it":"^2.0.0","dag-jose":"^3.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^6.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^3.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^13.0.0","ipfs-core-config":"^0.6.1-6be59068.0","ipfs-core-types":"^0.13.1-6be59068.0","ipfs-core-utils":"^0.17.1-6be59068.0","ipfs-http-client":"^59.0.1-6be59068.0","ipfs-repo":"^16.0.0","ipfs-unixfs":"^8.0.0","ipfs-unixfs-exporter":"^9.0.0","ipfs-unixfs-importer":"^11.0.0","ipfs-utils":"^9.0.6","ipns":"^4.0.0","is-domain-name":"^1.0.1","is-ipfs":"^7.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.40.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^10.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^4.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.0.11","blockstore-datastore-adapter":"^4.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^3.0.0","interface-ipfs-core":"^0.157.1-6be59068.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^14.0.0"},"gitHead":"81311d5fcc6a5512ed3414aa592bdc9e6c481b03","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.17.1-6be59068.0","_nodeVersion":"18.12.0","_npmVersion":"lerna/6.0.3/node@v18.12.0+x64 (linux)","dist":{"integrity":"sha512-wFJTkdXFfCVj48BWcju1PvCMOmWu4fbOqt8k8DNBAI71MiDrLVp7E99/SOPIErmZwjCcUz+8rvjoW/dg2BvYTA==","shasum":"fb097d267b9f345e5949ad3bc7aeecafc2cefea0","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.17.1-6be59068.0.tgz","fileCount":430,"unpackedSize":2163657,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDL4eyeCpIHJMyOjyP1XBagjET04ezGk6y6KkdZwbPSlgIhAL+0hPIyOTyP/YzPzSq/mxm1rh8dC9rE5tu4WMXYghjP"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdo/tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbCxAAoL9uKQM4xNfEzOOqV6WkyBchE+5iFRY4p+hyyDwMOE/WgW1g\r\nslkZ4/hLTBO+MvCEIt2ipSMSjIcoekfFrMhBHkZ35mRnuztPPS2OgkFdFjoQ\r\nDXOTrUb4TnuFo9wNuEleqhgP8jgKW+O9tU6H+C3vYwTAS13uTHczufneFTl1\r\nTMk3RsNAfRj4xeL1omEp+iHPIZBO0qig68NtSbeoiSxSF2BhArzJRgH76O7U\r\nPcv4qzfwyBXM26/vwxoyGH4b3FjP0M8JMdYUg4y36OSrmFhoRpNfzWhzX72L\r\n6pzDfsrvvoQpe8FHzH0UwhGJUOUTu5WkgAL4cb53rSPB2mu6ZqurgDTLNfxP\r\nZk6p7UavwDjsIe5iWOEwJeOVowsN50F3fsZp0Sv79yt5ZHOK27ki+AjMEAxG\r\nZV892QBfPu0Dm371AsRdZgs/FR1IyL8YGjhpeTebR3nOistnnfktFWVhncJg\r\n1HWNZmSVWYzKa/G+qep1cYx8CSEeVQ6yBAZQjx3c1IwOOx0/fvbWlp7vKUn+\r\n3y9QsSnI1ruYLbilR7BQQs7h7T64jTxVa3laI34OHz6PLC7gOKEP4JYKYv7R\r\nXsx8GTrJWGU1RnLPu+Efaa+otX59VGgz2a84WEbCNTAfXjOU9Gu6uGFiZ3te\r\njMBLlZmiphJWowfmN9wq3J3i/2SN7sT+BPQ=\r\n=pRNw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.17.1-6be59068.0_1668714476822_0.5339629906384091"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.1-563806f1.0":{"name":"ipfs-core","version":"0.0.1-563806f1.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^3.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"^0.0.1-563806f1.0","ipfs-core-types":"^0.0.1-563806f1.0","ipfs-core-utils":"^0.0.1-563806f1.0","ipfs-http-client":"^0.0.1-563806f1.0","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.9","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"next","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^5.2.1","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.9.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"^0.0.1-563806f1.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"19b0474216e0a7dd7363dcd6733379790b68a1f4","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.0.1-563806f1.0","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.4.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-G1bYynB8vm6mnjgS5lgUJChwMytfzSgRU90Geo1ZUpbi0lUTIsWKUqO2KNXmSJ9rREF4HEjdvGkhlo5FPaLrnQ==","shasum":"c067fe7a0d6fab213f971a781290d16b91b8f310","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.1-563806f1.0.tgz","fileCount":430,"unpackedSize":2206686,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfBxDDGbLcHVqCpwdzSvmkKYWrMZ14B0J308ubSO07BgIhAL4q5gOEV21HaxkibhLD9Pw7+DK6ZLJJvaGG8NKI2U9j"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvFjDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp4Dg//RlPp2e+k3HoWmaATRFM2N/gkfNZ7L/JTeDtY8gKkbz8v2C/i\r\nOAHkXfLz5RD9V+suyvtSsLZYoz5lYW2RJAP780e9kdDmpJ8YM7PMxSwKRH2y\r\nVINbI8YnR6Vl6p3W+Bbj6SFjAmlldnoXGj25nCLtG40rJjpTOPcY4ccc41/p\r\nhHIOxILmbHZ26jDT0ZmYOUIf3ZtdADFV/7lsjtKxIk2d5mUqe4CRYbIOQAgA\r\nvzmgJLxNMYEpTBcslBQVOKFG7qUgq7eMWRSvRLJes10JJ5kCxoZZFzaFlYY6\r\nomx4YoL0//9D8lYVqGizqlidjlTHJTnrWhOB5cPsXeYtovAzJBPgrpgnYZ6v\r\n72RFkr9zcs/a/VrAXLIsOOCkLmALSfxhR4j2UnmQm7rTSh5ga459ZJiolINI\r\nZqANhisXpCKxhGevGyKG8R+bc9DxeE3hr/xcItA6Gtf8xPFu7MJTIrVUjQoM\r\nYfsaCy9Xdke20fIwzKulOKYFuKUkM6z/0gepRMXiRjhZRKekuugK8XBjvs+z\r\nMOq8aMddxObTlahNPL4GXhq9RG0nw0bKRiVdIw7vjXvAouSxpDfCY2yTcf2w\r\nBW2HfkhZTjV/TPXcrn8gEIsLYwIZLSqQXXvyY+a7+Mc71OOWqNhFt2XstZKb\r\nFTB0nkIsqDR8SJ/FpATsvg8kvrryEsyj3gU=\r\n=NJut\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.1-563806f1.0_1673287874848_0.3409958721156059"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.1-e85e5b6e.0":{"name":"ipfs-core","version":"0.0.1-e85e5b6e.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^3.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"^0.0.1-e85e5b6e.0","ipfs-core-types":"^0.0.1-e85e5b6e.0","ipfs-core-utils":"^0.0.1-e85e5b6e.0","ipfs-http-client":"^0.0.1-e85e5b6e.0","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.9","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"next","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.9.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"^0.0.1-e85e5b6e.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"5d268429a92d15e22b1cbf7fafadca662b131420","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.0.1-e85e5b6e.0","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.4.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-fciSrADIAonNIFIJltSk+mi7AS5gOt41NatzcIDWA02W+P7fmoxn5EmfdPBYtICMOJhA7fMUc3hTqX+RPuFB8g==","shasum":"4fb8abd1c900198e2687d00142b8f8e8a9278441","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.1-e85e5b6e.0.tgz","fileCount":430,"unpackedSize":2138866,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAJCgjsTg9QPuEya7gHljUF6uo2vckjqo85qJP0M7W8IAiEA88JTTnFHXoCjEAJU1DbDsQjgEJjzwezhD6Z4n77tkco="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvGf3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplOBAAikK1oH7qeZYd97JZkLo4RsbmQXiQ16Sb18Ddz1KQb/sBEpC+\r\nxTmvHR933uDvEzSZ02Fj/HdehD3mIO7sIA9ztrJFbDxj89u00t9WCf+xgqeg\r\nnrZE+Pr5+i2S6oGk2IjmjQoWfLnOD5DiG+jPBh4a53MXpDx9PCPGl/KWL96w\r\n8XFlkrF82ztmfDyfV/jDjRhIbcG43wPk0YPMvnXJ8pmCNttobO2aLVPuhBXh\r\n9YRWPvPIbUAEeaf9Kgu6WAqes9rlqJ9IJuunnMbyfy4nJEELQJ/K0Cad8KX2\r\n2sGeX6Y8zveR1R0VEV7W8Y0uF7GXyeMtVID9+Ii2eRNztqQGXu8rdNpFBRQD\r\nPCOJ7+N5p/GtpXr86fOPyUnt6AKmXA/f5/X045COa1F+uZ3C6JZ2dvSNq+Ix\r\ncwoE6RXHTiZA3wy7NkAmKl6FEh3KEhrs5izfBMP3+TIxqgs+tl0BO8fZEJmo\r\nbfMxB6W4RFU9h6Zt7zNWS4yLEVwddtfaFLjuX2SbufCsANNRbjgEXFHOiwDs\r\nRBQ15QPGuJMhvX2YmUVMD07+NX6LHdCU18ZT+dLF1uOCQWNw4nT9I4k3N7+N\r\n338A9cZ8Qqesb8aj3CVFUV6vW8NCQKAPXEPeQNlnfDxSMqPL8lqFUHZSq9QL\r\nPKfDLdxUpU1bG6B2wCqB76HPTz47my0nrcY=\r\n=Ybuq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.1-e85e5b6e.0_1673291767131_0.011965990111787672"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.1-2a6fede5.0":{"name":"ipfs-core","version":"0.0.1-2a6fede5.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^3.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"^0.0.1-2a6fede5.0","ipfs-core-types":"^0.0.1-2a6fede5.0","ipfs-core-utils":"^0.0.1-2a6fede5.0","ipfs-http-client":"^0.0.1-2a6fede5.0","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.9","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"next","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.9.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"^0.0.1-2a6fede5.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"12b210560953c0358e012a120d162b5f3f32d06c","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.0.1-2a6fede5.0","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.4.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-HL0QNu2+wKUFCOVM3ghvtBY3LUnVXG7KEITTrehyqs7vm8ZqsZVvCk7BnpNAir1zX2+DCrB3uBdhPAUbpE+5Jg==","shasum":"86c6d3a9daecb14cf64a6b7f569da6e2a22298bf","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.0.1-2a6fede5.0.tgz","fileCount":430,"unpackedSize":2138866,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICkSC7CeiX8ETgS3+VXPCof2IRlfwZwuOAviM9XCyB+TAiEAxFVUY1oVbG1d6cJMQ8uqVrnhAZruk7/Kw2jrymmTlUQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvTF8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmri2w//YORIslm0m1ASsIRBUwj8TAnnhRKEZl8Zni+WXXV4Z5zIlBHj\r\ndYdSIa/hSyfH3alh+1xBZPV4O/1OH6FEG+x9OFgaLe0ZyPyUWOeA1HjueUcX\r\nU8BFAm2wVfDY14ZRaqZfCVfOpRiLG4eZ0JVyqgErS3E2F6peWNCzkYdciPIS\r\nxvWGjqLCWpL3S8LAyMXsAY9KEw4ERgLnFtgU3usFPP0jJNhBU976aMGBojxG\r\nXHkvXuSzlj3Tl6e87QIPD8alDn8wI1OWPSbkaWa5c1L1DEroCiriL2U3lHv4\r\nzWFAXwNVko0ef36vo+uHdW41tzV42yUjQuuLxdku6p+tJgM/vCQxTxPtgNTG\r\nZ59OrABCBvhTp1CVI/JDnHPOt5vyaYnWNciFjzJwWBm7RFaRsu1orzXY0uz1\r\nf1W9Mkl8ymXI8H0x+u1jB2X2mLSnukwzGZ2hJJFumNCub7j0h5I+QFqvbnX0\r\n8Q+I+Ch+adbJf5Vi9Re8/f3DyDebl6WUieEmZlm1gmcx9rYHs9CBB4nVVWw6\r\n2yWNH/nugJT7m0yLc6izJu22/75XxguCs2KTddDw6ySIGpCvbkt8LROHbzux\r\nOHKysJDFGhHOEqS/DyidFCGXqlI5b+kqU+9azpal8Ikx6g18DRrY4xAMGUNB\r\n+GvcRVW06N5Dl21f6+LyV7TTPVC2V5JzIVg=\r\n=9NPR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.0.1-2a6fede5.0_1673343356278_0.47645927508841845"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.17.0-5f73ecad":{"name":"ipfs-core","version":"0.17.0-5f73ecad","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^3.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.6.0-5f73ecad","ipfs-core-types":"0.13.0-5f73ecad","ipfs-core-utils":"0.17.0-5f73ecad","ipfs-http-client":"59.0.0-5f73ecad","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.9","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"next","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.157.0-5f73ecad","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"5f73ecadd7d397029be8dd9bc0dcd82469f07359","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.17.0-5f73ecad","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-6ipCNVEVEkjar0KmSDhT5Smt4hwADO+hvqqkXxCGEI3K35cuiujl7mAms81nhRvf934xCVnxcyxMgQ0mQq4UKw==","shasum":"9131b8fb793adb8cdd9e0c0e6b3a05c798229d5b","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.17.0-5f73ecad.tgz","fileCount":430,"unpackedSize":2092038,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCn1uLmfkZmQxjvjGUmN7r+p2wtW+DRUxQRk6x9bee7SgIgJcr/DDkSPHCzt8g1By3shkTBonGODJskmrkMLsLHKa8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvZ0NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrM3w//fJcgZTWpG3f7bWP1TlxeYcN3g8xCQpX3y4NInh0GRQLBwfxo\r\nPR0/qlN4u8NM5A66y5lRBprZQxmstL1ebmHT9D4/ZMGhXJtxG/A/uEicHmtP\r\nm93dPHLSyD3Tw2T+qpN2siJdZOEbOroaGkWKssXYnnoHiDuwgZadpa+9v78f\r\nMzD17wC6vc/V6xKfXWbq71nrcToyNhe5N5i2q7Q4+BgetP+fFa0HNenxYo7i\r\nkLQ7A0KAj0c9vp/hXsaZWhKkYjOhDSAGrLYT9FFi/j8CKnTL32m5dP3T8HNZ\r\nebn/wN5j8fCdbL/URSzOdDQZIFPFJUrBOCdg0gBO8FYcmDp9jMqMgCdrhFy3\r\nt93lTYLh5V6EEeRwDzb0kZyvnmGdokP+9KcqZDtmjq9UChW8Wc8tZiBt1Sic\r\nqofZiuukMUMddLtkpTlvg1PtgkGjcLZi5PcVkKT7H9QuKnwupwTOHfo5Zrjc\r\niXYjfmx7cxQpCDQpfx/w0HSx8tsaDSkf7ard580icgP+Xt4DYtxxu97UIjyt\r\noyTCSfkblDOV/pcj/ux9I55c+1MfuCxfJt4We6rFm6Q6WP3CRhjSf9I8kbUi\r\ngOCN8hvO+a0Rl4TpfxFSr4ZUYhUiKOFjc0jgzy1h0IQmDbizW+bleAl08Yc3\r\nLmCyH/utVmbdXBlol29228owpTQ7RHpFBw4=\r\n=N+Q3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.17.0-5f73ecad_1673370893242_0.44023793611925544"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.17.0-4b4c124c":{"name":"ipfs-core","version":"0.17.0-4b4c124c","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^3.0.1","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.6.0-4b4c124c","ipfs-core-types":"0.13.0-4b4c124c","ipfs-core-utils":"0.17.0-4b4c124c","ipfs-http-client":"59.0.0-4b4c124c","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.9","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"next","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.157.0-4b4c124c","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"4b4c124c4c49b1c60a68b4b8e24f1f00dd7f0517","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.17.0-4b4c124c","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-f1HSsQ6J8RmFo3RG3rahSRkNlGprRRjdv6ldG/9RYkFSLn1rGMZ4X5gO2xFUeg+iSep/s22lOgYjTseOdcvWoQ==","shasum":"e14ec0f81fe44ae9860836aa7f110de4ae643820","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.17.0-4b4c124c.tgz","fileCount":430,"unpackedSize":2092631,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnPAjlaQXdbx4PzEgaLvgOqteh3t88Upiio1RgFV8kMAIgLiaCGHtbmoMEqcUr8eop5c52fkI1tkqFxv7GAYCXg9s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvt5zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpwhw/+Nc3oylZhF0HTzAThCt27IF+y969IpR1JvvZoPPeQ8vheeG9s\r\nNBZcYMQA/CyPjcxua9XgPrCKdMmmfoVT6FwOLxtvnQphQ/qjoSLB/rYcg82X\r\nsQweOqTYxv6cu5qRNAaDtiVNJXqUcEnSi9MNdT8c1tGyFyywGq9pqE+4LRNb\r\nZ8KAArB57ee7OpDFTuQ8sdBCBj7s4mp9SuhkF1YvHpDKXk64H2ouplxyUaze\r\nuHCuFHjoKZKC4Myivm9VoP4eFWYj0KFx+5GdorHnSrSyOVkBZBXhxHy151Dd\r\nYZAv9/Vdk+25cGaal/nnGQr78rhOewyiqoj2VUhc7K4g54o7PFIIbKYHZdO9\r\natBTdgRJUS5wPLbp3l0rxhEKW9y0X8wb8SD53KxDHpU5kZR9IFzsRkIMlMxO\r\nhs4EgiEkO3aOtA20Bo/GRv1WxDqsvpKoAfeWsA3YYhJhsDKtYXULyjkUvwGp\r\nLLSdaE2wpB1QXx40lU2QEgLcSpvcxvUYQXsDPzqqly7B9ArOP22Tek9qnw6J\r\n4x1yQo4LiH3rdt0CnLd4I3+5AYrXqx5pBCJIS//z6IMN6fkptSUwNVjUIxTd\r\nRJ9r7PrD3jVIQdYFUbQ8iKragk0UbeM6sUJuYbZuKFH6fsX37o9t4waddpn3\r\n5D+zEoc2y4axmc8zFraqkCRSHtTjLy4Rnx8=\r\n=pexW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.17.0-4b4c124c_1673453170777_0.6026819770326346"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.17.0-789ee585":{"name":"ipfs-core","version":"0.17.0-789ee585","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.6.0-789ee585","ipfs-core-types":"0.13.0-789ee585","ipfs-core-utils":"0.17.0-789ee585","ipfs-http-client":"59.0.0-789ee585","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.9","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"next","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.157.0-789ee585","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"789ee58556083ef71a4ef44e3358f86c5be101fb","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.17.0-789ee585","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-dbI1E84iMhW6liGgR3/f7a77Rkv4V2co1ppgh6kogDsWciBD0Buo6kCFMK8d0e4WqRUr2izDDTYvBOpW5tboRw==","shasum":"6cd0ffdba22ac1a788eacb7be6258c9fbd34030a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.17.0-789ee585.tgz","fileCount":430,"unpackedSize":2069747,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1fPJSRcUq8AIEdzO6gvBTAWF6ZOmmRywYWiIG8yhGAgIgMSzoyytppCLHVvke6DCg+ezVsMa0da1w6/kVqV3NGXI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvuxuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpemQ/+IIDWnjX/PgAhbvKF2l73VtMaQ+vuWA8m+OIy2FSMUUMtd7iq\r\nxEi5eNRLWr2eOVWSTMOs3LcDgPt7DMddz2jyVB5XAJ2+oYJm0N5LwSmCeleP\r\nxVxbmuLHl9OCEVb4txjH0wzC3TWT0x80y0/j4L0GQBJj1i3SRqUBGtlrdT7a\r\nxcljIhvjpTXmf73NUPdtfysFdThuvvXj1hLhBhguqbNME1sZT2miWJKTH3r8\r\nzVFs/P7oUdK4A0H8CpuwM2ImnjqrNOhg5e9aecC8g9azEJ3GE15SiOM3dP5k\r\n/lOh5BFiGhOIjW5IPiOpOt0FhfSjeVWYhwckrrWgqt52PianFUmT5UmraDhZ\r\nmV5LQipWR+sq29mEXc/1XNRKYRN2QFwaOljmtN+XGzmcFAuJY1v1xKD3RUBY\r\n6MbpyCPh49+IhwjfQBx8u05d2MpgPqhzY49UsJ6AbaCIoiyNg0W/+HjB6pr+\r\nFGmO2Nne7xirZERPbMFXAmeCa5JbZCiM2XdVALosjit5kUSU7Zpi08woYFlY\r\n7CkqWwzaDhFxwJDsCYi0nF5QMiG4uDnVVJOAjCL9rw6+/2QSSXpHA30V9GpT\r\n2OWm8Sr5hy9JEuWiC/HeYNn2dflxbpc9BkYAC3AyfB7fDRZMlunAd1Pn3eMC\r\nl2dl5hT3KMWmAIvw5GanK/yP7k7lv6/F+Zc=\r\n=qBww\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.17.0-789ee585_1673456749716_0.746414646652422"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.17.0-fa578bac":{"name":"ipfs-core","version":"0.17.0-fa578bac","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.6.0-fa578bac","ipfs-core-types":"0.13.0-fa578bac","ipfs-core-utils":"0.17.0-fa578bac","ipfs-http-client":"59.0.0-fa578bac","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.9","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"next","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.157.0-fa578bac","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"fa578bace93e459849a0ffcebbd6f222dc05652d","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.17.0-fa578bac","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-7om5A7Kb+t+F2LaDhGpOJCgmEryqMJB9jcyc9SeN1bX74LaiVOa/RnUx/S6u56IdyBNpAlfuYwVVAtaIGmOltA==","shasum":"4cc3aa7862f44c8907df8c8819173e937cf6ba1e","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.17.0-fa578bac.tgz","fileCount":430,"unpackedSize":2069720,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEVkxZu9iBq2NtXlJvuzOICl/1FuxRbhG+sruxKAgSoTAiEA5p896EtZqutd2mUGTz35OQtNrqy+k5EwCX73yIyF+Ys="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvvbsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq0Ag/9G5Dlec7MABg+DGOeXHqhNJHlNhbHNtKH6pw1xb4zqQjR7iZJ\r\nzU1ctrH55THNCAf5hqgi0zsZc2/OG9ju8PN6g/T/bjTiMcM4seM9irC64YK2\r\n85goNTM1eJBJ6zd6NGPwbf4+hNSostdbXLYwyGTaW9LjbkhbcvqX1Ky+XY2A\r\nTpbFwIeRknigZ4SbBe91pSjwx/TGSunO/9UjN0akejN9GRdZvVnZXlgg5arG\r\nrmYQl4dY25CJ5s3W9YEQdgEcPXEBeOM6pNss/nCbxfyJQaMF/0sF+UQCF6iH\r\nyuweJz7vttySZ2SdWPoNsocg7dkwB3If3aIbG+1N0eVSxFttjtgwpwu+maej\r\n+MVC1NXpGV26sBevA+3vaIzNLUZwcEynTNwMdCT6LOYaYuSV9sQ/yKASu51g\r\n/La7IHj6NS7a17jEafvXpz1BJeLujrBYWYFPoxwe332MeG5J5oaS4FG70+WR\r\nsms2xHUphPIc9NtaBXL5LqkH7e/7yBMDyk1C/8eY8D+EqZMExajX+Q/3n03a\r\nA14m5vPbeOJOzyqUuMZ/SuPYSLUSr9lqJSVR4c1sA6fjnpGaivZ3JhtBLeMW\r\nEFEB9LwpnPLJUNSuYJKT+3QC9I9nnJyTyqphRAkmzWKJ0c/fRWoBgIzCah6+\r\nofI4p7FoInWLSnMUsgCBlyOv2qmt4wP9Y4o=\r\n=oGij\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.17.0-fa578bac_1673459436657_0.9582695366321743"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.17.0-d1c3abb3":{"name":"ipfs-core","version":"0.17.0-d1c3abb3","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.6.0-d1c3abb3","ipfs-core-types":"0.13.0-d1c3abb3","ipfs-core-utils":"0.17.0-d1c3abb3","ipfs-http-client":"59.0.0-d1c3abb3","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.9","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.42.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.157.0-d1c3abb3","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"d1c3abb32b57379b5446d5eda232d7750a2ecff0","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.17.0-d1c3abb3","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-057ShdkPBlUbxYeUFjBzjsTgbM8XRAk5B5OQFZvp8CmC0mxXWpoTeZ6RB6gSMKlV19GxkcbJ3+QHgVP8hSt40g==","shasum":"5a4121ec413934b63e3a5a0d25b40be0665a645e","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.17.0-d1c3abb3.tgz","fileCount":430,"unpackedSize":2069790,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBVLooH2B7Xr+IRNolEWi2Bz/FCFZGx6sSm7lClLxPxhAiEAni96N4O/1kHai2L+zbtz4xGUVVjENCbhrp739E8qiFc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvvtIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTAA/+P+F/h7bKI9ZEryQr0qfidMYR5Tx3PHaI+4kQ1Dnn3Q3dF4ZD\r\nkKzH2UgsTrjqECisNdfv8r7eE2N/cemdLw6KYFcv78aDsdtkYLVSyeW7UNFy\r\nrd5FvgW26r/tx65vHQoxlRdm/CMuWCb1c6Eo6nacVLtxzLS6hFDvTnFr/B+U\r\n02MrYRmE3wUYmF66CvkyNSpuGXRYioNxv9N28VUL7VhdTdHnn6ne8SckyslF\r\nIn6ewalapl7Nm4aV8T5s3TG7295W+LeHHW15mDL+xqzBbwpQp1dWVCi93Ptw\r\n34jvrBOKnAOnPL/7o0y1YodEYC/vaC8ETx8us2v/dzQNmjyXPq1spTC6WFZz\r\nL//ZplTAejrgEbCcNPYU2EXoNBvutam7rK+atvwyUrLdETTHF4hSd/H7rSRk\r\nc9Q0rVQe/trsToPgzMq9Ah5NlFpkAUL0fTSM7RjkepWb/t7gRXMJ1+/ywY24\r\nQ5/RsYaGKE/5bLIBjhjN7lzq+thTpCKMVSoM94WQ9rHiQ3cM4Ec2iztcHPxq\r\nAEWHKdqnMJ4NBPPZQfY2UCPjUw8N+XJYH8jiiqeykNi6neTXrXvKCCbDQ4u5\r\n1NQmv3S7S9YzcmyV9RCaT77Lwwl71yrTi5rzYcPzlDmliwdAhHPp2q+1C9Kc\r\n4G6NYosSNVMbx2QeF5VYBrFFVU3pdfvganc=\r\n=MxPl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.17.0-d1c3abb3_1673460552513_0.6251680916790447"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.18.0":{"name":"ipfs-core","version":"0.18.0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"^0.7.0","ipfs-core-types":"^0.14.0","ipfs-core-utils":"^0.18.0","ipfs-http-client":"^60.0.0","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.9","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.42.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"^0.158.0","ipfsd-ctl":"^12.0.3","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"6e940670681859682d41ca1339744955c9ee20bf","_id":"ipfs-core@0.18.0","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-VkBTXT77pRFN0/mQ3OB6PmTlRIA2rKRjRZ4Tgh+pWwzAZiTj6Qz/TLO862vKflncOWG7Znq6oYxW1GQdhx1dbg==","shasum":"7e9563c7d1984817c30537e373d75014ed55966a","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.18.0.tgz","fileCount":430,"unpackedSize":2069724,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDIRX65dGcw1H3vkK65SNWpXxmSV55cbR/IzCvvq6Q37AiB8qiGaksMM3U8XljDeEZJY4I3GasntXXkf1P+4j9OZuQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjv/DSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSpBAAmoUBU4PWRv7E/J//N/5XvkS7qGdiEHdHOSK4EomN89XBwj3I\r\nosPqbIRd5FYmmW8DB8w1V+y1rcyteR29DPJGdpNEbcbhwblWluzZHQ0iLwba\r\nqup7YNoCHVq0Yba+qOH7h2L4QMCzs2469pdB/vgWPLTzeD3E0yPDr79SwCS3\r\nDQdoE4hbL48atKrl6C0DsavudHEtoS8EWzEg9k/+18Bv0/GuHhW3twydrm3G\r\n+pYWEz4PrRrfDNqCSTgAtIRvz0w3ulbRK+xXwFrFO3XKCx+ddn57D7005gZ+\r\nfT8XYBGEUetJZWNFkw7cQpzS21R4tK4VfElMD0KDdSll3NPbTsZi8kxCsGQi\r\nvGzGIimRZBKnsqyfeuu9HWHGoCm5ULboZyEZ84QUpOf/gVEdWFNp+RnS8e8e\r\nFZH1cIXOHb5NdfQMamVs7YP/tWokyiK2NrJQj7PLGPIqEC8wN+JuzMf1Ch0i\r\nx1kyOwf9ktMrjh61RaiBxM6D4Xs5Dqtdd4Xa1sSZscTduGTpvCN9Gn4e+1F8\r\nHRPOFbPROdBCf5sULtAe1l4v1GNYFOSN7K4364hN/14VdzN1iS66eRPNtikg\r\nmYu74b3tdYN94k+2yN/2u30zuNsYBozEfP/mtRdeFTidu/DS5djPwkahbmXu\r\npR6BljEjquwjFlQky70KtX7ZqZvQa2teuf8=\r\n=1NQA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.18.0_1673523410064_0.7266118191524926"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.18.0-6eeb1be5":{"name":"ipfs-core","version":"0.18.0-6eeb1be5","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.0","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.7.0-6eeb1be5","ipfs-core-types":"0.14.0-6eeb1be5","ipfs-core-utils":"0.18.0-6eeb1be5","ipfs-http-client":"60.0.0-6eeb1be5","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.9","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.42.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.158.0-6eeb1be5","ipfsd-ctl":"^13.0.0","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"6eeb1be57c8366b82351030e49a5886d1aff8bf6","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.18.0-6eeb1be5","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-E2j5d9C063j0EHdC+l0pNNWmiAJzynPkewTG4CRmVLtNGodFfJk49/Wqeg3xbWnhXaetK/yG15mcQ81JmP7ulw==","shasum":"b96689d83bcbd4a6de4ba680be900f3eaaff96ee","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.18.0-6eeb1be5.tgz","fileCount":430,"unpackedSize":2069790,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqAIEajSJHHizJB2Xu6z5yj5gVUi4BFAkJGufPPJM9jAIgHXaO/aBY1lgbE7FnPeZaAsYsOmCKMkfaWYDvOFzXnQw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwaEEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoq5Q//TQdbQ+hUwRc74Xi9bTIPOBUbrECQ+4QqN+2rDocK7QePGPL8\r\nW1WoRtGuU3map+LDIxvHqN3LAccz21LZbYNh7u2GbjoI133QhDwtIFxGJQyK\r\nXMXeSMLlnJB4DQUY1yAbyOOLbkr5ebgdqrlYscSuqCgvqtj/DyXopCK1EuWG\r\npUkKxSil/DXTgxArrzPu1ZXdyR4CZabCPHAyV0jSZKiE8qaqc1eAhLmzgB3X\r\nofjHjhacBNvySJgpGRuCcSSfWcUZ9Tq+OrUWHYh9R0VqzbKxP0NC8xPZ0JO/\r\nTMikllxqm9tASBW4JjCqiD4JtZ1zWaakEV79vDvjNgkFIu/RjUl7iQhQlCHk\r\n1oKwDDqLGrybmDYmwwE6sYGqPlai8bmAqRn+2rzdvv9E3so5ANgAonLpa8B/\r\nkjM9Wglhi96LhBEotEt+eQ/JwDJRmg55wUwhOn4iGmHUQkdbye1HEFV7Av3S\r\nnN56m3MRzKsJkKYkbTosJq6j9NPd+GY4mAIW+B9wKc5AS1P9WGcQbAg0nsok\r\nD+a9dn1TQCpGovLh4jy8kdR91nazI6b/BznLy8LuLmLHPOXqcNQsQrDhTAvp\r\n5Xu0NHh/DXiJgwZaD/27YAsjOHMAlFD1Z6NU0iI2rVHjgGbx34LdveYZIKpC\r\nB7Qe2KVdkzxfA/SGcZoL0Vo5+YOCXljqC/o=\r\n=rLjv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.18.0-6eeb1be5_1673634052309_0.1930443321730455"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.18.0-ab02e8f8":{"name":"ipfs-core","version":"0.18.0-ab02e8f8","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.7","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.7.0-ab02e8f8","ipfs-core-types":"0.14.0-ab02e8f8","ipfs-core-utils":"0.18.0-ab02e8f8","ipfs-http-client":"60.0.0-ab02e8f8","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.13","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.42.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.158.0-ab02e8f8","ipfsd-ctl":"^13.0.0","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"ab02e8f8b3cf8f4eeb9991fef3b0104728ced675","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/js-test-and-release.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml?query=branch%3Amaster)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n    - [Browser `<script>` tag](#browser-script-tag)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsCore` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-core/dist/index.min.js\"></script>\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.18.0-ab02e8f8","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-yJnZeZFBM+0eywbxFshRulLokO7xJwOE1hkDCzaTWa2/GbceNk/S4oNPhAqDFjqafyiLjSdD7Dz+mpS65qTHbQ==","shasum":"e67a66ee72d00097a0ccb23b676e146e25dd4469","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.18.0-ab02e8f8.tgz","fileCount":430,"unpackedSize":2070003,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAKOZPZlbQvXJmuK1W0atMx+czbcl2SLGPJ+E3+SRAu/AiAxElM9uIr0OU7zrsaeBbGgIBz4AIHSbPV8U7qT47srtQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxpN9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3dRAAlqMtZTV2vlrRD0jKdL/XCo0zKAyKR0FzZpTGuWFpYOe4dCFU\r\nwTZWg/L5rzGB38e/PdzVnKETElA0zVfxTDeOGvZiWQh/Vzlhbc+c5iuwxsRM\r\n9xBah/QAyTQqmIM7X+wH+6XW1aIBPjkyx2XSRyU3qZMM7Yz39ae319n8z8SO\r\nArg1qcYjNEQ1K/ixDyNZtg5nQSQo3du/C5Q/LPfq9iKjYnb68Pusws24Zvpi\r\ndqZGgWlp/N8aiW8ZsXFqmeRcNQMdeLDU2iXEAVGtertrEjx1QmmIOwF2HHCL\r\nzlSK3RnrK9tL0qvyhmacaYfnlZziGuZO6OptoPsQFzROTQSIFK/N/lVwXCGj\r\nE2gXElWubeL5oHrfCxO194++U9KLDqE/8T1GOmycbDt4zwbT+TL288EQ6e55\r\n8KLk4lyvRNETbWuQOBbkD3iPy0SmX0uKouAOyiGTZt/U09OLdjvYPxBxBi/7\r\n2pfhDuIORUQNjar/uBsAt8g6LwCRcur8OmmkEARAIM0Fb0Dz7rls0OxReuXy\r\nDWb6poIFlZSIVKq9YWLrnwsPcvON17nhrY6EU/N+sxXbxNR6WEwXlDaPEhaZ\r\n9q40x/D2OOdsQ0oyaAee6c4wKmu5E2eBN2gYBCnPkA7WyVRu5r4/sf25FUpS\r\nZY4HRzUQz0gd7o7gT3iDyn7OnI7G4JHD9r4=\r\n=DokB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.18.0-ab02e8f8_1673958268852_0.4565372278344586"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.18.0-3bcabe38":{"name":"ipfs-core","version":"0.18.0-3bcabe38","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.7","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.7.0-3bcabe38","ipfs-core-types":"0.14.0-3bcabe38","ipfs-core-utils":"0.18.0-3bcabe38","ipfs-http-client":"60.0.0-3bcabe38","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.13","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.42.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.158.0-3bcabe38","ipfsd-ctl":"^13.0.0","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"3bcabe3818ce8bbbafe0cbb68749b286d8a7edd9","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n    - [Browser `<script>` tag](#browser-script-tag)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsCore` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-core/dist/index.min.js\"></script>\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.18.0-3bcabe38","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-b0poAdgaIX0IBtp3ErpXGOlfKhDxClxYrrTOmUKxw/XPV2XjCDgiN8xpctd56lHjXv9kOGM6BbY7x6ME1WEEVQ==","shasum":"9d7ddb6cee32bcea81fc309588c2a39c9341d868","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.18.0-3bcabe38.tgz","fileCount":430,"unpackedSize":2070270,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTaIX/7jzwOzZ1sFzANSMuv8d6zjcsR39ZFHC1pdtKtAIhAKoKT0iJwSdo45oCl9PXvlJoEcGy5t09KjUhfXR8hJn9"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxr9cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpokQ/7BSocz6FOCG2hJhnW1llu0L1eElDaUMivdvNnFDTKwasZS/kx\r\nzzy83XavU4OJw2qEOADzUoYpphpJwMPGBOFn0SHZp5f4CBsWvW5pqEb0ZGdC\r\nIvCW59owgye/Xs8KbAr0INjVeYSYqExkMEFSKiJxFgSnzCTIsxSl09TcqXb+\r\nJEHOyplQKgGBXvdOLa/2kjpkLiy3hC8kGCrBCexE+KrJ8isvCX7OhpX2323C\r\n93uMLTc1mEEreamSM0gR4VTl7LR8wL8sxWjO/AjfToAftB0cS6C4zlpnqNCK\r\nIRbhWLKXP67Yx5FdVX5/2DgJviWc14VAOSJkN9sdkpn1LqeoPmq4EMMqHmj8\r\nW1VC24cfBU+aMNoTT6r5zB0KGf5qCfNLmYGFzTL2MxBtrtAqRVZWAJDjgGHN\r\nZqnRjbl63RLx85Dlu7fGD2UGUmCCAUx4e7QLGwOs2VqfXDLZC1HuKKZDZVu5\r\nS3ytlwrm1EhiTXHUy1tICABG1LGEaJcGwhfxQ20xMSRo2vX2LmaV5Hgi8htG\r\n5Lb0P+bWlhX4XxlxxF6Eht0lcLqMousR34MFoCcJ14NIG5nAgMRYevRu2URF\r\nhyMN4NTjzWcCvYsASttQl2ThkgbEpf3xoy+jdCKiqwfo7MeDoM2rVP4/ybqV\r\ngkYOWPCqKtTai6BeYZiUkcneGv6mgRMc3+w=\r\n=nisR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.18.0-3bcabe38_1673969500193_0.9882613845079522"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.18.0-b64d4af0":{"name":"ipfs-core","version":"0.18.0-b64d4af0","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.7","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.7.0-b64d4af0","ipfs-core-types":"0.14.0-b64d4af0","ipfs-core-utils":"0.18.0-b64d4af0","ipfs-http-client":"60.0.0-b64d4af0","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.13","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.42.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.158.0-b64d4af0","ipfsd-ctl":"^13.0.0","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"b64d4af034f27aa7204e57e6a79f95461095502c","readme":"# ipfs-core <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n    - [Browser `<script>` tag](#browser-script-tag)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsCore` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-core/dist/index.min.js\"></script>\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.18.0-b64d4af0","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-pX4qaU8rGsHY3dhc5SkFKEqXRCWVI3ltbqlJbXXnh5tptACy7mDZ/M5IRKlPxCxyS4/taXV70pLIp8TJvlwo4Q==","shasum":"0fa7c12cdea48224168427c192734b94c96efe06","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.18.0-b64d4af0.tgz","fileCount":430,"unpackedSize":2070517,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFvg/jz43UkdNkIHVSvVpT76F0vbMGa196VnlRADIyzmAiARjy2zCKGkQUE+AAp1j5y9TX85qXAXWfE5u7SLbrnX3w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2kv2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGLQ//biEqohObsenX0GG20BzEJxCzDR2NoCMADAauNE1f/hCYlpPa\r\n1b5p/AhQEaescMCoVl/1/FUpsD685P44/Uw0HBMrRGOmo/MvqX+kVrUObrDb\r\nRfI/atA1NiBtnicpBDW1ti3zW3ewGT1np1IDeCYNzlTTxDXQ0q9q/9OFiTmk\r\nnUJ7NqXbsPUUMBsr64TzDCSfHvhCVnfB/jrBvpLxb774y8QbMfdkgLaaGRVZ\r\n/tBVK+u9kE5jcM66pmuaWuz6lVPjHboY4qJzkwr60G9ZusA3QKINyPGLiZlR\r\nYsCtYCUOXPJSOnrSb+wOLvT829gbGeUOMx1aoW7sjCk11wr+9qWCDQTWZ195\r\n/6n1V84xSSIFIxs72z3beHdT+jEXbWj4rK7vKrO2P10c/e7m3sfTbpmJvMp3\r\n6OEqFKsdl3zXyUDiR8lxTsrpalMUlU1yXCV+AvKWULMf5SrrOrRehj6b7OKe\r\nTrJZ2TJG01wCeZO8rcTPZ2w9kQ4YWcEgqCI+6FJ7d1KriGGDRDIeSsqUmF3i\r\n+VuzgvZpfoFSKVtFyqlnLWAAVlID6TYiJt7YtpMd0ypUqa+NNCXwQH6pSwx5\r\nQxyM+gZniRPRotl6mWAxNUGK4xE2fSfk0S/yTtfA7CUOONXTIZVoNk5dZeK+\r\nIsBrW+EOrOUgslg8rqQgk85N7yQEyLLr8QQ=\r\n=ZDUE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.18.0-b64d4af0_1675250678178_0.5718497035268091"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.18.0-e64813f6":{"name":"ipfs-core","version":"0.18.0-e64813f6","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.7","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.7.0-e64813f6","ipfs-core-types":"0.14.0-e64813f6","ipfs-core-utils":"0.18.0-e64813f6","ipfs-http-client":"60.0.0-e64813f6","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.13","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.42.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.158.0-e64813f6","ipfsd-ctl":"^13.0.0","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"e64813f6fdc681328da7cb893c93e1f4f70bfc99","readme":"> # ⛔️ DEPRECATED: [js-IPFS](https://github.com/ipfs/js-ipfs) has been superseded by [Helia](https://github.com/ipfs/helia)\n>\n> 📚 [Learn more about this deprecation](https://github.com/ipfs/js-ipfs/issues/4336) or [how to migrate](https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS)\n>\n> ⚠️ If you continue using this repo, please note that security fixes will not be provided\n\n# ipfs-core <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n    - [Browser `<script>` tag](#browser-script-tag)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsCore` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-core/dist/index.min.js\"></script>\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.18.0-e64813f6","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-3DzUyWfa59BpmoHf5g29hUfBofKa2AL+uqNq6K/1+nhzh5al4uYCBGdOGy+pmXmroJ0aRT/QFw5msdkj9yhzxA==","shasum":"8b8cd4619a4b647ee74d85c2a75dc5c6bf1b6795","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.18.0-e64813f6.tgz","fileCount":430,"unpackedSize":2239874,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEQKNAWAJnNvrwIouab+Phg8+3AI2PK3Yaj9x+WF6yAEAiEAuJbd0/sceKQbqFfk3ESJA8wYFGaSVYArWe0o2hmeUK0="}]},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.18.0-e64813f6_1684953963161_0.011563470363163741"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.18.0-4694e806":{"name":"ipfs-core","version":"0.18.0-4694e806","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.7","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.7.0-4694e806","ipfs-core-types":"0.14.0-4694e806","ipfs-core-utils":"0.18.0-4694e806","ipfs-http-client":"60.0.0-4694e806","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.13","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.42.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.158.0-4694e806","ipfsd-ctl":"^13.0.0","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"4694e806aea15c66db32e3b4be81c0a5e2fb8ade","readme":"> # ⛔️ DEPRECATED: [js-IPFS](https://github.com/ipfs/js-ipfs) has been superseded by [Helia](https://github.com/ipfs/helia)\n>\n> 📚 [Learn more about this deprecation](https://github.com/ipfs/js-ipfs/issues/4336) or [how to migrate](https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS)\n>\n> ⚠️ If you continue using this repo, please note that security fixes will not be provided\n\n# ipfs-core <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n    - [Browser `<script>` tag](#browser-script-tag)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsCore` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-core/dist/index.min.js\"></script>\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.18.0-4694e806","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-MtFhofvA3nsFUDh7uCOGWCxHFvGu31wVVQVHjIpStpZ1O0wn9QU2TTbhDE781WwC8IGK4eVDAMqtPEHunRnvJw==","shasum":"3d63b3609f4f9996e46aa9b6f68de0905e8aaa38","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.18.0-4694e806.tgz","fileCount":430,"unpackedSize":2239874,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcH2vzSJQF7GSnhdKyqNFd+Y9WKIFgnVVAZmzH1qgbgwIhAJambnrcgAadIgPHgiImv59ZSoi5dNNuOYyKUYolGK1J"}]},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.18.0-4694e806_1685014321578_0.16244137243354806"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.18.0-6d95ce08":{"name":"ipfs-core","version":"0.18.0-6d95ce08","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.7","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.7.0-6d95ce08","ipfs-core-types":"0.14.0-6d95ce08","ipfs-core-utils":"0.18.0-6d95ce08","ipfs-http-client":"60.0.0-6d95ce08","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.13","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.42.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.158.0-6d95ce08","ipfsd-ctl":"^13.0.0","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"6d95ce0864055e5236ac88c0999460ebc5075c10","readme":"> # ⛔️ DEPRECATED: [js-IPFS](https://github.com/ipfs/js-ipfs) has been superseded by [Helia](https://github.com/ipfs/helia)\n>\n> 📚 [Learn more about this deprecation](https://github.com/ipfs/js-ipfs/issues/4336) or [how to migrate](https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS)\n>\n> ⚠️ If you continue using this repo, please note that security fixes will not be provided\n\n# ipfs-core <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n    - [Browser `<script>` tag](#browser-script-tag)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsCore` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-core/dist/index.min.js\"></script>\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.18.0-6d95ce08","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-5WHpWymn3vvDNkf4Q6D0NUlZNz7ged1v9yiHXHMlVPuCXdC649fxWYi/dqVAJdO0Qq+AAaHNBy078ym9sj8NLQ==","shasum":"f643aca01db10de8c63315e40864895fbf31b4e4","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.18.0-6d95ce08.tgz","fileCount":430,"unpackedSize":2239874,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHrOoerSz60flL3pg3BzB9aEORnhABqQjDh+NUmMZZbtAiEAw3TOsXOWPO5OOKdzPqiOwpvqkjVYhSC3y+8dC6Bc+5E="}]},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.18.0-6d95ce08_1685016654234_0.05779321519984815"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.18.0-7b79c1b8":{"name":"ipfs-core","version":"0.18.0-7b79c1b8","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.7","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"0.7.0-7b79c1b8","ipfs-core-types":"0.14.0-7b79c1b8","ipfs-core-utils":"0.18.0-7b79c1b8","ipfs-http-client":"60.0.0-7b79c1b8","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.13","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.42.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"0.158.0-7b79c1b8","ipfsd-ctl":"^13.0.0","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"7b79c1b8df5c818dc124b346ea28330455732d5c","readme":"> # ⛔️ DEPRECATED: [js-IPFS](https://github.com/ipfs/js-ipfs) has been superseded by [Helia](https://github.com/ipfs/helia)\n>\n> 📚 [Learn more about this deprecation](https://github.com/ipfs/js-ipfs/issues/4336) or [how to migrate](https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS)\n>\n> ⚠️ If you continue using this repo, please note that security fixes will not be provided\n\n# ipfs-core <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n    - [Browser `<script>` tag](#browser-script-tag)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsCore` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-core/dist/index.min.js\"></script>\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","_id":"ipfs-core@0.18.0-7b79c1b8","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-zqlY9MpPhmgE2RS0mPDo05Urc4vkAsEvCdgT3+ut2ol2Y54NcfEnDmx7M20qfqMPHAIONzAIz2duYpvoHtBDFQ==","shasum":"ca15185b2e094b29e6f6d23fca58c30205892f6f","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.18.0-7b79c1b8.tgz","fileCount":430,"unpackedSize":2239874,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD75hUnr3j9HJX1PwtuBnzvYF0FHu1YKvheTwEqbNo+YQIgNb8G0lFofnzXSwRi26GBytNQ+8zKoCnM7Xmd21qvc68="}]},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.18.0-7b79c1b8_1685018796631_0.8348108283643552"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.18.1":{"name":"ipfs-core","version":"0.18.1","description":"JavaScript implementation of the IPFS specification","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["IPFS"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"},"./config/profiles":{"types":"./src/components/config/profiles.d.ts","import":"./src/components/config/profiles.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","prepublishOnly":"node scripts/update-version.js","lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:bootstrapers":"IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrappers.js","clean":"aegir clean","dep-check":"aegir dep-check -i interface-ipfs-core -i ipfs-core-types --i interface-blockstore -i @libp2p/interface-dht -i @libp2p/interface-keys -i @libp2p/interface-transport -i @libp2p/interfaces"},"dependencies":{"@chainsafe/libp2p-noise":"^11.0.0","@ipld/car":"^5.0.0","@ipld/dag-cbor":"^9.0.0","@ipld/dag-json":"^10.0.0","@ipld/dag-pb":"^4.0.0","@libp2p/bootstrap":"^6.0.0","@libp2p/crypto":"^1.0.7","@libp2p/delegated-content-routing":"^4.0.0","@libp2p/delegated-peer-routing":"^4.0.0","@libp2p/interface-dht":"^2.0.0","@libp2p/interface-keys":"^1.0.6","@libp2p/interface-peer-id":"^2.0.0","@libp2p/interface-transport":"^2.1.0","@libp2p/interfaces":"^3.2.0","@libp2p/kad-dht":"^7.0.0","@libp2p/logger":"^2.0.5","@libp2p/mplex":"^7.1.1","@libp2p/peer-id":"^2.0.0","@libp2p/peer-id-factory":"^2.0.0","@libp2p/record":"^3.0.0","@libp2p/websockets":"^5.0.0","@multiformats/mafmt":"^11.0.2","@multiformats/multiaddr":"^11.1.5","@multiformats/multiaddr-to-uri":"^9.0.1","@multiformats/murmur3":"^2.0.0","any-signal":"^3.0.0","array-shuffle":"^3.0.0","blockstore-core":"^3.0.0","browser-readablestream-to-it":"^2.0.0","dag-jose":"^4.0.0","datastore-core":"^8.0.1","datastore-pubsub":"^7.0.0","dlv":"^1.1.3","err-code":"^3.0.1","hamt-sharding":"^3.0.0","hashlru":"^2.3.0","interface-blockstore":"^4.0.0","interface-datastore":"^7.0.0","ipfs-bitswap":"^15.0.0","ipfs-core-config":"^0.7.1","ipfs-core-types":"^0.14.1","ipfs-core-utils":"^0.18.1","ipfs-http-client":"^60.0.1","ipfs-repo":"^17.0.0","ipfs-unixfs":"^9.0.0","ipfs-unixfs-exporter":"^10.0.0","ipfs-unixfs-importer":"^12.0.0","ipfs-utils":"^9.0.13","ipns":"^5.0.1","is-domain-name":"^1.0.1","is-ipfs":"^8.0.0","it-drain":"^2.0.0","it-filter":"^2.0.0","it-first":"^2.0.0","it-last":"^2.0.0","it-map":"^2.0.0","it-merge":"^2.0.0","it-parallel":"^3.0.0","it-peekable":"^2.0.0","it-pipe":"^2.0.3","it-pushable":"^3.0.0","it-tar":"^6.0.0","it-to-buffer":"^3.0.0","just-safe-set":"^4.0.2","libp2p":"^0.42.0","merge-options":"^3.0.4","mortice":"^3.0.0","multiformats":"^11.0.0","pako":"^2.0.4","parse-duration":"^1.0.0","timeout-abort-controller":"^3.0.0","uint8arrays":"^4.0.2"},"devDependencies":{"@chainsafe/libp2p-gossipsub":"^6.0.0","@types/dlv":"^1.1.2","@types/pako":"^2.0.0","@types/rimraf":"^3.0.1","aegir":"^37.11.0","blockstore-datastore-adapter":"^5.0.0","delay":"^5.0.0","go-ipfs":"^0.12.0","interface-blockstore-tests":"^4.0.0","interface-ipfs-core":"^0.158.1","ipfsd-ctl":"^13.0.0","iso-url":"^1.0.0","it-all":"^2.0.0","nanoid":"^4.0.0","p-defer":"^4.0.0","rimraf":"^3.0.2","sinon":"^15.0.1"},"gitHead":"bf1bc8b18d750d5591bdd575a6d0f4c067d61d0a","_id":"ipfs-core@0.18.1","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-87nLL9my6mFiR3woW5XEZ8D5SbHljXWDNc5Udxx79AFs3tzne68VPg87oFO6bxmOwM/1e7+7UkMevEy5t/s0lQ==","shasum":"e165762f02bce9f90723879af2adcfeceb9e3c54","tarball":"https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.18.1.tgz","fileCount":430,"unpackedSize":2239808,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOdLaBHcN/WIVGHB/lXzRLXv3o/hPnypEl6raONcT2aAIhANTr7dm856JfmJbx9hP2cJWougrg2+JTsL1UCDsbtTW5"}]},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-core_0.18.1_1685026798589_0.24353094178030266"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"}},"time":{"created":"2020-05-14T10:42:13.617Z","0.0.0":"2020-05-14T10:42:13.805Z","modified":"2023-05-25T19:28:53.361Z","0.0.2-rc.5874":"2020-10-06T10:47:41.626Z","0.0.2-rc.5875":"2020-10-06T12:43:20.063Z","0.0.2-rc.5876":"2020-10-10T08:14:54.164Z","0.0.2-rc.5877":"2020-10-10T10:13:16.154Z","0.0.2-rc.5879":"2020-10-15T15:45:46.804Z","0.0.2-rc.5880":"2020-10-15T16:03:59.818Z","0.0.2-rc.5881":"2020-10-21T16:46:32.606Z","0.0.2-rc.5887":"2020-10-22T14:05:04.982Z","0.0.2-rc.5889":"2020-10-23T11:32:56.351Z","0.0.2-rc.5890":"2020-10-27T07:53:46.094Z","0.0.2-rc.5891":"2020-10-27T09:24:03.135Z","0.0.2-rc.5893":"2020-10-27T13:16:35.812Z","0.0.2-rc.5894":"2020-10-27T15:10:56.369Z","0.0.2-rc.5896":"2020-10-28T14:35:09.835Z","0.1.0":"2020-10-28T15:52:28.274Z","0.1.1-rc.2":"2020-10-28T17:07:40.372Z","0.1.1-rc.4":"2020-10-30T11:31:19.902Z","0.1.1-rc.5":"2020-10-30T15:35:56.951Z","0.1.1-rc.6":"2020-10-30T16:53:53.627Z","0.1.1-rc.8":"2020-11-02T13:52:49.941Z","0.1.1-rc.10":"2020-11-06T18:26:43.812Z","0.1.1-rc.12":"2020-11-09T16:12:26.856Z","0.1.1-rc.13":"2020-11-09T16:54:52.924Z","0.2.0":"2020-11-09T17:09:32.280Z","0.2.1-rc.1":"2020-11-10T09:13:36.929Z","0.2.1-rc.3":"2020-11-12T12:37:43.244Z","0.2.1-rc.5":"2020-11-13T09:22:12.999Z","0.2.1-rc.7":"2020-11-16T09:39:25.814Z","0.2.1-rc.8":"2020-11-16T10:37:53.338Z","0.2.1":"2020-11-16T11:28:40.334Z","0.2.2-rc.2":"2020-11-16T13:20:43.388Z","0.2.2-rc.3":"2020-11-18T12:52:38.395Z","0.2.2-rc.6":"2020-11-20T23:37:30.789Z","0.2.2-rc.8":"2020-11-25T07:55:04.062Z","0.3.0":"2020-11-25T08:37:39.298Z","0.3.1-rc.1":"2020-11-26T08:24:20.864Z","0.3.1-rc.2":"2020-11-26T08:34:48.480Z","0.3.1-rc.3":"2020-11-26T15:32:21.122Z","0.3.1-rc.4":"2020-11-26T18:44:15.694Z","0.3.1-rc.7":"2020-12-03T17:03:52.095Z","0.3.1-rc.8":"2020-12-03T17:30:37.772Z","0.3.1-rc.11":"2020-12-05T08:28:10.645Z","0.3.1-rc.13":"2020-12-14T14:30:16.688Z","0.3.1":"2020-12-16T10:47:51.941Z","0.3.2-rc.1":"2020-12-18T14:42:57.474Z","0.3.2-rc.4":"2020-12-18T17:46:57.031Z","0.3.2-rc.5":"2021-01-13T12:26:22.967Z","0.3.2-rc.6":"2021-01-15T08:51:20.961Z","0.4.0":"2021-01-15T11:51:05.424Z","0.4.1":"2021-01-20T07:50:03.932Z","0.4.2":"2021-01-22T12:05:20.623Z","0.4.3-rc.3":"2021-01-30T08:09:10.759Z","0.5.0":"2021-02-01T11:37:01.106Z","0.5.1":"2021-02-02T09:07:23.606Z","0.5.2":"2021-02-08T15:36:44.919Z","0.5.3-rc.4":"2021-02-21T09:16:18.126Z","0.5.3-rc.5":"2021-02-22T16:41:55.131Z","0.5.3":"2021-03-09T10:47:45.239Z","0.5.4":"2021-03-10T11:13:57.624Z","0.5.5-rc.3":"2021-03-31T15:16:18.977Z","0.5.5-rc.11":"2021-04-28T12:16:24.709Z","0.5.5-rc.14":"2021-04-28T17:13:01.461Z","0.5.5-rc.17":"2021-04-29T16:56:38.051Z","0.5.5-rc.18":"2021-04-30T09:24:37.261Z","0.5.5-rc.19":"2021-04-30T17:04:56.470Z","0.5.5-rc.20":"2021-05-01T17:52:57.472Z","0.5.5-rc.21":"2021-05-02T09:00:39.074Z","0.5.5-rc.22":"2021-05-04T07:45:13.689Z","0.5.5-rc.24":"2021-05-04T10:57:00.238Z","0.5.5-rc.25":"2021-05-04T11:19:19.525Z","0.5.5-rc.26":"2021-05-04T13:55:53.363Z","0.5.5-rc.27":"2021-05-06T11:43:07.190Z","0.5.5-rc.28":"2021-05-06T14:18:06.218Z","0.5.5-rc.29":"2021-05-07T11:59:15.771Z","0.5.5-rc.30":"2021-05-07T13:39:50.407Z","0.5.5-rc.31":"2021-05-10T11:57:48.799Z","0.5.5-rc.32":"2021-05-10T12:21:12.694Z","0.6.0":"2021-05-10T14:55:19.828Z","0.6.1-rc.1":"2021-05-11T06:09:48.305Z","0.6.1":"2021-05-11T18:22:32.834Z","0.6.2-rc.1":"2021-05-11T20:27:23.706Z","0.6.2-rc.2":"2021-05-13T18:06:55.573Z","0.6.2-rc.3":"2021-05-25T14:40:13.684Z","0.6.2-rc.7":"2021-05-25T16:06:28.965Z","0.7.0":"2021-05-26T09:33:51.003Z","0.7.1-rc.1":"2021-05-26T12:25:07.268Z","0.7.1-rc.3":"2021-06-01T20:39:21.881Z","0.7.1-rc.4":"2021-06-05T06:17:25.717Z","0.7.1":"2021-06-05T06:33:21.448Z","0.7.2-rc.1":"2021-06-10T09:26:47.365Z","0.7.2-rc.2":"2021-06-15T16:49:11.985Z","0.7.2-rc.3":"2021-06-18T08:11:30.673Z","0.7.2-rc.4":"2021-06-18T09:21:08.612Z","0.8.0":"2021-06-18T11:16:16.601Z","0.8.1-rc.1":"2021-06-18T15:58:09.495Z","0.8.1-rc.2":"2021-06-25T15:13:57.972Z","0.8.1-rc.3":"2021-07-01T16:05:52.625Z","0.8.1-rc.6":"2021-07-19T15:31:52.996Z","0.8.1-rc.8":"2021-07-27T09:29:22.944Z","0.8.1-rc.9":"2021-07-27T10:01:33.803Z","0.8.1-rc.11":"2021-07-27T10:39:17.414Z","0.8.1-rc.14":"2021-07-27T12:20:27.192Z","0.8.1-rc.17":"2021-07-27T14:24:00.942Z","0.9.0":"2021-07-27T15:08:30.238Z","0.9.1-rc.1":"2021-07-28T11:30:29.450Z","0.9.1-rc.2":"2021-07-28T12:25:46.007Z","0.9.1-rc.5":"2021-07-28T16:57:00.576Z","0.9.1":"2021-07-30T17:09:00.155Z","0.9.1-rc.7":"2021-07-30T17:31:11.509Z","0.9.2-rc.1":"2021-07-30T18:57:34.115Z","0.9.2-rc.2":"2021-08-04T13:53:03.331Z","0.9.2-rc.3":"2021-08-05T11:48:30.467Z","0.9.2-rc.6":"2021-08-09T16:32:46.986Z","0.9.2-rc.8":"2021-08-10T07:19:41.640Z","0.9.2-rc.10":"2021-08-10T09:10:05.751Z","0.9.2-rc.11":"2021-08-11T09:23:09.718Z","0.10.0":"2021-08-11T15:12:30.563Z","0.10.1-rc.4":"2021-08-12T10:51:22.670Z","0.10.1-rc.5":"2021-08-12T11:07:29.082Z","0.10.1-rc.6":"2021-08-12T14:11:07.687Z","0.10.1-rc.7":"2021-08-16T15:47:34.415Z","0.10.1":"2021-08-17T10:43:18.257Z","0.10.1-rc.9":"2021-08-17T10:52:26.807Z","0.10.1-rc.10":"2021-08-17T11:09:52.361Z","0.10.2-rc.1":"2021-08-17T12:56:17.524Z","0.9.2":"2021-08-17T14:10:17.067Z","0.10.2":"2021-08-17T17:18:15.249Z","0.10.3":"2021-08-17T19:58:51.156Z","0.10.4-rc.1":"2021-08-17T21:56:13.886Z","0.10.4-rc.3":"2021-08-25T07:32:47.210Z","0.10.4-rc.4":"2021-08-25T08:53:13.746Z","0.10.4":"2021-08-25T15:56:54.589Z","0.10.5-rc.2":"2021-08-26T09:48:33.311Z","0.10.5-rc.3":"2021-08-26T11:10:24.629Z","0.10.5-rc.4":"2021-08-26T13:58:32.936Z","0.10.5-rc.5":"2021-08-26T15:43:29.017Z","0.10.5-rc.6":"2021-08-31T13:35:13.586Z","0.10.5-rc.7":"2021-09-02T15:00:15.086Z","0.10.5-rc.8":"2021-09-02T17:39:14.040Z","0.10.5":"2021-09-02T18:20:28.809Z","0.10.6-rc.1":"2021-09-06T11:19:17.139Z","0.10.6-rc.2":"2021-09-06T15:02:21.281Z","0.10.6-rc.4":"2021-09-07T17:04:04.023Z","0.10.6-rc.5":"2021-09-08T09:33:40.396Z","0.10.6":"2021-09-08T10:02:28.770Z","0.10.7-rc.1":"2021-09-14T13:40:31.681Z","0.10.7-rc.4":"2021-09-17T12:51:01.139Z","0.10.7":"2021-09-17T13:24:14.620Z","0.10.8-rc.0":"2021-09-17T13:30:20.691Z","0.10.9-rc.0":"2021-09-17T16:25:39.459Z","0.10.8":"2021-09-17T16:36:13.370Z","0.10.9-rc.1":"2021-09-21T16:10:53.591Z","0.10.9-rc.12":"2021-09-23T06:18:03.135Z","0.10.9-rc.14":"2021-09-23T10:47:59.799Z","0.10.9-rc.15":"2021-09-23T12:56:56.988Z","0.10.9-rc.16":"2021-09-23T18:33:20.262Z","0.10.9-rc.17":"2021-09-24T11:20:51.152Z","0.10.9-rc.18":"2021-09-24T12:45:40.325Z","0.11.0":"2021-09-24T12:50:19.968Z","0.11.1-rc.0":"2021-09-24T12:53:43.206Z","0.11.1-rc.1":"2021-09-25T17:26:18.296Z","0.11.1-rc.2":"2021-09-25T18:11:15.151Z","0.11.1-rc.3":"2021-09-27T16:37:34.572Z","0.11.1-rc.5":"2021-09-28T12:00:20.324Z","0.11.1":"2021-09-28T12:03:55.765Z","0.11.2-rc.0":"2021-09-28T12:07:46.027Z","0.11.2-rc.1":"2021-09-30T15:48:58.821Z","0.11.2-rc.2":"2021-09-30T17:39:19.572Z","0.11.2-rc.3":"2021-10-02T12:58:21.122Z","0.11.2-rc.4":"2021-10-08T14:33:07.958Z","0.11.2-rc.5":"2021-11-04T07:26:24.832Z","0.11.2-rc.6":"2021-11-12T11:31:18.538Z","0.12.0":"2021-11-12T11:55:27.260Z","0.12.1-rc.0":"2021-11-12T11:56:13.513Z","0.12.1-rc.1":"2021-11-19T15:42:25.314Z","0.12.2-rc.0":"2021-11-19T15:48:45.180Z","0.12.1":"2021-11-19T15:50:33.401Z","0.12.2-rc.1":"2021-11-19T17:23:46.138Z","0.12.2-rc.2":"2021-11-22T16:17:36.075Z","0.12.2-rc.3":"2021-11-24T09:36:01.678Z","0.12.3-rc.0":"2021-11-24T09:39:53.038Z","0.12.2":"2021-11-24T09:40:39.781Z","0.12.3-rc.1":"2021-12-03T10:52:12.841Z","0.12.3-rc.2":"2021-12-03T13:26:38.340Z","0.12.3-rc.3":"2021-12-03T14:05:46.417Z","0.12.3-rc.4":"2021-12-03T15:01:52.745Z","0.12.3-rc.5":"2021-12-06T10:38:02.963Z","0.12.3-rc.6":"2021-12-06T16:29:11.841Z","0.12.3-rc.7":"2021-12-06T22:23:54.014Z","0.12.3-rc.8":"2021-12-13T11:34:47.609Z","0.12.3-rc.9":"2021-12-13T12:09:52.312Z","0.12.3-rc.11":"2021-12-15T12:50:40.702Z","0.12.3-rc.10":"2021-12-15T12:50:52.001Z","0.12.3-rc.12":"2021-12-15T12:53:15.010Z","0.12.3-rc.13":"2021-12-15T18:25:24.503Z","0.13.0":"2021-12-15T20:28:59.314Z","0.13.1-rc.0":"2021-12-15T20:30:07.073Z","0.13.1-rc.1":"2021-12-16T09:07:06.197Z","0.13.1-rc.2":"2021-12-17T09:57:25.847Z","0.13.1-rc.3":"2022-01-13T18:31:31.251Z","0.13.1-rc.4":"2022-01-20T14:26:49.109Z","0.13.1-rc.5":"2022-01-21T15:46:24.398Z","0.13.1-7fe0da57f.0":"2022-01-26T12:14:52.394Z","0.13.1-5439a0e.0":"2022-01-26T13:07:45.895Z","0.13.1-a6b201af.0":"2022-01-27T15:37:36.047Z","0.13.1-fbe14923.0":"2022-01-27T18:17:41.715Z","0.13.1-6cb3a87e.0":"2022-01-27T19:12:53.538Z","0.14.1-2afef2eb.0":"2022-01-27T20:09:11.094Z","0.14.1-3a5d61d4.0":"2022-01-27T21:33:51.193Z","0.13.1-cca6e321.0":"2022-01-27T23:03:58.115Z","0.14.0":"2022-01-27T23:18:08.918Z","0.14.1-8d260215.0":"2022-01-27T23:53:13.622Z","0.14.1-2c8ec080.0":"2022-01-28T14:56:34.507Z","0.14.1-3a74c110.0":"2022-02-04T16:17:18.179Z","0.14.1-383dc07d.0":"2022-02-04T19:57:23.345Z","0.14.1-709831f6.0":"2022-02-06T16:03:35.930Z","0.14.1":"2022-02-07T16:51:44.549Z","0.14.2-1082fce9.0":"2022-02-18T16:15:07.759Z","0.14.2-125d42ba.0":"2022-03-01T09:47:04.328Z","0.14.2-df1bd1bb.0":"2022-03-01T11:11:19.233Z","0.14.2":"2022-04-05T15:10:22.781Z","0.14.3-e90b8f13.0":"2022-04-05T16:10:15.416Z","0.14.3-8f7ce23c.0":"2022-04-20T12:40:20.522Z","0.14.3":"2022-04-26T07:02:13.303Z","0.14.4-7165bf71.0":"2022-05-16T20:08:01.465Z","0.14.4-4e93dd5d.0":"2022-05-27T13:43:17.370Z","0.14.4-919b27a8.0":"2022-05-27T16:18:41.954Z","0.15.0":"2022-05-30T19:17:27.998Z","0.15.1-ddfb899f.0":"2022-05-30T19:57:05.567Z","0.15.1-764b4adc.0":"2022-06-01T14:26:32.696Z","0.15.1-be025c89.0":"2022-06-01T14:31:46.447Z","0.15.1-87e00a69.0":"2022-06-01T14:36:21.394Z","0.15.1":"2022-06-01T15:16:33.085Z","0.15.2-70e142ac.0":"2022-06-13T16:00:39.858Z","0.15.2":"2022-06-14T06:25:24.102Z","0.15.3-7be50bd1.0":"2022-06-22T17:48:43.201Z","0.15.3":"2022-06-23T12:03:25.343Z","0.15.4-00bd3dd0.0":"2022-06-24T09:30:55.140Z","0.15.4":"2022-06-24T10:25:32.135Z","0.15.5-a05695fc.0":"2022-07-20T13:22:25.578Z","0.15.5-39dbf708.0":"2022-08-17T21:43:02.157Z","0.15.5-8f351a89.0":"2022-08-17T23:18:54.657Z","0.15.5-83f9882e.0":"2022-09-06T11:30:38.068Z","0.15.5-051da161.0":"2022-09-07T12:55:33.761Z","0.16.0":"2022-09-07T13:38:00.982Z","0.16.1-b5456882.0":"2022-09-16T09:24:19.102Z","0.16.1-7c676f63.0":"2022-09-21T19:16:28.525Z","0.16.1-2a830bf5.0":"2022-09-21T20:54:06.667Z","0.16.1-7304a0f4.0":"2022-09-21T20:54:48.703Z","0.16.1":"2022-09-21T21:55:01.247Z","0.16.2-d75e0a39.0":"2022-09-22T08:52:14.151Z","0.16.2-d1b0a8a7.0":"2022-09-22T10:41:50.730Z","0.16.2-acbc1c62.0":"2022-09-22T12:59:55.793Z","0.16.2-dfc43d4e.0":"2022-09-26T14:20:24.487Z","0.16.2-0cee4a4c.0":"2022-10-24T09:13:29.873Z","0.17.0":"2022-10-24T10:47:31.479Z","0.17.1-a77e40cc.0":"2022-10-25T07:11:30.537Z","0.17.1-58e6f468.0":"2022-10-25T08:15:44.744Z","0.17.1-6ae5eb7d.0":"2022-10-28T07:29:52.376Z","0.17.1-6be59068.0":"2022-11-17T19:47:57.143Z","0.0.1-563806f1.0":"2023-01-09T18:11:15.171Z","0.0.1-e85e5b6e.0":"2023-01-09T19:16:07.409Z","0.0.1-2a6fede5.0":"2023-01-10T09:35:56.454Z","0.17.0-5f73ecad":"2023-01-10T17:14:53.462Z","0.17.0-4b4c124c":"2023-01-11T16:06:11.037Z","0.17.0-789ee585":"2023-01-11T17:05:49.996Z","0.17.0-fa578bac":"2023-01-11T17:50:36.884Z","0.17.0-d1c3abb3":"2023-01-11T18:09:12.807Z","0.18.0":"2023-01-12T11:36:50.252Z","0.18.0-6eeb1be5":"2023-01-13T18:20:52.554Z","0.18.0-ab02e8f8":"2023-01-17T12:24:29.119Z","0.18.0-3bcabe38":"2023-01-17T15:31:40.518Z","0.18.0-b64d4af0":"2023-02-01T11:24:38.359Z","0.18.0-e64813f6":"2023-05-24T18:46:03.467Z","0.18.0-4694e806":"2023-05-25T11:32:01.850Z","0.18.0-6d95ce08":"2023-05-25T12:10:54.523Z","0.18.0-7b79c1b8":"2023-05-25T12:46:36.868Z","0.18.1":"2023-05-25T14:59:58.892Z"},"maintainers":[{"email":"alex@achingbrain.net","name":"achingbrain"},{"email":"npm-service-account+ipfs@protocol.ai","name":"npm-service-account-ipfs"}],"license":"Apache-2.0 OR MIT","readme":"> # ⛔️ DEPRECATED: [js-IPFS](https://github.com/ipfs/js-ipfs) has been superseded by [Helia](https://github.com/ipfs/helia)\n>\n> 📚 [Learn more about this deprecation](https://github.com/ipfs/js-ipfs/issues/4336) or [how to migrate](https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS)\n>\n> ⚠️ If you continue using this repo, please note that security fixes will not be provided\n\n# ipfs-core <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> JavaScript implementation of the IPFS specification\n\n## Table of contents <!-- omit in toc -->\n\n- - [Install](#install)\n    - [Browser `<script>` tag](#browser-script-tag)\n- [ipfs-core <!-- omit in toc -->](#ipfs-core----omit-in-toc---)\n  - [Getting Started](#getting-started)\n  - [Next Steps](#next-steps)\n    - [Browser CDN](#browser-cdn)\n    - [Browser bundle](#browser-bundle)\n  - [Want to hack on IPFS?](#want-to-hack-on-ipfs)\n  - [License](#license)\n  - [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-core\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsCore` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-core/dist/index.min.js\"></script>\n```\n\n<p align=\"center\">\n<a href=\"https://js.ipfs.io\" title=\"JS IPFS\">\n  <img src=\"https://ipfs.io/ipfs/Qme6KJdKcp85TYbLxuLV7oQzMiLremD7HMoXLZEmgo6Rnh/js-ipfs-sticker.png\" alt=\"IPFS in JavaScript logo\" width=\"244\" />\n</a>\n</p>\n\n<h3 align=\"center\">The JavaScript implementation of the IPFS protocol</h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core\"><img src=\"https://img.shields.io/badge/interface--ipfs--core-API%20Docs-blue.svg\"></a>\n<a href=\"https://travis-ci.com/ipfs/js-ipfs?branch=master\"><img src=\"https://badgen.net/travis/ipfs/js-ipfs?branch=master\" /></a>\n<a href=\"https://codecov.io/gh/ipfs/js-ipfs\"><img src=\"https://badgen.net/codecov/c/github/ipfs/js-ipfs\" /></a>\n<a href=\"https://bundlephobia.com/result?p=ipfs\"><img src=\"https://badgen.net/bundlephobia/minzip/ipfs\"></a>\n<a href=\"https://david-dm.org/ipfs/js-ipfs?path=packages/ipfs-core\"><img src=\"https://david-dm.org/ipfs/js-ipfs.svg?style=flat&path=packages/ipfs-core\" /></a>\n<a href=\"https://github.com/feross/standard\"><img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat\" /></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat\" /></a>\n<a href=\"https://www.npmjs.com/package/ipfs\"><img src=\"https://img.shields.io/npm/dm/ipfs.svg\" /></a>\n<a href=\"https://www.jsdelivr.com/package/npm/ipfs\"><img src=\"https://data.jsdelivr.com/v1/package/npm/ipfs/badge\"/></a>\n<br>\n</p>\n\n# ipfs-core <!-- omit in toc -->\n\n`ipfs-core` is the implementation of the IPFS Core API written in JavaScript without depending on other languages/implementations. It contains all you need to integrate IPFS into your application.\n\nIf you want to run IPFS as a standalone daemon process, see the [ipfs](https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs) module.\n\n## Getting Started\n\nThe `ipfs-core` package contains all the features of `ipfs` but in a lighter package without the CLI or HTTP servers:\n\n```console\n$ npm install ipfs-core\n```\n\nThen start a node in your app:\n\n```javascript\nimport * as IPFS from 'ipfs-core'\n\nconst ipfs = await IPFS.create()\nconst { cid } = await ipfs.add('Hello world')\nconsole.info(cid)\n// QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf\n```\n\n## Next Steps\n\n- Look into the [js-ipfs-examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser\n- Read the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node\n- Head over to <https://proto.school> to take interactive tutorials that cover core IPFS APIs\n- Check out <https://docs.ipfs.io> for tips, how-tos and more\n- See <https://blog.ipfs.io> for news and more\n- Need help? Please ask 'How do I?' questions on <https://discuss.ipfs.io>\n\n### Browser CDN\n\nYou can load IPFS right in your browser by adding the following to your page using the super fast [jsdelivr](https://www.jsdelivr.com) CDN:\n\n```html\n<!-- loading the minified version using jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n\n<!-- loading the human-readable (not minified) version jsDelivr -->\n<script src=\"https://cdn.jsdelivr.net/npm/ipfs-core/dist/index.min.js\"></script>\n```\n\nInserting one of the above lines will make an `IpfsCore` object available in the global namespace:\n\n```html\n<script>\nasync function main () {\nconst node = await window.IpfsCore.create()\n// Ready to use!\n// See https://github.com/ipfs/js-ipfs#core-api\n}\nmain()\n</script>\n```\n\n### Browser bundle\n\nLearn how to bundle IPFS into your application with webpack, parceljs and browserify in the [examples](https://github.com/ipfs/js-ipfs/tree/master/examples).\n\n## Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\nThe IPFS implementation in JavaScript needs your help!  There are a few things you can do right now to help out:\n\nRead the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).\n\n- **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge\n- **Perform code reviews** More eyes will help\n  a. speed the project along\n  b. ensure quality, and\n  c. reduce possible future bugs.\n- **Add tests**. There can never be enough tests.\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n","readmeFilename":"README.md","description":"JavaScript implementation of the IPFS specification","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-core#readme","keywords":["IPFS"],"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"}}