|
| 1 | +from nostr_protocol import Keys, Metadata, EventBuilder |
| 2 | +def nip01(): |
| 3 | + # Generate random keys |
| 4 | + keys = Keys.generate() |
| 5 | + |
| 6 | + # ANCHOR: create-event |
| 7 | + # Create metadata object with desired content |
| 8 | + metadata_content = Metadata()\ |
| 9 | + .set_name("TestName")\ |
| 10 | + .set_display_name("PyTestur")\ |
| 11 | + .set_about("This is a Test Account for Rust Nostr Python Bindings")\ |
| 12 | + .set_website("https://rust-nostr.org/")\ |
| 13 | + .set_picture("https://avatars.githubusercontent.com/u/123304603?s=200&v=4")\ |
| 14 | + .set_banner("https://nostr-resources.com/assets/images/cover.png")\ |
| 15 | + |
| 16 | + |
| 17 | + # Build metadata event and assign content |
| 18 | + builder = EventBuilder.metadata(metadata_content) |
| 19 | + |
| 20 | + # Signed event and print details |
| 21 | + print("\nCreating Metadata Event:") |
| 22 | + event = builder.to_event(keys) |
| 23 | + |
| 24 | + print(" Event Details:") |
| 25 | + print(f" Author : {event.author().to_bech32()}") |
| 26 | + print(f" Kind : {event.kind().as_u16()}") |
| 27 | + print(f" Content : {event.content()}") |
| 28 | + print(f" Datetime : {event.created_at().to_human_datetime()}") |
| 29 | + print(f" Signature : {event.signature()}") |
| 30 | + print(f" Verify : {event.verify()}") |
| 31 | + print(f" JSON : {event.as_json()}") |
| 32 | + # ANCHOR_END: create-event |
| 33 | + |
| 34 | + # ANCHOR: create-metadata |
| 35 | + # Deserialize Metadata from event |
| 36 | + print("\nDeserializing Metadata Event:") |
| 37 | + metadata = Metadata().from_json(event.content()) |
| 38 | + |
| 39 | + print(" Metadata Details:") |
| 40 | + print(f" Name : {metadata.get_name()}") |
| 41 | + print(f" Display : {metadata.get_display_name()}") |
| 42 | + print(f" About : {metadata.get_about()}") |
| 43 | + print(f" Website : {metadata.get_website()}") |
| 44 | + print(f" Picture : {metadata.get_picture()}") |
| 45 | + print(f" Banner : {metadata.get_banner()}") |
| 46 | + print(f" NIP05 : {metadata.get_nip05()}") |
| 47 | + # ANCHOR_END: create-metadata |
0 commit comments