什么是 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區塊基石
評論
查看更多