Первоначально опубликовано — https://www.arcblock.io/en/post/2019/09/16/introduction-to-blocklets

Что такое блоклеты?

Блоклеты — это строительные блоки многократного использования, которые помогают разработчикам и пользователям сообщества создавать вещи на платформе ArcBlock. На самом простом уровне Blocklets — это готовые компоненты и модули, библиотеки, интерфейсные представления и многое другое, которые упрощают создание dApp. Просто выберите Blocklet, который вам нужен для запуска, и мгновенно установите его, чтобы приступить к работе. Одной из ключевых особенностей Blocklets является то, что очень легко комбинировать несколько блоков для создания более сложного приложения или dApp.

Блоклеты поставляются в разных пакетах в зависимости от варианта их использования, включая, помимо прочего, следующее:

  • Стартовый шаблон, из которого разработчик может загрузить децентрализованное приложение, уже подключенное к блокчейну на основе кузницы, за считанные минуты;
  • Полнофункциональное dApp, с помощью которого майнер или пользователь сообщества может быстро установить и запустить его;
  • Смарт-контракт, который определяет конвейер бизнес-логики в цепочке и может быть развернут для подделки цепочек одним щелчком мыши;
  • Веб-компоненты или сервисы для поддержки узлов ABT Blockchain
  • Azure, AWS или другие готовые к облаку образцы
  • и больше

На старте Blocklets будут представлены в трех вариантах — официальной, партнерской и версии для сообщества.

Что такое реестр блоклетов?

Чтобы облегчить разработчикам поиск пригодных для использования блоклетов, все блоклеты, созданные ArcBlock и разработчиками сообщества, перечислены на blocklet.arcblock.io, веб-сайте, созданном из ArcBlock/blocklets, пользователи могут искать и просматривать перечисленные блоклеты и использовать блоклет с помощью всего одной команды, этот веб-сайт называется реестром блоклетов.

Как определить блоклет?

Есть несколько ключевых элементов информации для создания блока:

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

Ключевая информация: blocklet.json

Это ключевой файл при определении блока, может содержать следующие поля:

{
  // 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": "[email protected]",
  "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 <[email protected]> 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

Подробное знакомство с блоклетом должно прояснить следующие вопросы для потенциального пользователя блоклета:

  • Что блоклет может делать после установки? Хотя можно сделать вывод из его группы, но стоит несколько слов описания
  • Каковы требования для использования этого блока? Включая оборудование, программное обеспечение, опыт и навыки разработчиков
  • С какими проблемами могут столкнуться пользователи при использовании блокчейна? и как их решить?

Ключевая информация: logo.png

Логотип блока может быть любым допустимым изображением, рекомендуется png, будет отображаться на странице сведений о блокле, должно быть прозрачное изображение размером 200 x 200 пикселей.

Ключевая информация: screenshots

Папка со скриншотами должна содержать несколько изображений того, что выводит блоклет, чтобы пользователи могли легко понять идею блоклета.

Другая информация

В том числе скрипты, которые запускаются во время процесса.

Разрешение метаинформации

Чтобы избежать дублирования полей, определенных в package.json, некоторые поля могут быть исключены из blocklet.json, а процесс сборки достаточно умен, чтобы объединить эти поля вместе.

Как создать блокнот?

Инициализируйте конфигурацию блока с помощью forge blocklet:create, скоро будет поддерживаться в forge-cli.

  • Как создать стартовый блок?
  • Как создать блок dapp?
  • Как создать блок-контракт?

Как опубликовать блоклет?

  1. Создайте свой блоклет и убедитесь, что он работает
  2. Разветвить этот репозиторий
  3. Измените registry.yml, чтобы включить свой репозиторий
  4. Отправить запрос на включение в этот репозиторий
  5. Ваш блоклет будет указан в официальном реестре после того, как ваш запрос на включение будет принят и объединен.