pallad
pallad copied to clipboard
Progressive Mina Protocol Wallet

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
- pnpm
Installation 💻
Make sure you're on the right Node.js version, and you got pnpm installed.
$ nvm use
$ npm i -g pnpm
Install the dependencies:
$ pnpm i
From apps/extension
copy the .env.example
as .env
and adjust the variables there.
Build all the modules in repo:
$ 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:
$ pnpm dev:extension
Testing 🧪
Running linter:
$ pnpm lint
Running unit tests (Vitest):
$ pnpm test:unit
Running E2E tests for browser extension (Playwright):
$ npx playwright install chromium # make sure you have Chromium driver
$ pnpm test:e2e:extension
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Tomek Marciniak 💻 |
Teddy Pender 💻 |
Rafał Goławski 💻 |
Mariusz 💻 |
Contributing 🤝
We specified contributing guidelines. Please refer to them before starting contributing to this repository.