npm package: @plutoxyz/web-proofs
Description: Web Proofs by Pluto
Author: Pluto Development Inc
Latest version: 1.3.58

# Web Proofs

![Run Tests](https://github.com/pluto/web-proofs/workflows/Run%20Tests/badge.svg)
![Node version](https://img.shields.io/badge/node-20.x-brightgreen)
![License](https://img.shields.io/badge/license-MIT-blue.svg)

Web Proofs is a TypeScript library designed to help your application generate web proofs with Pluto, enabling seamless integration with our iOS mobile app and chrome extension. This library provides easy-to-use components and utility functions to get you up and running.

## Features

- 🌐 Cross-platform support (iOS, Desktop)
- 🔒 Secure proof generation
- ⚛️ React integration
- 🔧 Vanilla JavaScript support
- 🎨 Customizable UI

## Table of Contents

- [Installation](#installation)
- [Documentation](#documentation)
- [Community](#community)
- [Features](#features)
- [Contributing](#contributing)
- [License](#license)

## Installation

To get started, install the package using npm:

```bash
npm install @plutoxyz/web-proofs
```

## Documentation

For documentation and guides, visit [docs.pluto.xyz](https://docs.pluto.xyz/)

## Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discuss Web Proofs on GitHub](https://github.com/pluto/web-proofs/discussions)

For casual chit-chat with other developers:

[Join the Pluto Telegram](https://t.me/pluto_xyz)

## Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

Don't forget to give the project a star! Thanks again!

1. Fork the Project
2. Create your Feature Branch `git checkout -b feature/AmazingFeature`
3. Commit your Changes `git commit -m 'Add some AmazingFeature'`
4. Push to the Branch `git push origin feature/AmazingFeature`
5. Open a Pull Request

## Local Development

This repository includes three demo applications inside the demo/ folder to showcase different usage scenarios:

1. React Demo (uses Vite + React)
2. JavaScript Demo
3. Next.js Demo

All three demos can be run against a local build of @plutoxyz/web-proofs to test changes in real time.

### Prerequisites

- Node.js 20.x or higher
- npm or yarn
- Git
- Nodemon

### Building the Library Locally

Clone this repository:

```bash
git clone https://github.com/pluto/web-proofs.git
cd web-proofs
```

Install dependencies:

```bash
npm install
nodemon
```

### Linking the Library

To test your local build in the demos, you need to link the built library into them. In one terminal:

From the project’s root (where package.json and rollup.config.js live):

```bash
npm link
```

This registers your local @plutoxyz/web-proofs package globally on your system.

Then within each demo folder you want to test, run:

```bash
cd demo  # or demo/nextjs for nextjs demo
npm install     # Install the demo's own dependencies
npm link @plutoxyz/web-proofs
```

This tells the demo to use your locally linked version of @plutoxyz/web-proofs instead of a published npm version.

Note:
You do not need to edit your import statements (e.g., import { prove } from '@plutoxyz/web-proofs' stays the same). Linking handles the resolution to your local build automatically.

### Running Each Demo

There are three demos in the demo/ folder. You can run them independently.

#### React Demo

Folder: demo/ (this is a Vite + React setup). In demo/, ensure dependencies are installed and the link is established:

```bash
cd demo
npm install
npm link @plutoxyz/web-proofs
npm run dev
```

Open http://localhost:5173 (or whatever Vite logs) in your browser.

#### JavaScript Demo

The JavaScript Demo is configured as an additional entry point in the Vite configuration. The demo’s HTML and script reside in the `demo/javascriptDemo/` folder. You don’t need to run its own server—instead, run the main demo server and navigate to it.

```bash
cd demo/javascriptDemo
npm install
npm link @plutoxyz/web-proofs
```

Open your browser and go to:

http://localhost:3000/javascriptDemo

This will load `demo/javascriptDemo/index.html` where `main.js` is executed

#### Next.js Demo

Folder: In demo/nextjs, install and link:

```bash
cd demo/nextjs
npm install
npm link @plutoxyz/web-proofs
npm run dev
```

Open http://localhost:3000 and you’ll see the Next.js-based proof example rendering the <Prove /> component.

## License

This project is licensed under the MIT License - see the `LICENSE.md` file for details.