An open API service indexing awesome lists of open source software.

https://github.com/berillos/pallad

Progressive Mina Protocol Wallet
https://github.com/berillos/pallad

cryptocurrency mina mina-protocol self-custodial staking wallet web3 zk-snarks zkapps

Last synced: 22 days ago
JSON representation

Progressive Mina Protocol Wallet

Awesome Lists containing this project

README

          






![Module type: ESM](https://img.shields.io/badge/module%20type-esm-brightgreen)
[![Discord](https://img.shields.io/discord/1127906495409958953?label=Discord)](https://discord.gg/ExzzfTGUnB)
![example workflow](https://github.com/palladians/pallad/actions/workflows/apps-extension-ci.yml/badge.svg)

Welcome to Pallad an experimental and progressive Mina Protocol wallet!

In the vast and evolving world of Web3, a wallet is not just a tool; it's the gateway to a whole new universe. It's the first consumer application anyone encounters in a blockchain ecosystem, and it's pivotal in shaping the user experience. That's where Pallad steps in!

Pallad is at the frontier, leading the way in innovation and user-centric design. We're not just building a wallet; we're crafting the cornerstone of zero-knowledge application interaction design. With Pallad, you're stepping into the future.

## Getting Started 🚀

### Prerequisite 📌

- Bun

### Installation 💻

Make sure you're on the latest Bun version.

Install the dependencies:

```shell
$ bun i
```

From `apps/extension` copy the `.env.example` as `.env` and adjust the variables there.

Build all the modules in repo:

```shell
$ bun run build
```

## Structure 🏗️

This is a monorepo for all the Pallad-related code.

- `apps`
- `extension` - Browser extension app.
- `packages`
- `_template` - Template to follow for new packages in this repo.
- `common` - Common configuration for packages (tsup).
- `features` - Wallet features, views, and UI components.
- `key-management` - Blockchain agnostic key management.
- `mina-core` - Core Mina Package SDK.
- `offchain-data` - Client for fetching off-chain data like fiat price.
- `persistence` - Persistence logic for wallet related data.
- `util` - Shared util functions for other packages.
- `vault` - Credentials storage.
- `web-provider` - Web provider to consume wallet interfaces in browser context.

## Development 🛠️

Set up the dev server of extension:

```shell
$ bun run dev:extension
```

## Testing 🧪

Running linter:

```shell
$ bun run lint
```

Running unit tests (Bun Test):

```shell
$ bun run test:unit
```

Running E2E tests for browser extension (Playwright):

```shell
$ bunx playwright install chromium # make sure you have Chromium driver
$ bun run test:e2e:extension
```

## Contributors ✨

Thanks goes to these wonderful people
([emoji key](https://allcontributors.org/docs/en/emoji-key)):




Tomek Marciniak
Tomek Marciniak

💻
Teddy Pender
Teddy Pender

💻
Rafał Goławski
Rafał Goławski

💻
Mariusz
Mariusz

💻
Ali Raza
Ali Raza

💻
Yao Ding
Yao Ding

💻
Chiwetelu Johnpaul Chidera
Chiwetelu Johnpaul Chidera

💻


MANUEL RIOS
MANUEL RIOS

💻

## Contributing 🤝

We specified contributing guidelines. Please refer to them before starting contributing to this repository.

[Contributing Guidelines](https://github.com/palladians/pallad/blob/main/CONTRIBUTING.md)

## Links 🌍

[pallad.co - The official website of Pallad](https://get.pallad.co/website)

[Ladle](https://palladians.github.io/pallad/)

[Discord](https://discord.gg/ExzzfTGUnB)