Skip to main content

Blocklet: from reusable components to declarative applications

Since the 2017 whitepaper stage, Blocklet has carried one idea: make software reusable and composable. Its form has evolved—from a component concept, through installable applications and services on Blocklet Server, to application definitions operated by ARC.

How Blocklet evolved

Each stage expanded what a Blocklet could contain and how it could be reused. ARC changes the implementation model while retaining the name and the idea of composition.

  1. 2017 · Whitepaper concept

    Reusable components

    The original concept covered reusable components in both on-chain and off-chain forms. It was an architectural idea for assembling applications, before the later Blocklet Server implementation took shape.

    Architecture retrospective · 2023
  2. 2020 · ABT Node / early Blocklet Server

    Installable web applications

    Early implementations focused on frontend web applications paired with standard backend services. The platform was then called ABT Node; it became Blocklet Server in 2022. Its installation and management experience made applications easier to run and combine.

    Installation and management · 2020
  3. Blocklet Server · Services

    A Blocklet can bring its backend

    Standard composable Blocklet services brought frontend and backend together; individual Blocklets could also carry backend logic. The architecture retrospective records the addition of serverless services in 2022, as applications and reusable services became clearer parts of the platform.

    Services in the architecture retrospective · 2023
  4. 2022–2024 · Richer composition

    Finished applications become components

    Blocklet Server 1.8.0 documented multi-level nesting and repeated components in 2022. By 2024, the website anatomy article showed Pages Kit, Discuss Kit, Media Kit and other finished Blocklets working together as one site.

    How the website was assembled · 2024
  5. 2024-11 · Production-ready Docker support

    Docker expands the runtime options

    Blocklet Server 1.16.33 announced production-ready Docker support: custom Dockerfiles, hooks running inside containers, and improved CPU and memory controls. This expanded runtime choices and isolation; actual protection still depends on container and host configuration.

    Read the 1.16.33 release
  6. 2026 · ARC application model

    From a software package to an application definition

    The name remains, but the model changes substantially: a Blocklet declares content, resources and interactions while ARC provides the runtime capabilities. Composition increasingly concerns declared resources and interfaces, rather than bundling another application server into every package.

    Read the transition

What changes in ARC

In the Blocklet Server model, an application can bring its own backend and runtime dependencies. In ARC, a Blocklet centers on declared content, resources and interfaces. ARC supplies common capabilities; specialized integrations are exposed through explicitly mounted AFS Providers.

The application describes its needs

Content, configuration and interfaces described with AUP (Agentic UI Protocol) form a definition the runtime can read. People and agents work with an explicit application structure.

AUP

Capabilities come through resources

AFS gives authorized data and services a common path-based interface. A Provider supplies the integration; declaring a path does not grant permission by itself.

AFS

This website is a Blocklet

The ArcBlock website runs as an ARC Blocklet, with content collections and AUP page definitions. Its repository is a concrete example of the newer model.

View site source

Choose the documentation for your runtime

Blocklet Server: packages and composition

The package specification, service composition and Docker guides document the Blocklet Server model. They remain useful for applications built on that platform.

Package specification

ARC: application definitions and resources

Read the transition to ARC, then explore AFS and AUP. Keeping the Blocklet name does not imply that a Blocklet Server package runs unchanged in ARC.

From Blocklet Server to ARC