nasa.js
v0.2.1
Published
Lightweight and friendly util library for DApp development on Nebulas Blockchain.
Downloads
8
Readme
Nasa.js
Lightweight and friendly util library for DApp development on Nebulas Blockchain.
星云链 DApp 客户端开发框架,轻量,易用。
使用说明
安装
可以使用 npm 安装:
$ npm install nasa.js
也可以在页面中直接加载 CDN 版本:
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/nasa.min.js"></script>
文档
价值是什么?
星云官方 JS SDK(neb.js 和 nebPay)功能完备,我为什么还要使用 Nasa.js?
平衡:Nasa.js 追求 “体积” 与 “功能” 之间的最佳平衡——用小巧的体积覆盖 90% 的 DApp 功能需求,满足你对网页性能的极致追求。
友好:专为 Web 前端工程师设计,把常见场景封装为高层 API,符合你的直觉和开发习惯。
功 能 | neb.js完整版 | neb.js基础版 | nebPay | Nasa.js ---|---|---|---|--- 完整对接星云 HTTP 接口 | ✓ | 部署合约 | ✓ | 向指定地址转账 | ✓ | | ✓ [1] | ✓ [1] [2] 调用合约(写入数据) | ✓ | | ✓ [1] | ✓ [1] 调用合约(查询数据) | ✓ | ✓ | | ✓ 查询交易结果(通过 txHash) | ✓ | ✓ | | 查询交易结果(通过交易流水号) | | | ✓ | ✓ 手机页面唤起手机钱包 [4] | | | ✓ | ✓ 手机钱包扫码交易 | | | ✓ | ✓ [2] 获取当前用户钱包地址 | | | | ✓ [5] 管理合约地址与当前环境 | | | | ✓ 分析当前浏览器环境 | | | | ✓ 常用工具方法 [6] | | | | ✓ | | 文件体积 [9] | 155 KiB | 9.7 KiB | 21 KiB| < 30 KiB
- [1] 此功能通过唤起 “星云钱包 Chrome 扩展” 或 “星云手机钱包 App” 来实现。
- [2] Nasa.js 暂未直接实现此功能。但由于 Nasa.js 打包了完整的 nebPay,开发者目前需要直接使用 nebPay 来实现此功能。
- [4] 在手机浏览器(iOS Safari 或 Android Chrome 等)中调用 “星云手机钱包 App” 完成交易。
- [5] 此功能依赖 “星云钱包 Chrome 扩展” 实现。
- [6] 包括合约管理、判断地址/TxHash/交易流水号是否合法等工具方法。
- [9] 包含所有外部依赖的 dist 文件在 min + Gzip 之后的体积。
谁在用?
||||| :---:|:---:|:---:|:---:| 星云水浒🏆 星云激励计划周亚军 | 星云链定时器🌟 星云激励计划优秀奖 | 星云 Wiki🌟 星云激励计划优秀奖 | Nasa.js Demo💡 星云激励计划新应用奖 || 表白墙斯密达💡 星云激励计划新应用奖 | 我是预言帝💡 星云激励计划新应用奖
常见问题
Nasa.js 到底是 “library” 还是 “框架”?
Nasa.js 提供了丰富的 API,你可以把它当作库来用,只在你需要的时候调用某几个 API。你也可以让它帮你管理合约地址和当前环境,此时 Nasa.js 将为你提供更多便利,就像一个框架那样。
未来,Nasa.js 将为常见开发场景提供更完整的解决方案,成为一个更加称职的开发框架。
Nasa.js 可以独立使用吗?需要同时加载其它依赖吗?
Nasa.js 的 dist 文件已经把所有外部依赖都打包进来了,因此可以独立使用。
我的 DApp 已经加载了 neb.js 和 nebPay 了,可以同时使用 Nasa.js 吗?
在同一页面中同时加载这三者,并不会发生冲突,但这样对网页性能并没有好处。优化建议如下:
如果你的 DApp 加载 neb.js 只是为了向合约查询数据,则建议把相关代码迁移到 Nasa.js。这样你的 DApp 就不需要加载 neb.js 了。
由于 Nasa.js 本身已经打包了 nebPay 的源码,因此你不需要重复加载 nebPay。使用
Nasa.nebPay
即可以取代你代码中的nebPay
实例,详情参见 此文档。
我需要的某个功能 Nasa.js 还不支持,怎么办?
来给 Nasa.js 提 issue 吧!
参与开发
社区
微信群
有任何关于 Nasa.js 的疑问,欢迎加群讨论!请加群主微信号 130-5994-1270
,群主会拉你入群。
活动
贡献者
姓名 | 贡献 [*] | 备注 :---:|---|--- @cssmagic | 💻 🚇 ⚠️ 📖 ✅ ... | 创始人 @newraina | 💻 🚇 👀 🤔 | 开发团队成员 @salmonx(风) | 🐛 @smallke(夏日小可) | 🐛 希望之石 | 🤔 @Heasn |🤔 bokehlicia | 🎨 | Logo 图片作者
[*] These legends follow the emoji-key of "all-contributors" specification. Contributions of any kind are welcome!
Thanks
Nasa.js is based on these open source projects:
Nasa.js team is using JetBrains IDE (WebStorm) with Open Source License: