{"id":13832731,"url":"https://github.com/mikedilger/nostr-types","last_synced_at":"2025-07-01T22:36:25.916Z","repository":{"id":65053933,"uuid":"566643367","full_name":"mikedilger/nostr-types","owner":"mikedilger","description":"nostr protocol types for rust language development","archived":false,"fork":false,"pushed_at":"2025-06-12T21:20:31.000Z","size":837,"stargazers_count":34,"open_issues_count":3,"forks_count":14,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-12T22:29:48.731Z","etag":null,"topics":["nostr"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/mikedilger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-MIT","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":"2022-11-16T05:18:39.000Z","updated_at":"2025-06-12T21:20:34.000Z","dependencies_parsed_at":"2024-02-16T03:25:02.971Z","dependency_job_id":"b7c77072-5057-40d3-af80-42425a5523d0","html_url":"https://github.com/mikedilger/nostr-types","commit_stats":{"total_commits":220,"total_committers":5,"mean_commits":44.0,"dds":"0.13181818181818183","last_synced_commit":"4bd0e4bea287245a602537bfb849ac3877cc023d"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/mikedilger/nostr-types","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikedilger%2Fnostr-types","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikedilger%2Fnostr-types/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikedilger%2Fnostr-types/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikedilger%2Fnostr-types/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikedilger","download_url":"https://codeload.github.com/mikedilger/nostr-types/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikedilger%2Fnostr-types/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263047470,"owners_count":23405278,"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":["nostr"],"created_at":"2024-08-04T11:00:29.001Z","updated_at":"2025-07-01T22:36:25.884Z","avatar_url":"https://github.com/mikedilger.png","language":"Rust","funding_links":[],"categories":["Install from Source","Libraries"],"sub_categories":["Nostr","Client reviews and/or comparisons"],"readme":"# nostr-types\n\n[![Crates.io][crates-badge]][crates-url]\n[![MIT licensed][mit-badge]][mit-url]\n[![Stable Docs][doc-badge]][doc-url]\n[![Master Docs][doc2-badge]][doc2-url]\n\n[crates-badge]: https://img.shields.io/crates/v/nostr-types.svg\n[crates-url]: https://crates.io/crates/nostr-types\n[doc-badge]: https://img.shields.io/badge/docs-stable-green.svg\n[doc-url]: https://docs.rs/nostr-types\n[doc2-badge]: https://img.shields.io/badge/docs-master-yellow.svg\n[doc2-url]: https://mikedilger.com/docs/nostr-types/nostr_types/\n[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg\n[mit-url]: https://github.com/mikedilger/nostr-types/blob/master/LICENSE-MIT\n\nnostr-types is a crate defining types useful for the nostr protocol.\n\nWe wrap all basic types. An `i64` may or may not be a `Unixtime`. A `\u0026str` might\nbe a hex encoded private key, or it might be somebody's name. By using types for\neverything, common mistakes can be avoided.\n\nWe have extensive serde implementations for all types which are not simple to serialize\nsuch as Tag.\n\nPrivate keys remember if you've seen them or imported them and set themselves to `Weak` if\nyou have. Generated private keys start out as `Medium`.  We don't support `Strong` yet\nwhich will require a hardware token. (Note: there are ways to leak a private key without\nit knowing, so if it says `Medium` that is the maximum security, not a guaranteed level\nof security). Private keys can be imported and exported in a password-keyed encrypted form\nwithout weakening their security.\n\n## License\n\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, shall be licensed as above, without any additional\nterms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikedilger%2Fnostr-types","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikedilger%2Fnostr-types","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikedilger%2Fnostr-types/lists"}