[email protected]已经从 launchpad 起步,并且正在被传送到您的 node_modules 文件夹,它支持 TypeScript、自定义 DAG 格式和一种新的、更轻便的模块使用方式。 类型TypeScript 已经席卷了 JS 世界,它允许开发者在他们编码的界面不是他们期望的时候得到提醒,并支持大量有用的工具,比如精确的代码完成和内联文档查看。 已经有几个社区领导了为js-IPFS提供类型信息的工作,但是由于项目进展如此之快,要保持与每个版本中出现的变化的兼容性是一项艰巨的任务。 在[email protected]中,类型现在是代码库中的一等公民。这个项目还没有转换成 TypeScript,我们不希望 TypeScript 知识成为贡献js-IPFS开发的先决条件,相反,所有类型都是使用 JSDoc 注释定义的,并在开发和持续集成期间构建和验证。 所有的新代码都需要有类型,所以为了帮助贡献者,aegir 最近为 JSDoc 注释添加了更严格的 linting,我们还在js-IPFS中添加了 typecheck github 动作,这样任何错误或缺少的类型都很容易在 PR 中发现。 过时的安全传输 SECIO 最终在[email protected]中被删除。它的继任者 Noise 最初是在[email protected]中发布的,现在是 libp2p 使用的默认安全传输。 [email protected]最近也删除了 SECIO 支持,因为[email protected]中引入了 Noise,这意味着[email protected]和[email protected]只能与运行[email protected]或[email protected]或更高版本的其他节点通信。 如果您正在运行 IPFS 节点与各种各样的版本需要升级它们[email protected]和[email protected]至少,否则你将会失去连通性与其它网络 SECIO 不再是得到同行的支持。 自定义 DAG格式IPFS 的核心是文件,这意味着 UnixFS,而 IPLD 格式则意味着 dag-pb和ipld-raw。 IPFS 使您可以访问所有底层组件,从而允许您使用 dag-cbor 将数据结构连接在一起,并使它们可以通过 libp2p 在 Internet 上进行访问和分发。 但是,如果这些编解码器不符合您的要求,又想开发新的编解码器或使用不太常见的编解码器(如dag-jose)怎么办? 我们并没有将每个可用的编解码器与默认的js-IPFS安装捆绑在一起,因为其中一些会引入很大的依赖树,这将不必要地降低不打算使用它们的人的安装速度。 以前,您可以将自定义 IPLD 格式与ipfs-http-client一起使用,也可以在将IPFS作为应用程序的一部分作为进程内节点运行时使用,但现在您也可以在运行的守护进程中使用它们。 有关如何设置它的更多信息,请参阅js-IPFSrepo 中的新的 custom-ipld-formats 示例。 提供新的更轻便的 IPFS当您使用npm install ipfs时,您将获得核心 ipfs 节点以及用于运行守护进程、HTTP API 服务器和CLI的工具。如果您是在命令行上全局安装它,以便与 IPFS 桌面一起使用,或者只是为了让一个节点在网络上运行,那么这非常好,因为您希望额外的工具能够与您的节点通信。 安装这些工具需要时间,并且会占用硬盘空间,如果您在 js-IPFS 上构建应用程序,则不一定需要它们。 现在可以通过npm install ipfs-core来获得运行进程内节点所需的 IPFS 堆栈部分。由于没有安装所有不需要的额外依赖项,这使得js-IPFS的安装大小减少了一半。 你可以像以前一样使用这个模块,你所需要做的就是更改依赖项名称/版本和更新要求名称: const IPFS = require('ipfs')asyncfunction () { const node = await IPFS.create() node.add(...) await node.stop()} 对此: const IPFS = require('ipfs-core')asyncfunction () { const node = await IPFS.create() node.add(...) await node.stop()} 一切就绪!这是尝试使代码库更加模块化,并允许交换组件,并且可能不会一直提取所有内容,从而使高级用户可以创建仅包含所需功能的最小节点。 默认情况下 CORS 是禁用的跨源资源共享是一种浏览器安全措施,可以防止运行在 web 上被破坏的站点上的恶意 JavaScript 对 api 的未经授权访问。 在0.51.0之前的js-IPFS版本有一个非常宽松的 CORS 设置,允许来自任何地方的请求,尽管这使得针对 API 的开发非常简单,但在安全性方面还有一些不足之处。 从0.51.0开始,CORS 在默认情况下是禁用的,所以如果您计划对 HTTP RPC API 进行请求,那么在启动它之前,您需要将相关的来源和您将使用的方法添加到节点配置中。 有关完整的概述,请参见自述文件的 CORS 部分。 新功能类型检查并从 jsdoc(#3281)(bbcaf34)生成 defs 启用 dag put 和 get 的自定义格式(#3347)(3250ff4) 支持 Node.js 15(#3339)(66f2081) 在 message-port-client 上实现 ipfs.ls(#3322)(f642f1d) webui v2.11.4(#3317)(7f32f7f) 突发的变化对 SECIO 的支持已经被删除(#3295)(5f5ef7e) 默认禁用 CORS(#3275)(3ff833d) 从 ipfs-core(#3348)删除缓冲区导出(5cc6dfe) Bug 修复文件 ls 应该返回字符串(#3352)(16ecc74) 修复了“interface-ipfs-core”链接(#3334)(3e7e222) 尝试导出未定义的缓冲区(#3312)(5cc6dfe) HTTP 客户端工厂:React Navtive 中的无效 URL(#3331)(4eb196c) 在 cli pin add/rm(#3306)中触发无效版本错误(69757f3) 在 worker 中加载 ipfs-js 包失败,ReferenceError:窗口未定义(#2349)(3f72e50) 接下来是什么?查看 js-IPFS 项目路线图,其中包含按我们希望的顺序组织的主要特性。 路线图中只有大的特性被调用,预计在路线图项之间会有很多小的 bug 修复发布! 非常感谢所有能够发布此版本的人@achingbrain(52次提交,33个PR,2个问题,78条评论) @ acolytec3(1次提交,1个PR) @acostalima(2个问题,5条评论) @adamprocter(1个问题,1条评论) @andrew(1条评论) @aphelionz(1个问题,3条评论) @aschmahmann(1条评论) @AuHau(2个问题,4评论) @autonome(1个问题,1条评论) @bconnorwhite(1次提交,1个PR) @bellbind(1个问题,1条评论) @BlackGlory(1条评论) @bluelovers(1次提交,1个PR,3条评论) @chafey(2个问题,1条评论) @chebyte(2条评论) @cindywu(1次提交,1个PR) @ codecov-commenter(2条评论) @ codecov-io(1条评论) @ conr2d(1次提交,1个PR) @daviddias(1条评论) @ DougAnderson444(1条评论) @ duc811997(1个问题) @EthanTheMaster(1次提交,1个PR,1条评论) @gcohler(1个PR,1个问题,2条评论) @georgyo(2个问题) @Gozala(12次提交,15个PR,6个问题,33条评论) @hugomrdias(1条评论) @icidasset(3条评论) @imestin(1次提交,1个PR,1个问题,3条评论) @jacobheun(20次提交,6个PR,4个问题,29条评论) @jakehemmerle(1条评论) @Jonybang(1个问题,1评论) @kottackalsulvin(3个问题,9评论) @lidel(2次提交,3个PR,7条评论) @mburns(1条PR,3条评论) @mcclure(3问题,3评论) @ mh-cbon(2问题,1条评论) @mikeal(1次提交,1个问题,5条评论) @mpetrunic(7次提交,1个PR,1条评论) @negamaxi(2条评论) @ obo20(1条评论) @oed(1个问题,1条评论) @olizilla(1个问题) @onichandame(1问题,3评论) @pepoospina(3条评论) @ rafaelramalho19(1个问题) @RobertFischer(1条评论) @rvagg(5条评论) @rysiekpl(3条评论) @ simonovic86(2个PR,1个问题,7条评论) @stale(9条评论) @StationedInTheField(1个问题,3条评论) @straiforos(1个问题,2条评论) @tabcat(1次提交,1个问题,6条评论) @Tcll(1个问题,4评论) @tniessen(1条评论) @tuyennhv(3次提交,3个PR,1条评论) @ubernaut(1个问题,1条评论) @ vasco-santos(30提交,25 PR,6个问题,42评论) @vmx(11次提交,1个PR,8条评论) @Weedshaker(1条评论) @welcome(17条评论) @wemeetagain(4次提交,1个PR,4条评论) @woss(6条评论) @Xmader(1次提交,1个PR,1条评论) @ Xplorer123(1个问题) @ yfs-2000(1个问题,1条评论) @zebateira(1条评论) @zoernert(1次提交,1个PR,1条评论) 想贡献?你是否愿意为 IPFS 项目做贡献,但又不知道如何做?嗯,有几个地方你可以开始: 检查 js-IPFS 存储库中help wanted标签的问题 加入 IPFS 全员大会,介绍你自己并让我们知道你想在哪里做出贡献:https://github.com/ipfs/teammgmt/#weekly-ipfs-all-Hands 用 IPFS 破解并向我们展示您的成就!All Hands 呼叫也是进行演示的理想场所,请加入并向我们展示您创建的内容 通过 https://discuss.ipfs.io/加入讨论,并帮助用户找到答案。 加入 ipfs 核心实现每周同步,成为行动的一部分! 你有问题吗?关于 IPFS 的问题、它是如何工作的,以及您可以用它做些什么,最好的地方是在 discuss.ipfs.io。 我们也可以在#ipfsFreenode 上的频道上找到。 End 非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。 FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用公众号:filcloud —- 编译者/作者:FilCloud 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
IPFS技术进展:js-IPFS 0.51.0添加了类型定义并删除了SECIO
2020-11-24 FilCloud 来源:区块链网络
LOADING...
相关阅读:
- Filecoin Slingshot赛道第一阶段精彩回顾2020-11-24
- Slingshot第二阶段细则公布,奖励高达500,000 FIL2020-11-24
- HashQuark首期将搭建1000个以太坊2.0验证节点2020-11-24
- Crust 网络继承Web3.0的概念治理,促使网络价值和利益更加的“激励相容2020-11-24
- Crust Network 与京湘豫等地区块链名企、投资人考察广西区块链科创园2020-11-24