Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/palladians/pallad

πŸ¦‹ Progressive Mina Protocol Wallet
https://github.com/palladians/pallad

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

Last synced: 3 months 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)

⚠️ Work in progress ⚠️
🚨 Now in Beta 🚨

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 πŸ“Œ

- [NVM](https://github.com/nvm-sh/nvm)
- pnpm

### Installation πŸ’»

Make sure you're on the right Node.js version, and you got pnpm installed.

```shell
$ nvm use
$ npm i -g pnpm
```

Install the dependencies:

```shell
$ pnpm i
```

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

Build all the modules in repo:

```shell
$ pnpm 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 and vitest).
- `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
$ pnpm dev:extension
```

## Testing πŸ§ͺ

Running linter:

```shell
$ pnpm lint
```

Running unit tests (Vitest):

```shell
$ pnpm test:unit
```

Running E2E tests for browser extension (Playwright):

```shell
$ npx playwright install chromium # make sure you have Chromium driver
$ pnpm 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

πŸ’»

## 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)