在过去的几个月中,我们付出了很大的精力对JavaScript库进行一些重大改进,目标是使代码库更易于维护,并使其对开发者更加友好。因此,不仅我们,社区的任何人都可以轻松的进行更改和添加新代码。
现在,我们发布了新JavaScript库的beta版本 ——IOTA.JS v1.0.0 beta。更多详细信息,请参阅发布页面。
新增内容和改进
新版JavaScript库现在命名为iota.js,我们对原来的iota.lib.js进行了完全的重写,将其移植到TypeScript。所有内容都已重构为模块,并发布在npm的@iota页面中。请务必亲自尝试并在IOTA Discord的#javascript频道给我们提供反馈。
我们还为原来的iota.lib.js制作了一个最新版本(现在版本为0.5.0),并进行了一些重大改进。从现在开始,所有新的开发都将在新的TypeScript库中进行,只有重要的bug修复会在iota.lib.js中进行。
新npm包
包 | 描述 |
---|---|
@iota/bundle-validator | 语法结构上验证bundle结构和签名。 |
@iota/bundle | 用于生成和签名bundle的实用程序。 |
@iota/checksum | 添加,删除和验证校验和。 |
@iota/converter | 将ascii,values和trytes转换为trits和back的方法。 |
@iota/core | 与IOTA网络交互的核心功能:生成地址,创建,广播和监控交易。 |
@iota/curl | Curl海绵函数。 |
@iota/extract-json | 从签名消息片段中提取JSON编码的消息。 |
@iota/http-client | 通过HTTP向IRI发送命令。 |
@iota/kerl | 与IOTA相关的加密方法。 |
@iota/multisig | 生成多重签名地址和联名签署交易的方法。 |
@iota/pad | 填充工具。 |
@iota/samples | 用于测试IOTA模块的样本集合。 |
@iota/signing | IOTA签名方案。 |
@iota/transaction-converter | 将交易trytes转换为交易对象并返回。 |
@iota/transaction | 交易的实用程序和验证器。 |
@iota/unit-converter | 在不同的IOTA单位之间转换值。 |
@iota/validators | 保护器和验证器的集合,在IOTA开发中非常有用。 |
新增方法/问题修复
- 获取API访问权限:
const iota = core.composeAPI({ provider: 'http://localhost: 14265' })
prepareTransfers
离线工作checkConsistency
相当于iota.lib.js
的isPromotable
isPromotable
对低于最大深度的交易进行额外检查generateAddress
用于确定性的地址生成asTransactionTrytes/Object
(相比于transactionTrytes/Object
来说,这是一个更好的命名)asTransactionTrytes
接受trytes字符串或trytes数组- 修复了扩展的ascii的转换问题(#243)
- 修复
extractJson
不符合JSON规范的问题(#231)
弃用方法/字段
不再推荐使用以下方法和字段,并将在v2.0.0版本中将它们删除:
getBundlesFromAddresses
isReattachable
getTransfers
getNewAddress
的选项total
,returnAll
和checksum
getAccountData
返回的对象字段transfers
接下来的工作
我们的下一个目标是将iota.js的开发从1.0.0-beta推进到1.0.0。基于此,我们也想邀请我们的社区来协助我们的开发。我们相信对代码库进行更改比以往任何时候都要容易。
我们想要为1.0.0实现的一些改进:
- 持久存储接口和缓存
- 使用FlatBuffers实现更轻型的HTTP API
- 使用Entangled C客户端的本地代码来改进性能
- 以及更多!
请务必加入IOTA Discord的#javascript进行讨论。
非常感谢Chris Dukakis为这个项目付出的所有努力,也感谢社区在项目开发过程中的所有投入!
原文链接:https://blog.iota.org/beta-version-of-our-new-javascript-library-iota-js-out-now-cd9bc9e2e1c1