{"id":13832735,"url":"https://github.com/neeboo/schnorr_snap","last_synced_at":"2025-07-09T19:31:07.663Z","repository":{"id":65004304,"uuid":"580439063","full_name":"neeboo/schnorr_snap","owner":"neeboo","description":"A schnorr plugin for metamask snap, nostr supported","archived":false,"fork":false,"pushed_at":"2022-12-21T03:54:13.000Z","size":324,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-02-17T05:33:55.367Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neeboo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-12-20T15:06:42.000Z","updated_at":"2023-07-07T08:52:57.000Z","dependencies_parsed_at":"2022-12-30T23:34:05.821Z","dependency_job_id":null,"html_url":"https://github.com/neeboo/schnorr_snap","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neeboo%2Fschnorr_snap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neeboo%2Fschnorr_snap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neeboo%2Fschnorr_snap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neeboo%2Fschnorr_snap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neeboo","download_url":"https://codeload.github.com/neeboo/schnorr_snap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225581821,"owners_count":17491793,"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":[],"created_at":"2024-08-04T11:00:29.102Z","updated_at":"2024-11-20T15:31:01.137Z","avatar_url":"https://github.com/neeboo.png","language":"TypeScript","funding_links":[],"categories":["Install from Source","Libraries"],"sub_categories":["Nostr","Client reviews and/or comparisons"],"readme":"# SchnorrSnap\n\n## Quick Start\n\n```bash\nyarn install \u0026\u0026 yarn build:all \u0026\u0026 yarn demo:local\n```\n\n## Example code,\n\nIn [packages/example/frontend/Intro.tsx](./packages/example/frontend/Intro.tsx)\n\n```typescript\nimport { initiateSchnorrSnap } from \"./services/metamask\"\nimport { SnapIdentity } from \"@astrox/schnorr-adapter\"\nimport { SignRawMessageResponse } from \"@astrox/schnorr-types\"\n\n...\n  const [snapIdentity, setSnapIdentity] = useState\u003cSnapIdentity | undefined\u003e(\n    undefined,\n  )\n\n  const installSnap = useCallback(async () =\u003e {\n    // you can customize initiateSchnorrSnap with your function, hooks, or service what ever\n    // pass network type `mainnet`, `local`, or `nostr`\n    // coinType in derived path will be different, mainnet and local will be 0, nostr will be 1237 (NIP-06)\n    const installResult = await initiateSchnorrSnap(\"nostr\")\n    if (!installResult.isSnapInstalled) {\n      setInstalled(false)\n    } else {\n      setInstalled(true)\n      setSnapIdentity(await installResult.snap?.createSnapIdentity())\n    }\n  }, [])\n\n  const getPublicKey = async () =\u003e {\n    setPublicKey(snapIdentity?.publicKey)\n  }\n\n  const signMessage = async () =\u003e {\n    const signed = await snapIdentity?.api.sign(message!)\n    setSignedMessage(signed!)\n  }\n...\n\n\n```\n\n## Components and install instructions\n\n1. [Download Metamask Flask](https://metamask.io/flask/)\n   and uninstall/disable old metamask\n\n2. Go to example page or any supported page, install SchnorrSnap before run\n\n3. Can sign message afterwards\n\n## How it works\n\n1. Develope Metamask Flask Snap project\n2. Use Secp256k1Key(Schnorr) identity inside snap\n3. Get identity and signing method for web app\n\n## Use cases\n\n1. Use Metamask as your schnorr wallet\n2. Access NoStr\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneeboo%2Fschnorr_snap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneeboo%2Fschnorr_snap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneeboo%2Fschnorr_snap/lists"}