跳到主要內容

ArcBlock Blocklet 介紹

ArcBlock
ArcBlockBlockchainBlockletForgeForge Framework

什麼是 Blocklet?

Blocklet 是可重複使用的建構模組,可協助開發者與社群使用者在 ArcBlock 平台上建構應用。最簡單地說,Blocklet 是現成的元件與模組、程式庫、前端檢視等,讓開發者能非常容易地開始建構 dApp。只要選擇所需的 Blocklet 並立即安裝,就能開始使用。Blocklet 的重要特色之一,是可以輕鬆組合多個 Blocklet,建構更複雜的應用程式或 dApp。

Blocklet 會依使用情境提供不同套件,包括但不限於:

  • 入門範本,讓開發者能在幾分鐘內啟動已連接 Forge 驅動區塊鏈的 dApp;
  • 功能完整的 dApp,礦工或社群使用者安裝後即可快速執行;
  • 智慧合約,用於定義商業邏輯的鏈上流程,並可一鍵部署到 Forge 驅動的鏈;
  • 支援 ABT Blockchain Node 的 Web 元件或服務
  • 適用於 Azure、AWS 或其他雲端環境的範例
  • 以及更多

Blocklet 初期將提供三種類型:官方版、合作夥伴版與社群版。

什麼是 Blocklet Registry?

為了協助開發者更容易找到可用的 Blocklet,ArcBlock 與社群開發者建構的所有 Blocklet 都會列在 Blocklet.arcblock.io。此網站以 ArcBlock/blocklets 建構,使用者可以搜尋及檢視列出的 Blocklet,並只用一個指令即可使用。這個網站稱為 Blocklet Registry。

如何定義 Blocklet?

建立 Blocklet 需要幾項關鍵資訊:

❯ tree . -L 2
.
├── screenshots
│   ├── image1.png
│   ├── image2.jpg
│   └── image3.png
├── blocklet.md
├── blocklet.json
└── logo.svg

關鍵資訊:blocklet.json

這是定義 Blocklet 的關鍵檔案,可包含下列欄位:

javascript
{
  // 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 時可能遇到哪些問題?該如何解決?

關鍵資訊:logo.png

Blocklet 的標誌可以是任何有效的圖片格式,建議使用 PNG。它會顯示在 Blocklet 詳細資料頁面上,應為 200px x 200px 的透明圖片。

關鍵資訊:screenshots

screenshots 資料夾應包含數張 Blocklet 輸出結果的圖片,讓使用者能輕鬆掌握 Blocklet 的概念。

其他資訊

包括在處理過程中執行的指令碼。

中繼資訊解析

為避免與 package.json 中定義的欄位重複,可從 blocklet.json 省略部分欄位,建構流程會自動合併這些欄位。

如何建立 Blocklet?

使用 forge blocklet:create 初始化 Blocklet 設定;forge-cli 即將支援此功能。

  • 如何建立入門 Blocklet?
  • 如何建立 dApp Blocklet?
  • 如何建立合約 Blocklet?

如何發布 Blocklet?

  1. 建立 Blocklet 並確認其運作正常
  2. Fork 此儲存庫
  3. 修改 registry.yml 以納入你的儲存庫
  4. 向此儲存庫提交 pull request
  5. pull request 獲接受並合併後,你的 Blocklet 就會列入官方 Registry

本頁涉及

產品

  • Forge sunset

    一套用來建造鏈上應用的 SDK 和工具鏈,不必分別拼裝節點、資料層和客戶端。它後來成了 ArcBlock Chain。

術語

  • Blocklet

    Blocklet 是 ARC 的可部署單元。它把應用宣告的內容、設定和執行需求放在一起,讓開發者面對的是一個清楚的應用單位,而不是散落在不同位置的部署線索。

  • 區塊鏈

    透過密碼學連接記錄,並按共同的驗證與共識規則確定交易歷史的分散式帳本。