EOSJS 是帮助应用程序前端连接 EOSIO 区块链的开源库。为支持 EOSJS 的广泛应用,EOSJS 最新测试版本 EOSJS 21.0.0-rc1 现已上线,社区可进行测试。此版本进行了多项更改及引入新功能,包括:支持 WebAuth、支持上下文无关的操作、支持转换功能,在 eosjs-ecc 和椭圆加密算法库之间轻松切换。
作为测试版,我们鼓励 EOSIO 开发者社区针对 EOSJS 21.0.0-rc1 进行测试,以帮助完善形成稳定版本。
EOSIO 应用程序的 WebAuthn 安全性
EOSJS 21.0 -rc1 实现了对 WebAuthn的支持。EOSIO 是第一个支持 WebAuthn 的区块链平台,用户可以使用 YubiKey 或 Macbook TouchID 等硬件**进行双因子验证(2FA),对高风险交易进行保护。
想要在 EOSIO 应用程序中集成 WebAuthn 的开发者可以参考 WebAuthn 示例应用程序,在 EOSJS 21.0.0 的稳定版本正式发布前,此测试版本将支持 WebAuthn 示例应用程序。
切换至椭圆加密算法库
EOSJS 21.0.0-rc1 支持 eosjs-ecc 和椭圆加密算法库之间的切换。**与签名在椭圆加密算法库中以不同方式存储。为了能够适应这种变化,方便开发者操作,我们添加了转换函数。最终 eosjs-ecc 将被弃用,转换函数是对现有代码的重构,因此切换并不会影响 API。
支持上下文无关的操作
上下文无关的操作只考虑交易数据。比如,上下文无关的操作仅从交易数据和签名出发,生成私钥,而不依赖区块链状态。与签名验证相似,EOSJS 的上下文无关操作最终将能实现并行处理,为使用 EOSJS 的应用提供签名验证。
其他功能
EOSJS 21.0.0-rc1 还支持以下功能:
添加 get_scheduled_transactions to jsonrpc
添加 context-free data 支持
执行 tapos check 补丁
添加 send_transaction JSON RPC 支持
调整 endpoint with regex
添加 webhook for metrics collection
修复文档中无效的 json 示例错误
以 get_block_header_state 替代 get_block
将 mixin-deep 从 1.3.1 升级到 1.3.2
为 block header fallback 引入 API 更改
更新 README.md
对用户的影响
更新后,用户可使用 YubiKey 等硬件**,作为2FA设备在EOSIO的应用中进行链上交易。
对开发者的影响
EOSJS 21.0.0-rc1 支持 WebAuthn 示例应用,基于 EOSIO 开发的应用可使用支持硬件**的 2FA 实现更加安全的区块链交易。
通过上下文无关的操作,实现并行处理,提高操作效率。
实现在 eosjs-ecc 和椭圆加密算法库之间的轻松切换。
请针对 EOSJS 21.0.0-rc1 进行测试并提供相关反馈,共同助力稳定版本的发布。
与以前的 EOSJS 更新相同,当 EOSJS 21.0 -rc1 升级到稳定版本时,我们将继续提供相关功能的说明及解释。