{"id":18254704,"url":"https://github.com/bsv-blockchain/spv-wallet-web-frontend","last_synced_at":"2026-04-06T22:03:37.543Z","repository":{"id":203545863,"uuid":"643930255","full_name":"bitcoin-sv/spv-wallet-web-frontend","owner":"bitcoin-sv","description":"Referential frontend application for a custodial web wallet which is integrated with spv-wallet backend.","archived":false,"fork":false,"pushed_at":"2024-09-16T11:24:05.000Z","size":830,"stargazers_count":11,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-09-17T10:52:48.485Z","etag":null,"topics":["bsv","spv-wallet","spv-wallet-team","spv-wallet-toolkit","spv-wallet-web"],"latest_commit_sha":null,"homepage":"https://docs.bsvblockchain.org/network-topology/applications/spv-wallet","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitcoin-sv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-22T13:00:02.000Z","updated_at":"2024-09-16T09:12:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"544d9efc-4ad9-458b-8bed-6a22607fa945","html_url":"https://github.com/bitcoin-sv/spv-wallet-web-frontend","commit_stats":null,"previous_names":["bitcoin-sv/bux-wallet-frontend","bitcoin-sv/spv-wallet-web-frontend"],"tags_count":80,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoin-sv%2Fspv-wallet-web-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoin-sv%2Fspv-wallet-web-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoin-sv%2Fspv-wallet-web-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoin-sv%2Fspv-wallet-web-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitcoin-sv","download_url":"https://codeload.github.com/bitcoin-sv/spv-wallet-web-frontend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223150706,"owners_count":17095959,"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","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":["bsv","spv-wallet","spv-wallet-team","spv-wallet-toolkit","spv-wallet-web"],"created_at":"2024-11-05T10:13:18.892Z","updated_at":"2026-04-06T22:03:37.502Z","avatar_url":"https://github.com/bitcoin-sv.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SPV WALLET WEB FRONTEND\n\n\nThe `spv-wallet-web-frontend` is a referential frontend app designed as a part of the **SPV Wallet** which is a custodial wallet for Bitcoin SV.\nIt utliizes the `spv-wallet` service as a non-custodial wallet in conjunction with the `spv-wallet-web-backend` as a backend server which is responsible for storing user data and private keys.\n\nFor in-depth information and guidance, please refer to the [SPV Wallet Documentation](https://docs.bsvblockchain.org/network-topology/applications/spv-wallet).\n\n\n## Running the project\n\n`yarn` - install all dependencies\n\n`yarn dev` - run vite dev server\n\n`yarn lint` - verify project with using eslint\n\n### Running backend locally\n\nThere are two way of running backend locally:\n\n#### Using ./start.sh script\n\n`spv-wallet-web-frontend` provides a `start.sh` script, which is actually downloading and using the newest version of `start.sh` script from `spv-wallet` repository.\n\nIt is using `docker-compose.yml` file to starts up `SPV Wallet` with web-frontend, web-backend and selected database and cache storage.\n\nThere are three ways of running this script:\n\n1. With manual configuration - every option is displayed in terminal and user can choose\n   which applications should be started and configure how to run `spv-wallet`. Use command:\n\n```bash\n./start.sh\n```\n\n2. With flags which define how to set up docker services. Ever option is displayed when\n   you ran the script with flag `-h` or `--help`.\n\n```bash\n./start.sh -db postgresql -c redis -sw true -b false\n```\n\n3. With `-l/--load` flag. This option add possibility to use previously created `.env.config` file and run whole environment with simple command:\n\n```bash\n./start.sh -l\n```\n\n### Repo structure\n\n- `src/` - workspace app\n  - `assets` - extra assets required to use inside components - images for example\n  - `componets` - reusable components which create views and app\n  - `styles` - global styles for app\n  - _(optional)_ `hooks` - custom React hooks for app\n  - _(optional)_ `views` - directory to place views which create application and include reusable components\n\n### Directory structure\n\nEvery reusable component should be placed inside `src/components`. If any of the component categories\n(directories starting with underscore, e.g. `_buttons`) is a good fit, the component should be placed there. Every\ncomponent should have its own directory named the same as the component. The directory should contain the following\nfiles:\n\n- `Component/`\n  - `index.ts` - re-exporting anything needed\n  - `Component.tsx` - component code\n  - _(optional)_ `Component.styles.ts` - any styles needed for the component\n  - _(optional)_ `Component.stories.tsx` - Storybook stories exploring different use cases/variants of the component\n\nIn terms of naming, `PascalCase` should be used for component names and Typescript types. Constants should be named\nusing `UPPER_CASE`. Everything else should use `camelCase`.\n\n### Component structure\n\nIn the main component file, we try to preserve a following structure:\n\n1. Hook calls\n2. Derived state\n3. Event handlers\n4. Conditional returns\n\n## License\n\n[Open BSV License](https://github.com/bitcoin-sv/bitcoin-sv/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsv-blockchain%2Fspv-wallet-web-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbsv-blockchain%2Fspv-wallet-web-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsv-blockchain%2Fspv-wallet-web-frontend/lists"}