PusanStudio's avatar
PusanStudio
me@pusanstudio.com
npub1x3j9...tcqu
มนุษย์เป็ดคนหนึ่ง - Full Stack Developer - Hardware Engineer & IoT Automation - IT & Network & System Engineer - Data & Cyber Security - Blockchain, DApp, Smart Contract Dev
My OwO Boltcard Service (Serverless) #2 ฟีเจอร์ใหม่ประจำวันนี้ก็คือ ~~~ ให้ Boltcard การ์ดรองรับ pinLimit for withdrawRequest คือถ้าเราตั้ง pin limit บัตรเอาไว้ ถ้าเราแตะบัตรเกินยอดที่ลิมิทเอาไว้ ตัว wallet หรือ pos ฝั่งร้านค้า จะทำการขอ pin จากผู้ใช้เพื่อยืนยันการตัดเงิน ง่ายๆยอดเล็กก็ตัดได้เลยไม่ขอ pin ส่วนยอดใหญ่ต้องมี pin ถึงจะตัดได้ เสริมตัว pin จะเป็นรหัสที่ผู้ใช้ fix ไว้ก็ได้ หรือจะเป็น dynamic (one time pin) ก็ได้ เช่น แตะบัตรแล้วจะมี pin ส่งเข้ามือถือ จะทางไหนสักทาง 55555 *หมายเหตุ implement นี้ค่อนข้างใหม่ pos/wallet รองรับยังมีไม่เยอะ #siamstr #boltcard image
PusanStudio's avatar
PusanStudio 3 days ago
ไม่รู้ทำอะไรกัน แต่ขึ้นเรือ 108 บาทด้วยคน จะพอไหมไม่รู้ เล่นกดแจกวันหนึ่ง 2-3k sats 🤣 #siamstr image
PusanStudio's avatar
PusanStudio 4 days ago
อยากเปิด bitcoin full node ปัญหาคือใช้ software ไหนดีวะ เปิดแบบจริงจัง ให้รองรับ service ในอนาคตพวก lightning คราวนี้ software มีทั้ง bitcoind, btcd และอื่นๆอีกเพียบ ส่วนตัวชอบ btcd เพราะใช้ go จะได้ซนแก้ไขเองได้ ก็เลยลอง node discovery หา peers แล้วดึง user agent มาดูว่าคนส่วนใหญ่ใช้อะเปิดอะไรกัน เหมือนตอนเปิด nostr relay ก็สแกนดูก่อนว่าคนส่วนใหญ่ใช้อะไรเปิดกัน จะได้ใช้ตามๆไปแสดงว่าดี 5555 สแกนมาอะอ่าวเจอแต่ bitcoind (bitcoin core) กับ knots แล้วคนใช้ก็พอๆกันอีก เลือกไม่ถูกอีกละทีนี้ #siamstr
PusanStudio's avatar
PusanStudio 4 days ago
หลังจากได้บรรลุวิชา lud (LNURL ) และ boltcard ไป เลยเขียน boltcard & lightning service ขึ้นมาเองบน serverless จะได้รับโหลดมหาศาลได้ แล้วคิดฟีเจอร์ออกมาได้เยอะมากๆ แต่มีอยู่ฟีเจอร์หนึ่งที่อยากจะมาอวดก่อน คือปกติถ้าเราเอา boltcard ไปแตะจ่าย แล้วถ้าร้านไม่ได้กำหนดยอดเงินไว้ก็จะตัด max วงเงินบัตรเลย ก็เป็นปัญหาของเจ้าของ boltcard ที่ต้องเช็กดีๆก่อนตลอดแตะ แต่เราสามารถเขียนเงื่อนไขไว้ใน boltcard service ได้นะ ว่าให้ boltcard เราต้องตัดแบบกำหนดจำนวนเงินมาก่อนแล้วเท่านั้น ไม่งั้นไม่ให้ตัดโว้ยยย #siamstr image
PusanStudio's avatar
PusanStudio 6 days ago
หลังจากผม Setup lnbits เล่นเอง ได้ไม่ถึงวันเจอช่องโหว่แบบงงๆ เป็นช่องโหว่ของระบบหนึ่งในไทย ผสมกับช่องโหว่ lnbits เลยทำทำให้ Blotcard ของผู้ให้บริการเจ้าหนึ่ง เกือบ 700 ใบรวมๆ 3 ล้านกว่า sats มีความเสี่ยงโดนขโมยตังได้ทุกเมื่อ . ซึ่งอาจจะเป็นเราเอง ขโมยซะเลยตั้ง 3 ล้าน sats ก็เกือบแสนบาทอยู่ หวานเจี๊ยบเลยยย ถุ้ยยย อะหยอก โชคดีว่าไม่แพ้เสียงในหัวสภาพ . แจ้งอุดสิครับรอไร ฝืนเอาไปตรูโดนคนไทยไล่ล่าค่าหัวแน่นอน 🤣 และน่าจะทำคอมมูในไทยหลอนไปอีกนาน . ใดๆได้แจ้งให้เจ้าของ node รับทราบไปละ รอให้แพทช์ระบบให้ 100% ก่อน เดะมาเล่าเบื้องหลังของคนบ้าแห่งการ over engineering ที่นั่งเขียน NTAG424-DNA card emulator จนสร้าง lnurlw ที่เป็น withdrawRequest โดยไม่ต้องมีบัตรจริง เอามาผสมกับช่องโหว่ จนสามารถดูดตังได้ #siamstr
PusanStudio's avatar
PusanStudio 1 week ago
นั่ง setup lnbits ลง extensions นั่งทำบัตรอะไรเสร็จ ปัญหาใหม่ แล้วตรูจะเอา Bolt Card ไปจ่ายกับใคร ร้านไหน 🤣 เปิดดูแมพทั้งจังหวัดไม่มีร้านรับ Lightning Contactless เลย 🤣 ขนาด Lightning ปกติยังไม่มี ดูแววได้ประเดิมเปิด PoS รับ Lightning เป็นร้านแรกในจังหวัดละ #siamstr image
PusanStudio's avatar
PusanStudio 1 week ago
ได้ NFC Card (NXP NTAG 424 DNA) มาตับหนึ่งจาก supplier สุดน่ารัก หามาจนได้ น่าเอามาจับทำ Bolt Card แท้ เป็นเจ้าเดียวที่ฝากหา esp32-s3 มีจอทัช สำหรับทำ Nostr Remote Signing Device อีก แถมเครื่องพิมพ์เรา ดันพิมพ์บนบัตร pvc ได้อีกต้องหาลายบัตรละ ดูแววปีนี้ได้จะเปิด Lightning Node ของตัวเองจริงๆละ ใช้บ่อยจัด เจอกัน Bolt Card Service #siamstr
PusanStudio's avatar
PusanStudio 1 week ago
ขอบคุณในความหวังดีของ nostr client ที่ช่วย sync relay ให้นะ 🤣 event ที่ผมลอง labs ใน private relay ก็ได้กระจายเป็นสิบๆ public relay ในพริบตา คือผมใช้ acc หนึ่งไว้ลองซน ต่อไว้แค่ private relay อย่างเดียว พังจะได้รีเซ็ต DB ล้างได้ ละเอา acc นี้ไว้มอนิเตอร์ ละต่อไว้หลาย public relay + private relay ที่ตัวรองเกาะอยู่ ละ nostr client หวังดี sync ให้ ละคือ ฉีกตามมาตรฐานไปเยอะอยู่ ดีว่าอยู่ kind 10k+ เลยไล่ประกาศทับได้ทัน แต่เท่าที่ poc มาโอเคเลย คือทำให้อัพไฟล์ผ่าน nostr client ทั่วไปผ่าน blossom นี่แหละ แต่ server จะคายเป็น ipfs url ออกมาเป็นค่าเริ่มต้น แทนลิ้ง sha256 แต่ถ้าเข้าผ่านลิ้ง sha256 ปกติ ที่เป็น blossom url ก็จะ redirect เป็น ipfs (จริงๆ ตาม bud-01 อนุญาตให้ redirect เพื่อใส่ file extension แต่เราลักไก่นิดหน่อย) แล้วใช้ฟีเจอร์ bud-03 sync server list จะได้สลับไปใช้ client อื่นไม่ต้องใส่ url media server ใหม่ (อันนี้ก็ลักไก่เอา เลยทำให้เอา sha256 คนอื่นมาใส่เซิฟเราได้ ทำรองรับตามมาตรฐานไว้ แต่เอา cid ที่เป็นมาตรฐานเราไปใส่กับเซิฟชาวบ้านไม่ได้) จะได้เล่นของใหม่แบบไม่ต้องทำ client เอง ยอมเสียความ decentralized ของ blossom แต่ได้ความ decentralized ของ ipfs eco system มาแทน #siamstr
PusanStudio's avatar
PusanStudio 1 week ago
จะเกิดอะไรขึ้นถ้ามีโมดูล ราคาหลักร้อย สามารถดัดแปลง vending machine เก่าๆ ที่เป็น โมดูลรับเหรียญ โมดูลรับธนาบัตร Pulse ธรรมดาๆ ให้สามารถรับ Bitcoin Lightning (nostr, coinos ,opennode) หรือคริปโตเชนอื่นๆได้ และสามารถนับยอดขายจากการหยอดเหรียญ ธนาบัตร บันทึกเข้าระบบหลังบ้าน เป็นสถิติได้ หรือเกิดเคสเครื่องอมตัง หรือไฟดับ ก็สามารถ remote สั่งการ vending machine จากระยะไกลได้ หรือถ้าเป็นโมดูลมีจอแพงขึ้นมาหน่อยหลักพันต้นๆ ก็จะรับคริปโตเพิ่มได้อีกหลายแบบ หรือพวง Payment Gateway ทั้งในไทยและตปท. ได้ (เช่น พร้อมเพย์, ทรูวอเล็ตม อาลีเปย์ วีแชตเปย์) #siamstr #foss
PusanStudio's avatar
PusanStudio 1 week ago
วันนี้นั่งกาวๆก็คิดว่า ถ้าเราทำ IoT Gateway บน Blockchain layer 2 ได้แล้วทำไมบน Nostr จะทำบ้างไม่ได้ จริงๆพอมานั่งไล่ nip บน nostr ดูมีฟีเจอร์ที่จำเป็นหมดนี่เลยนี่หว่า ยังไม่ต้องสร้าง kind ใหม่เป็นของตัวเองเลย 555 ลองไล่แบบคร่าวๆกาวๆ ฟีเจอร์ที่ IoT Gateway ควรมี - Authentication & Authorization ก็ให้ทุก device มี key pair เป็นของตัวเอง verify event signature เอา - Auto Discovery ก็ใช้ Relay Gossip (NIP-66) หรือ Relay List Metadata (NIP-65) วิ่งหากัน หรือให้แต่ละ device มี nip-05 ไปเลย - ACL Rule จะใช้ท่า group relay (NIP-29) หรือ เก็บ npub set (NIP-51) - Data Encryption (NIP-44) & Data Privacy (NIP-17+NIP-59 ) ในการสื่อสารระหว่าง device - Data Store จะเก็บแบบมี history หรือเก็บแค่ last state ก็เลือกช่วง kind เก็บเลย - Get/Set Pub/Sub ก็เป็นฟีเจอร์พื้นฐานของ nostr อยู่ละ และที่สำคัญคือถ้าทุก vender ใช้ standard เดียวกัน เราก็จะสามารถควบคุม device ข้าม vender กันได้ แบบคล้ายๆ Matter Protocol ที่เป็น Open Standard ให้เราใช้แอพ ใช้ device ข้ามค่ายกันไปมาได้ แค่บน nostr มีความ decentralized *** คำเตือน ทฤษฎีอาจจะมีความกาวหน่อยๆ ยังไม่ได้ PoC หรือ implement บน nostr จริงๆ อาจมีข้อมูลผิดพลาดบ้างหรือยังไม่ครบถ้วน *** #siamstr
PusanStudio's avatar
PusanStudio 1 week ago
นั่งทำ filter relay กรองสแปม ขำๆ ลองใช้ config เดิมๆ บัญชีผมก็โดนคัดออกไปด้วย 🤣 คะแนน WoT ผมน้อยเกินไป หรือนี่เป็นสาเหตุที่ลองคุยกับบางคนไม่เห็น จนต้องไปคุยกันข้างนอก ทั้งๆที่ relay ก็ตรงกันหลายตัวละนะ 🤣
PusanStudio's avatar
PusanStudio 1 week ago
พูดถึงการ Signing ด้วยความผมไม่ชอบ extension หลายๆตัวทั้งดูไม่น่าไว้ใจ ux/ui เก่าโบราณบ้าง ส่วนทำไมไม่ใช้ Ably อ๋อ ไม่ชอบเป็นการส่วนตัว คือไม่อยากพึ่ง 3party ยิ่งไม่ใช้ FOSS ยิ่งไม่ค่อยอยากพึ่งอีก ขนาด relay ยังเปิดเองแรกๆก็เปิดแค่ relay ธรรมดาๆ 2 วันที่ผ่านมาได้ศึกษา nostr จริงจัง ตอนนี้ relay งอกยัน Signing, NWC, DM, Group, Search, Broadcast และมีแววเพิ่มอีกเรื่อยๆ เดะมาเล่าแบ่งปันอีกที รวมถึง Media Server (blossom & nip-96) ก็กำลังทำใช้เองอยู่ . ไหลลงทะเลไปไกลละเข้าเรื่องดีกว่า . ตอนแรกผมก็ทำ NSD (Nostr Signing Device) ด้วย esp32 (TTGO T-Display) นี่แหละ เหมือนจะดี มันไม่ได้ง่ายแบบ security key ที่ browser, pc, mobile ส่วนใหญ่รองรับ Web Authentication API ให้ browser, app คุยกับ hw ได้เลยโดยไม่ต้องลง extension เพิ่ม หรือฝั่งมือถือก็มีแอพคุยผ่าน otg, nfc ได้เลย เช่น fido, webauthn แต่กับ NSD ไม่เลย สุดท้ายมันก็ยังต้องลง extension เพื่อบริด NSD ผ่าน serial หา nip-07 นี่ยังไม่รวมต้องลง driver ของ usb to serial ให้คอมมองเห็น ftdi chxxx ชิพของ esp32 อีก พอคุยผ่าน extension ก็ต่อเข้ามือถือก็ไม่ได้เหมือนเดิม ไม่สะดวกเอาเสียเลย เลยอาจจะยังน้า คงต้องรอจนกว่า nostr จะโดนบรรจุเข้าในมาตฐาน browser ก็น่าจะอีกนาน . เลยมาจบที่ NRSD (Nostr Remote Signer Device) ใช้ esp32-s3 + Touch Display 3.5inch เออนี่แหละที่ตามหา จบสักทีใช้งานง่ายสะดวก ออกมาเป็น qrcode bunker url ใช้บนคอมก็ได้ มือถือก็ได้ มีข้อเสียเดียวแค่ต้องพึ่ง wifi ออกเน็ต เดี๋ยวดัดแปลงให้วิ่งบน NB-IoT หรือบ้าหน่อยก็ LoRaWAN อีกที . แต่ก็ยังใช้ควบคู่กับ Amber บนมือถือ และ browser extension ที่ทำขึ้นมาเองง่ายๆให้บริด nip-46 หา nip-07 เพราะยังมีอีกหลายเว็ปที่ยังไม่รองรับ Remote Signer #siamstr #foss
PusanStudio's avatar
PusanStudio 1 week ago
โชคดีที่นั่งเปิด Signing Relay + ทำ Web Singer เป็นของตัวเองเรียบร้อยแล้ว เว็ป https://nsec.app ได้ cert หมดอายุเป็นที่เรียบร้อย แล้ว google tld (ex. .app .dev) เป็น HSTS Preloading ฝังลงใน browser client ก็จะไม่สามารถเข้าโดเมนพวกนี้แบบไม่มี cert หรือ cert ไม่ถูกต้องได้เลย 🤣 image
PusanStudio's avatar
PusanStudio 1 week ago
ระหว่างนั่งฝึก implement nostr ไปทีละ nip แบบ build from scratch นั่งคราฟ payload ต่อ raw socket ก็มีไอเดียแปลกๆลอยมา หลายปีก่อนยุค JIB Chain เราเคยนำ USB "4G LTE WiFi modem" ที่มีขายในแอพส้ม,ฟ้า ราคา 1-2 ใบแดง มาจับลง bootloader + kernel ใหม่ ให้เป็น linux (aka. OpenStick) เพื่อเอามารัน JBC Nodes & Validators แบบประหยัดไฟได้ น่าจับน้องมาปัดฝุ่น เอามารันพวก Signing Relay หรือ Broadcast Relay หรืออะไรก็ได้ ที่เน้นรันตลอดยาวๆที่เก็บข้อมูลไม่เยอะ น้องกินไฟต่ำมาก ~5w น้อยกว่า Raspberry Pi ซะอีกและราคาถูกมากกก เผื่อใครสนใจศึกษาตัว OpenStick <Open Sorce Project> #siamstr
PusanStudio's avatar
PusanStudio 1 week ago
Nostr มี Signing Device (aka. Serial Bridge NIP-07) และ Remote Signing (NIP-46) ถ้าจับรวมกันเป็น Signing Device ที่วิ่งบน Remote Signing ก็คงดี ถึง Signing Device จะต้องเกาะ wifi ออกเน็ตตลอดเวลาก็เถอะ ยกเว้นจะเล่นท่ายากให้ Singing Device ตอนเสียบ usb เข้า pc/mobile ให้จำลองตัวเองเป็น networl interface แล้วสร้าง bunker url ที่แนบ local relay พ่นออกมาทาง hid interface ค่ดบ้า จะได้ plug and play ได้เลยไม่ต้องลง app, extension, driver เพิ่มเติม 🤣