{"id":32117628,"url":"https://github.com/kipsoft/nostr-deno","last_synced_at":"2025-10-20T16:54:50.321Z","repository":{"id":65250864,"uuid":"581798745","full_name":"KiPSOFT/nostr-deno","owner":"KiPSOFT","description":"Nostr protocol client library for deno runtime.","archived":false,"fork":false,"pushed_at":"2023-02-05T02:57:21.000Z","size":897,"stargazers_count":24,"open_issues_count":6,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-20T16:54:45.208Z","etag":null,"topics":["client","deno","library","nodejs","nostr","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KiPSOFT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-12-24T11:28:35.000Z","updated_at":"2025-10-13T07:29:52.000Z","dependencies_parsed_at":"2023-02-18T21:30:38.955Z","dependency_job_id":null,"html_url":"https://github.com/KiPSOFT/nostr-deno","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/KiPSOFT/nostr-deno","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiPSOFT%2Fnostr-deno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiPSOFT%2Fnostr-deno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiPSOFT%2Fnostr-deno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiPSOFT%2Fnostr-deno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KiPSOFT","download_url":"https://codeload.github.com/KiPSOFT/nostr-deno/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiPSOFT%2Fnostr-deno/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280127558,"owners_count":26276931,"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-10-20T02:00:06.978Z","response_time":62,"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":["client","deno","library","nodejs","nostr","typescript"],"created_at":"2025-10-20T16:54:49.376Z","updated_at":"2025-10-20T16:54:50.315Z","avatar_url":"https://github.com/KiPSOFT.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Nostr Deno Client Library\nNostr protocol client library for deno runtime.\n\nNostr - https://github.com/nostr-protocol/nostr\nDeno - https://deno.land/\n\n### Features\n---\n - [x] Multiple relay support\n - [x] Profile information\n - [x] Global feed\n - [x] User's posts\n - [x] Follows\n - [x] Followers\n - [x] Reply post.\n - [x] Debug mode.\n - [x] Promise-based simple and easy to use.\n - [x] Encrypted send and receive direc messages.\n - [x] npub and nsec prefix key support.\n - [x] Async iterable filters.\n\n\n### Usage\n---\n\n```javascript\nimport { Nostr, Relay } from 'https://deno.land/x/nostr_deno_client/mod.ts';\n\nconst nostr = new Nostr();\n\nnostr.privateKey = '';  // A private key is optional. Only used for sending posts.\n\nnostr.relayList.push({\n    name: 'Nostrprotocol',\n    url: 'wss://relay.nostrprotocol.net'\n});\n\nnostr.relayList.push({\n    name: 'Wellorder',\n    url: 'wss://nostr-pub.wellorder.net'\n});\n\nnostr.on('relayConnected', (relay: Relay) =\u003e console.log('Relay connected.', relay.name));\nnostr.on('relayError', (err: Error) =\u003e console.log('Relay error;', err));\nnostr.on('relayNotice', (notice: string[]) =\u003e console.log('Notice', notice));\n\nnostr.debugMode = true;\n\nawait nostr.connect();\n\nawait nostr.sendTextPost('Hello nostr deno client library.');\n\nconst posts = await nostr.getPosts();\nconsole.log('Posts', posts);\n\nconst post = posts[posts.length - 1];\nawait nostr.sendReplyPost('Test reply.', post);\n\nconst profile = await nostr.getMyProfile();\nconsole.log('Profile', profile);\n\nconst feeds = await nostr.globalFeed({\n    limit: 10\n});\nconsole.log('Feeds', feeds);\n\n//method 1: for await\nconsole.log('iterable return');\nfor await (const note of nostr.filter(filter) ) {\n    console.log(note);\n}\n\n//method 2: collect\nconsole.log('promise return');\nconst allNotes = await nostr.filter(filter).collect();\nconsole.log(allNotes);\n\n//method 3: callback\nconsole.log('callback return');\nawait nostr.filter(filter).each(note =\u003e {\n    console.log(note);\n});\n\nawait nostr.disconnect();\nconsole.log('Finish');\n```\n\n### Supported NIPs\n---\n\nNIP-01, NIP-02, NIP-04 NIP-05, NIP-08, NIP-10, NIP-19 NIP-20\n\n### Roadmap\n---\n\n - [ ] NIP-05 DNS-based internet identifier checking.\n - [ ] Add user for follow.\n - [ ] Public chat (channels).\n - [ ] Hashtag list. NIP-12\n - [ ] Filter posts with hashtag.\n - [ ] CI for deno build.\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkipsoft%2Fnostr-deno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkipsoft%2Fnostr-deno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkipsoft%2Fnostr-deno/lists"}