Skip to content

fedimint/fedimint-web-sdk

Repository files navigation

Fedimint Logo

    Fedimint Web SDK

    A Robust, privacy-focused, and WebAssembly-powered fedimint client for the browser.

GitHub License Build Status Docs Workflow Ask DeepWiki

Packages πŸ“¦

Public packages

Package Version Description
@fedimint/core NPM Version (latest) Core Fedimint client for JavaScript runtimes (Wasm bindings, high-level API, testing utilities).
@fedimint/react NPM Version (latest) React hooks and context for working with Fedimint clients in React applications.
@fedimint/transport-web NPM Version (latest) Web worker transport that hosts the Wasm client and communicates with @fedimint/core.
create-fedimint-app NPM Version (latest) CLI tool for scaffolding a Fedimint starter app with Vite, React, and TypeScript.

Internal & legacy

Package Version Description
@fedimint/core-web (deprecated) NPM Version (latest) Legacy shim that re-exports @fedimint/core; new projects should depend on @fedimint/core directly.
@fedimint/fedimint-client-wasm-web NPM Version (latest) Not intended for direct use. Wasm-pack build targeting web environments; consumed by @fedimint/transport-web.
@fedimint/fedimint-client-wasm-bundler NPM Version (latest) Not intended for direct use. Wasm-pack build targeting bundler environments; used when bundling custom transports or hosts.
@fedimint/types NPM Version (latest) Shared TypeScript interfaces for transports and other Fedimint client implementations.
@fedimint/integration-tests (private) β€” Internal Vitest harness for exercising the SDK against embedded nodes.

Structure πŸ› οΈ

This monorepo is structured as a pnpm workspace. There are some helpful scripts in the root package.json to help manage the workspace.

fedimint-web-sdk
β”œβ”€β”€ docs
β”œβ”€β”€ examples
β”‚   β”œβ”€β”€ vite-core
β”‚   β”œβ”€β”€ bare-js
β”‚   β”œβ”€β”€ next-js
β”‚   └── webpack-app
└── packages
    β”œβ”€β”€ core
    β”œβ”€β”€ core-web
    β”œβ”€β”€ create-fedimint-app
    β”œβ”€β”€ integration-tests
    β”œβ”€β”€ react
    β”œβ”€β”€ transport-web
    β”œβ”€β”€ types
    β”œβ”€β”€ wasm-bundler
    └── wasm-web
β”œβ”€β”€ scripts

Examples

  • vite-core: React + Vite starter focused on @fedimint/core primitives.
  • next-js: Example configuration for a Next.js application.
  • webpack-app: Demonstrates configuring webpack for Fedimint applications.
  • bare-js: Minimal usage of @fedimint/core without a bundler.

Credit

Used the wagmi library as a reference for the repo's structure.