LearnBN on Nostr: Nostr event event บน nostr หรือก็คือ ...
Nostr event
event บน nostr หรือก็คือ โน๊ตหรือข้อมูลต่าง ๆ ที่เราเห็นกันบน nostr ไม่ว่าจะเป็นข้อมูล profile, เนื้อหาบน note, long-form, หรือแม้แต่การไลฟ์ ล้วนแล้วแต่เป็น event ทั้งหมด โดย event จะมีหน้าตาประมาณนี้
{
"id": ,
"pubkey": ,
"created_at": ,
"kind": ,
"tags": [ [...],[...] ],
"content": ,
"sig":
}
id ก็คือ event id ที่มักจะโชว์เวลาทำการโควทบางโน๊ตบน nostr คำนวณโดยการ นำข้อมูลส่วนอื่น ๆ ใน event (pubkey,create_at,kid,tg,content) มา Serialize จากนั้น hash ด้วย sha256
pubkey ก็คือ npubของเราแต่จะอยู่ในรูปของ hex
create_at ก็คือเวลาที่เราสร้างโน๊ต อยู่ในรูปของ unix timestamp ในวินาที
kind ก็คือเลขที่ใช้กำหนดประเภทของ event อยู่ในรูปของ int (0-65,535)
tag ก็คือ # ที่เราใส่ในโพสต์ต่าง ๆ
content ก็คือเนื้อหาที่อยู่บนโน๊ต
sig ก็คือ digital signature ของเรา ใช้เพื่อยืนยันว่า note นี้มาจาก nsec นั้น ๆ ที่เป็นเจ้าของ npub นั้น ๆ จริง ๆ คำนวณด้วยการใช้ ECDSA กับ serialized event data จาก id และ private key ของเรา
อย่างที่เห็นว่าทุกส่วนของ event ถูกเก็บในรูปของ text แล้ว เราสามารถเห็นรูปภาพหรือวิดีโอบน nostr ได้อย่างไร ?
ที่เราสามารถเห็นรูปภาพหรือวิดีโอบน client ต่าง ๆ ของ nostr ได้เนื่องจากการใช้ URL References
ถ้าเอาแบบเข้าใจง่าย ๆ ก็คือสิ่งที่เก็บบน event ของ nostr คือ url ที่ใช้ Markdown-style เพื่อทำ image embedding ขึ้นมา
#siamstr
Published at
2024-07-12 05:08:45Event JSON
{
"id": "b1bfaa8b8c6e8c84223da23044a9ebef6a9d011802d17d3c48d9735a04a27611",
"pubkey": "79008e781adec767cc8e239b533edcb19ea2e260f9281a9125e93425dfac9395",
"created_at": 1720753725,
"kind": 1,
"tags": [
[
"t",
"siamstr"
]
],
"content": "Nostr event\n\nevent บน nostr หรือก็คือ โน๊ตหรือข้อมูลต่าง ๆ ที่เราเห็นกันบน nostr ไม่ว่าจะเป็นข้อมูล profile, เนื้อหาบน note, long-form, หรือแม้แต่การไลฟ์ ล้วนแล้วแต่เป็น event ทั้งหมด โดย event จะมีหน้าตาประมาณนี้\n{\n \"id\": ,\n \"pubkey\": ,\n \"created_at\": ,\n \"kind\": ,\n \"tags\": [ [...],[...] ],\n \"content\": ,\n \"sig\": \n}\n\nid ก็คือ event id ที่มักจะโชว์เวลาทำการโควทบางโน๊ตบน nostr คำนวณโดยการ นำข้อมูลส่วนอื่น ๆ ใน event (pubkey,create_at,kid,tg,content) มา Serialize จากนั้น hash ด้วย sha256\npubkey ก็คือ npubของเราแต่จะอยู่ในรูปของ hex\ncreate_at ก็คือเวลาที่เราสร้างโน๊ต อยู่ในรูปของ unix timestamp ในวินาที\nkind ก็คือเลขที่ใช้กำหนดประเภทของ event อยู่ในรูปของ int (0-65,535)\ntag ก็คือ # ที่เราใส่ในโพสต์ต่าง ๆ \ncontent ก็คือเนื้อหาที่อยู่บนโน๊ต\nsig ก็คือ digital signature ของเรา ใช้เพื่อยืนยันว่า note นี้มาจาก nsec นั้น ๆ ที่เป็นเจ้าของ npub นั้น ๆ จริง ๆ คำนวณด้วยการใช้ ECDSA กับ serialized event data จาก id และ private key ของเรา\n\nอย่างที่เห็นว่าทุกส่วนของ event ถูกเก็บในรูปของ text แล้ว เราสามารถเห็นรูปภาพหรือวิดีโอบน nostr ได้อย่างไร ?\n\nที่เราสามารถเห็นรูปภาพหรือวิดีโอบน client ต่าง ๆ ของ nostr ได้เนื่องจากการใช้ URL References\nถ้าเอาแบบเข้าใจง่าย ๆ ก็คือสิ่งที่เก็บบน event ของ nostr คือ url ที่ใช้ Markdown-style เพื่อทำ image embedding ขึ้นมา\n#siamstr",
"sig": "ef0b0148fa8e4c2e5b9552bb175b4014cc27ecb5620956b995f255f1abcd9f62335910b79dede3d486c199018fd53d7b1b543bf8e33f3e19509d754845794a03"
}