Skip to content

minmoto/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.

About

Tools for developing Fedimint clients

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 82.8%
  • JavaScript 10.7%
  • CSS 4.2%
  • Nix 1.3%
  • Other 1.0%