ผมเชื่อว่าผู้ที่ได้อ่านบล็อคนี้คงจะรู้จัก Nostr กันมาบ้างแล้วผมก็ไม่ขออธิบายอะไรให้ยืดเยื้อยาวนาน มาเข้าเรื่องกันดีกว่า
สำหรับ Nostr นั้นโดยปกติแล้วหากเป็นผู้ใช้งานทั่วไปจำเป็นจะต้องใช้ Nostr client ไม่ว่าจะเป็น Android, IOS หรือจะเป็น Web client โดยเป็นการดึงข้อมูลมาจาก Nostr Relay (ค่อยมาอธิบายทีหลัง) โดยผ่าน “websocket” protocol ที่สามารถส่งข้อมูลได้แบบ Realtime
หลังจากที่รู้คร่าวๆแล้วเรามาลองเชื่อมต่อกันเลยดีกว่า อย่างแรกเราต้องมีโปรแกรมที่สามารถเชื่อมต่อเข้ากับ websocket โดยผมจะใช้ Postman ในการเชื่อมต่อ ให้คุณทำการติดตั้งและสมัครให้เรียบร้อย โดยในบล็อคนี้ผมจะมาบอกวิธีแค่การ Request เพื่อรับข้อมูลจาก Relay แบบเบื้องต้นกัน
หลังจากเข้ามาที่หน้า Home แล้วให้สร้าง workspace ขึ้นมาใหม่และเข้าไปที่ File > New…
หลังจากนั้นให้เลือก WebSocket
จะได้หน้านี้ขึ้นมา
ตรง ‘Enter URL’ ให้เรากรอก URI ของ Nostr Relay ที่เราะใช้ เช่น wss://relay.siamstr.com
โดยการคำสั่งในการ Request นั้นคือ
["REQ"]
พิมพ์เสร็จก็ส่งโลด!
แต่ถ้าสังเกตุจะเห็นว่าเรากดส่งไปแล้วแต่มันแจ้งมาว่า
[
"NOTICE",
"ERROR: bad msg: bad message"
]
ซึ่งนั่นก็ไม่ใช่เรื่องแปลกอะไรไม่ต้องตกใจไปเพราะมันไม่เป็นไปตาม NIP-01 ที่ได้ตั้งไว้นั่นเอง
ขั้นตอนต่อไปเพื่อที่เราจะสามารถดึงข้อมูลออกมาจาก Relay ได้นั้นเราจำเป็นจะต้องเพิ่มเติมคำสั่งไปนิดหน่อยให้พิมพ์ตามนี้เลย
["REQ", "0", {}]
หลังจากที่พิมพ์เสร็จก็กด send ตามปกติ
แต่ครั้งนี้เราจะสังเกตุได้ว่าในส่วนของ Response นั้นมีข้อมูลขึ้นมาแล้วซึ่งนั่นแหละคือข้อมูลจาก Relay ที่ได้มา แต่ข้อมูลนี้ก็ยังอยู่ในรูปแบบของการเข้ารหัสอยู่ แต่ก็อาจจะมีบางอันที่พอจะอ่านได้บ้างนิดหน่อย และใช่มันอัพเดทตลอดเวลาและเร็วมากๆเพราะมีคนหลายคนที่ใช้ Relay อยู่ ณ ตอนนั้นเลย
หรือคุณอาจจะอยากลองอะไรอีกนิดหน่อยเช่น การกรองเอาเฉพาะ kind 0 (เดี๋ยวว่างๆมาเจาะลึกให้เกี่ยวกับ ประเภทต่างๆ) เราสามารถพิมพ์คำสั่งนี้ลงไปได้
["REQ", "0", {"kinds": [0]}]
หลังจาก Request ไปแล้วเราจะได้ข้อมูลที่เป็น kind 0 เท่านั้น
หากมีข้อสงสัยหรืออยากจะติดต่อสามารถติดต่อได้ที่
NOSTR: karibura@siamstr.com
หรือจะ Donate ก็ได้ที่นี่เลย