如何定义一个Blocklet基石程序

什么是 blocklet?
blocklet(基石程序) 是供开发者和社区用户在arcblock平台上创建事物的可重用构建模块。简单来说,blocklet 可以是任何现成的组件、模块、库、前端视图或其他简化构建 dapp(去中心化应用)过程的工具。您选择一个 blocklet 后,就可以安装、启动并运行该 blocklet。除了使用单一的 blocklet, 用户也可以将多个blocklet组合在一起,用于构建更复杂的 dapp。
对于不同的应用场景,我们提供了不同的 blocklet,包括但不限于:
•入门模板:开发者可以在几分钟内启动一个已经连接到 forge 支持的区块链的 dapp;
•功能齐全的 dapp:矿工或社区用户可以即刻安装、启动和运行;
•智能合约:已具备相关业务逻辑的链上管道,可以被一键部署到 forge 链上;
•web 组件或服务:支持 abt 区块链节点
•azure,aws 或其他支持云计算平台的示例
•以及更多
blocklet 会以三种版本发布:官方、合作伙伴、社区版本。
什么是 blocklet 列表?
为了方便开发者快速找到需要的 blocklet,arcblock 或社区发布的 blocklet 都会被罗列在blocklet.arcblock.io[1]。这个列表是从 arcblock/blocklets[2] 生成的, 用户可以搜索并查看已发布的 blocklet,只需简单一条命令就可以运行选中的 blocklet, 这个网站就是 blocklet 列表。
如何定义一个 blocklet?
一个 blocklet 需要以下关键信息:
❯ tree 。 -l 2

├── screenshots
│ ├── image1.png
│ ├── image2.jpg
│ └── image3.png
├── blocklet.md
├── blocklet.json
└── logo.svg
关键信息: blocklet.json
这是定义一个 blocklet 的关键文件,包含以下域:
{
// brief introduction to the blocklet
“description”: “a dapp starter that integrates forge-javascript-sdk and create-react-app”,
// specify the logo file of the blocklet
“logo”: “logo.svg”,
// can be starter|dapp|contract
“group”: “starter”,
// can be primary|secondary|error
“color”: “primary”,
// provider information
“provider”: “arcblock”,
“documentation”: “https://docs.arcblock.io”,
“support”: “support@arcblock.io”,
“community”: “https://gitter.im/arcblock/cummonity”,
// charge settings
“charging”: {
“price”: 10,
“receiver”: “z1en6dudvmqsp1p2zg1r8ddbzoypnzw46t1”,
},
// can the blocklet be used with another blocklet?
“composable”: false,
// following fields can be inherited from package.json
“name”: “forge-react-starter”,
“version”: “0.37.0”,
“author”: “wangshijun 《shijun@arcblock.io》 https://github.com/wangshijun”,
“keywords”: [“arcblock”, “forge”, “starter”, “react”, “javascript”],
“homepage”: “https://github.com/arcblock/forge-dapp-starters/tree/master/packages/forge-react-starter”,
“repository”: {
“type”: “git”,
“url”: “https://github.com/arcblock/forge-dapp-starters/tree/master/packages/forge-react-starter”
},
// customize the install pipeline of the blocklet
“hooks”: {
“pre-copy”: “”,
“post-copy”: “”,
“configure”: “”,
“complete”: “”
},
“install-scripts”: {
“dependency”: “”
}
}
关键信息: blocklet.md
blocklet 应该包括一个详细的介绍。为了方便 blocklet 的未来用户快速上手,介绍中应回答以下几个问题,:
•blocklet 安装之后可以做什么?虽然用户可以从 blocklet 所属的群组推断一二,但几句更详细的描述会让用户理解更清晰。
•使用 blocklet 有什么要求?包括硬件、软件、开发者的经验和技能。
•用户使用 blocklet 的过程中可能遇到什么问题?如何解决?
关键信息: logo.png
blocklet 的详细介绍会展示 blocklet 的标识,标识应该是一张 200px x 200px 背景透明的图片,最好是 png 格式的图片。
关键信息: screenshots
屏幕截屏文件夹应包括几张使用 blocklet 的截屏,帮助用户快速理解这个 blocklet 的作用和初衷。
其他信息
包括在过程中需要运行的脚本。
元信息解析
为了避免package.json中有重复的域,有些域可以不在blocklet.json中再次定义,提交后这些域会被自动合并。
如何新建一个 blocklet?
forge-cli将会支持使用forge blocklet:create来新建一个 blocklet:
•如何新建一个新手 blocklet?
•如何新建一个 dapp blocklet?
•如何新建一个合约 blocklet?
如何发布一个 blocklet?
1.新建一个 blocklet 并确保其正常运行
2.fork 这个仓库
3.把你的仓库地址加入 registry.yml
4.在这个仓库中发一个 pull request
5.一旦你的 pull request 被合并,你的 blocklet 就会出现在官方列表中
references
[1] blocklet.arcblock.io: https://blocklet.arcblock.io
[2] arcblock/blocklets: https://github.com/arcblock/blocklets
来源: arcblock区块基石

带电压保护的LDO追踪电路
Orcad Capture元件如何快速的重新编号
DigiKey新品Omron EMC B5W-LB聚光反射式传感器介绍
华为Nova 8SE手机有什么特别之处?
Intel CPU第8代Core i处理器G系列 确定明年1月底停产
如何定义一个Blocklet基石程序
中国公司5G专利占全球34% 华为一家占到20%居世界第一
如何提升示波器波形质量 三种波形算法的应用
雷蛇发布战锤狂鲨专业版真无线降噪耳机
RSocket的定义及四种通讯模式
单相电机发热的原因有哪些
持续10小时 宇立六轴力传感器通过核辐射试验认证
前天才公测的flyme6新增的六大功能,哪个是你的最爱?
卓振物联网策略助力机房监控与农业物联网的智慧升级
Mini/Micro LED开始进入高端场合
高速PCB设计技巧有哪些
C语言有哪些预处理操作?
通过动图看懂三极管的工作过程
造成接线端子高温现象的因素都有哪些
基于具有Arduino Leonardo的树莓派扩展板的介绍