{"id":18114942,"url":"https://github.com/penumbra-zone/web","last_synced_at":"2025-09-14T04:46:03.836Z","repository":{"id":186597831,"uuid":"674790873","full_name":"penumbra-zone/web","owner":"penumbra-zone","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-04T10:04:56.000Z","size":78504,"stargazers_count":20,"open_issues_count":191,"forks_count":30,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-08-28T19:03:16.045Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/penumbra-zone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-04T19:38:12.000Z","updated_at":"2025-08-01T16:14:11.000Z","dependencies_parsed_at":"2023-10-14T16:39:09.122Z","dependency_job_id":"c4237c78-a78c-4dd8-a21d-56de07ab5c3b","html_url":"https://github.com/penumbra-zone/web","commit_stats":null,"previous_names":["penumbra-zone/web"],"tags_count":771,"template":false,"template_full_name":null,"purl":"pkg:github/penumbra-zone/web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penumbra-zone%2Fweb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penumbra-zone%2Fweb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penumbra-zone%2Fweb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penumbra-zone%2Fweb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/penumbra-zone","download_url":"https://codeload.github.com/penumbra-zone/web/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penumbra-zone%2Fweb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275062969,"owners_count":25398888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-14T02:00:10.474Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-01T03:01:28.962Z","updated_at":"2025-09-14T04:46:03.829Z","avatar_url":"https://github.com/penumbra-zone.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Penumbra Web\n\nThe [Penumbra](https://penumbra.zone/) monorepo for all things web.\n\n![ci status](https://github.com/penumbra-zone/web/actions/workflows/turbo-ci.yml/badge.svg?branch=main)\n\nThis is a monolithic repository of Penumbra web code, a monorepo. Multiple apps,\ninternal packages, and published packages are developed in this repository, to\nsimplify work and make broad cross-package changes more feasible.\n\nTo participate in the test network, use a browser extension like\n[Prax](https://chrome.google.com/webstore/detail/penumbra-wallet/lkpmkhpnhknhmibgnmmhdhgdilepfghe)\nfrom the Chrome Web Store.\n\nYou can talk to us on [Discord](https://discord.gg/hKvkrqa3zC).\n\n## You might be looking for examples\n\n### [`@penumbra-zone/client` nextjs example](https://github.com/penumbra-zone/nextjs-penumbra-client-example)\n\n### [`@penumbra-zone/wasm` nextjs example](https://github.com/penumbra-zone/nextjs-penumbra-wasm-example)\n\n## What's in here\n\n### [Minifront](./apps/minifront): Dapp to swap, stake, and send on the Penumbra testnet.\n\n### [Status](./apps/node-status): Public info dashboard for Penumbra nodes.\n\n### Published Packages\n\nAll have a `@penumbra-zone/` namespace prefix on npm.\n\n**🌘\n[bech32m](https://www.npmjs.com/package/@penumbra-zone/bech32m) 🌑\n[client](https://www.npmjs.com/package/@penumbra-zone/client) 🌑\n[constants](https://www.npmjs.com/package/@penumbra-zone/constants) 🌑\n[crypto](https://www.npmjs.com/package/@penumbra-zone/crypto) 🌑\n[getters](https://www.npmjs.com/package/@penumbra-zone/getters) 🌑\n[keys](https://www.npmjs.com/package/@penumbra-zone/keys) 🌑\n[perspective](https://www.npmjs.com/package/@penumbra-zone/perspective) 🌑\n[protobuf](https://www.npmjs.com/package/@penumbra-zone/protobuf) 🌑\n[services](https://www.npmjs.com/package/@penumbra-zone/services) 🌑\n[services-context](https://www.npmjs.com/package/@penumbra-zone/services-context) 🌑\n[storage](https://www.npmjs.com/package/@penumbra-zone/storage) 🌑\n[transport-chrome](https://www.npmjs.com/package/@penumbra-zone/transport-chrome) 🌑\n[transport-dom](https://www.npmjs.com/package/@penumbra-zone/transport-dom) 🌑\n[types](https://www.npmjs.com/package/@penumbra-zone/types) 🌑\n[wasm](https://www.npmjs.com/package/@penumbra-zone/wasm)\n🌒**\n\n## Documentation\n\nGeneral documentation is available in [docs/README.md](docs/README.md). Package-specific documentation is available in each respective package.\n\n## Getting Started\n\n### Prerequisites\n\nMake sure you have the following tools installed:\n\n- [Rust and Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) – Recommended via [rustup](https://rustup.rs/)\n- [wasm-pack](https://rustwasm.github.io/wasm-pack/installer/) – For building WebAssembly components\n- [cargo-watch](https://crates.io/crates/cargo-watch) – Utility that automatically rebuilds and restarts your project.\n- [Node.js](https://nodejs.org/en/download/package-manager) – Recommended via [nvm](https://github.com/nvm-sh/nvm)\n- [pnpm](https://pnpm.io/installation) – Package manager, recommended via [corepack](https://pnpm.io/installation#using-corepack)\n- Google Chrome installation\n\n### Building\n\n#### Install all workspace dependencies:\n\n```sh\ngit clone https://github.com/penumbra-zone/web\ncd web\npnpm install\n```\n\n#### Build shared packages and watch for changes:\n\n```sh\npnpm build \u0026\u0026 pnpm dev:pack\n```\n\n#### In a new terminal, run the minifront app:\n\n```sh\ncd apps/minifront\npnpm dev:build \u0026\u0026 pnpm dev:app\n```\n\n#### Alternatively, in a new terminal, run the veil app:\n\n```sh\ncd apps/veil\npnpm install \u0026\u0026 pnpm dev\n```\n\nYou now have a local copy of Minifront available at\n[`https://localhost:5173`](https://localhost:5173) or Veil available at [`https://localhost:3000`](https://localhost:3000).\n\nMinifront and Veil will hot-reload.\n\n## Security\n\nIf you believe you've found a security-related issue with Penumbra,\nplease disclose responsibly by contacting the Penumbra Labs team at\nsecurity@penumbralabs.xyz.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpenumbra-zone%2Fweb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpenumbra-zone%2Fweb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpenumbra-zone%2Fweb/lists"}