มาลองเชื่อม Nostr โดยผ่าน Postman กัน

karibura
Dec 8, 2023

ผมเชื่อว่าผู้ที่ได้อ่านบล็อคนี้คงจะรู้จัก 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 ก็ได้ที่นี่เลย

--

--