Skip to content
ENC Protocol

Tutorials

Hands-on, build-something walkthroughs. Where the Developer Guide covers each tool and the SDK Reference documents every function, a tutorial takes you end to end — from an empty project to a working ENC app you can run.

Build a custom Personal app

The first tutorial builds a small custom Personal app on the personal App SDK (@enc-protocol/personal-sdkPersonalSdk).

You'll:

  • run a node gated by an admission hook that admits only your owner identity, and mint your own Personal enclave from a manifest;
  • write public posts and owner-only private notes, the public/private boundary enforced by the enclave's RBAC;
  • run a hand-written dataview that projects public posts into a cross-enclave profiles feed;
  • read it all from a real Vite + React frontend that signs through the ENC wallet extension — your key never touches the app.

By the end you'll have a personal micro-app — your own public posts and a private vault — backed by a verifiable enclave, with the wallet signing and the node enforcing RBAC.

Prerequisites

  • Node 18+ and the SDK installed (@enc-protocol/client).
  • The ENC wallet extension — the frontend in step 4 signs through it.
  • A local development environment to run the node and dataview (the open release provides guides for running these locally; production hosting is out of scope).

It builds directly on the foundations from the Developer Guide — if you haven't yet, skim Building with the SDK first for the identity → enclave → submit/query → verify loop this tutorial puts to work.

The build, step by step

The five pieces you'll assemble — each numbered to the step that builds it:

ENC Personal app architecture — the components you build in this tutorial: a Vite + React Frontend on PersonalSdk signing through the ENC wallet extension; a local Node holding your Personal enclave (public posts + owner-only private notes); a Dataview server indexing events into a public profiles feed; and a vitest suite driving a real node end-to-end

  1. Run a local node
  2. Run a dataview server
  3. Deploy the Personal enclave
  4. Write the frontend app
  5. Write a test

Start → Run a local node