web analytics

บันทึกการทำแอป TDAX Thailand (Unofficial) ตอนที่ 1

cover

สวัสดีครับ บทความนี้จะบันทึกการทำแอป TDAX ของผมเอง (ยังไม่สมบูรณ์) โดยจะเล่าถึงปัญหาที่เจอในระหว่างพัฒนา ซึ่งก่อนหน้านี้ผมได้ทำแอปของ BX เป็นแอปประเภทเดียวกันโดยแอป BX ก็ทำการแยกออกมาจาก แอป Cryptostory จากนั้นก็ดัดแปลงแอป BX มาเป็นแอป TDAX ซึ่งมันง่ายกว่าที่คิดไว้ เพราะผมเขียนโปรแกรมไว้สำหรับเหตุการณ์นี้ แต่ก็ไม่แน่ใจว่าตอนทำจริงจะ work ไหม พอมาตอนทำจริงก็ผลออกมาค่อยข้างดี

จะว่าไปแล้ว ก่อนหน้านี้มีท่านนึงทักผมมาทาง facebook บอกว่ามาจาก TDAX อาจจะเป็นทีมงานหรือ dev ในนั้น แล้วอยากจะชวนผมเข้าร่วมทีมเพื่อทำแอป TDAX wallet โดยเขาบอกมาว่ามีคนแนะนำผมมาให้เขาอีกที ฟังแล้วรู้สึกดีทีเดียวที่เขาให้โอกาส แต่ผมก็ต้องปฏิเสธไปเพราะผมมีงานของผมเอง และอยากจะทำงานของผมเองมากกว่า (แล้วก็มาทำแอป TDAX wallet เองเนี่ยนะ) ดังนั้นผมก็ไม่รู้ว่าพอทาง TDAX เปิดตัวแอปของเขาเอง ที่เป็น Official มีฟีเจอร์มากมายที่เขาไม่เปิดให้คนนอกทำ แอปของผมอาจจะไม่มีประโยชน์ และไม่มีคนใช้อีกต่อไป (ตอนนี้ก็ไม่มีใครใช้อยู่แล้วป่ะ)

 

ดาวน์โหลด

icon

https://play.google.com/store/apps/details?id=com.benzneststudios.tdaxstory

 

แอปนี้โดน Google แบนไปเรียบร้อยแล้วฮะ
โดยบอกว่า แอปใช้ชื่อและไอคอนแอป โดยไม่ได้รับอนุญาตจากเจ้าของ 

 

 

เริ่มต้น

ก่อนหน้านี้ TDAX ยังไม่มี api ให้ใช้งานจริง จะเป็นช่วง beta ซึ่งยังไม่สามารถสร้าง API-key เองได้ ต่อมาก็มีผู้ใช้คนนึงในกลุ่มเฟสบุ๊ค cryptostory คอมเม้นบอกว่า TDAX มี api ใช้งานจริงแล้ว ผมเลยไม่รอช้าลองเข้าไปเล่นดู

https://api-docs.tdax.com/

4

 

เท่าที่ดู Api doc ก็เขียนอธิบายได้ดีในส่วนของ Authorization แต่ในรายละเอียดของ request ทำได้ไม่ดีเลย ไม่มีรายละเอียดว่า response ยังไง

 

Ticker

ผมลองเล่นส่วนของ get balance แล้วก็ public order มันทำงานได้ดี ทำให้ผมทำส่วนของหน้าแสดงราคาได้

screenshot_20180307-145131

 

แต่พอมาดู api ในส่วนของ getmarkethistory กลับไม่บอกว่ารายการไหนเป็นรายการซื้อ อันไหนขาย มีแต่ราคากับจำนวน แล้วจะทำยังไงละเนี่ย หรือว่าเขาลืม หรือผมงงเอง โอเค คิดไปคิดมาก็ปล่อยว่างไว้ก่อน

screenshot_20180307-145242

 

มาลองเล่น ส่วน user ซึ่งก็ใช้งานได้ดี แต่ก็มีแอบงง ตอนแรกที่บอกว่าใช้ parameter เป็น id
อะไรคือ id ตอนนี้เรามีแค่ API-key มันอันเดียวกันหรือป่าว ไม่มีเขียนบอกไว้เลย และไม่มีบอกว่าจะเอา id จากไหน ผมลองหาในเว็บเมนูต่างๆก็ไม่มีบอก ผมเลยลองใช้ API key แทน id ปรากฏว่าใช้แทนได้

ข้อดีคือ api ของ user อันเดียวตอบกลับมาทั้ง address กับ balance มาให้เลยในทีเดียวทำให้ใช้งานได้ง่าย เพราะบาง exchange จะแยกเป็น 2 api ทำให้เวลาจะแสดง address ต้องไปเรียกอีก api ซึ่งมันยุ่งยากไปอีก

screenshot_20180307-145137

 

ปัญหาที่ผมพลาดคือ ไม่ได้ดูว่า response ของ TDAX ใช้หน่วยของเหรียญเป็นอะไร เพราะใน doc ไม่มีการเขียนบอกเลย ผมเลยคิดเอาเองว่าเป็นค่าปกติที่แสดงในเว็บ เพราะขี้เกียจโอนเงินเข้าไปเพื่อทดสอบ แล้วผลคือดันใช้ค่าซาโตชิซะงั้น ส่วนเงินบาทก็ดันใช้ค่าสตางค์ พูดง่ายๆคือ จะใช้จำนวนเต็ม จริงๆผมคิดว่ามันโอเคที่จะใช้ค่าประเภทนี้ในการเก็บข้อมูลแต่การนำค่ามาใช้งานกับ api ควรจะเป็นอะไรที่มาตรฐาน คือใช้จำนวนทศนิยมปกติ หรือถ้าจะใช้แบบนั้นจริงๆก็ควรเขียนอธิบายไว้

เรื่องนี้สอนให้รู้ว่าอย่าคิดเองเด็ดขาด สุดท้ายเพื่อความมั่นใจ ผมเลยต้องโอนเงิน 0.001 BTC และ 1 XZC ไป TDAX เพื่อทดสอบ

อันนี้ภาพบัคดังกล่าวจากผู้ใช้ ท่านหนึ่งในแอป CryptoStory ที่มีฟีเจอร์เดียวกัน

28379502_10211245751443141_234834254463931347_n

 

การเทรด

ผมพยายามจะใช้งาน api เกี่ยวกับการเทรด เช่น order list
แต่มันใช้งานไม่ได้ ผมลองไปสร้าง order ในเว็บแล้วดูผลของ api ปรากฏว่าใน response บอกว่าไม่มี order
หรือต่อให้ไม่ใส่ parameter ค่าอะไรให้มันก็ตอบกลับมาว่า order ว่างเปล่า ผมว่าผมทำถูกต้องแล้วนะ คิดว่าน่าจะเป็นบัคหรืออะไรสักอย่าง อย่างน้อยถ้ามีอะไรผิดก็น่าจะบอก error ออกมา ผมเจอทางตันในตอนนี้ จนต้องอีเมลไปหา TDAX support เกี่ยวกับเรื่องนี้แต่ไม่มีอะไรตอบกลับมาเลย ผ่านไป 3 วันก็เงียบ ทำให้ผมต้องปิดฟีเจอร์การเทรดไว้ก่อน

screenshot_20180307-145234

 

ตั้งค่า

หน้าตั้งค่ายังเหมือนของแอป BX ไม่ได้มีการปรับแต่งอะไร

screenshot_20180307-145156

 

ธีม

ธีมแอปนี้จะใช้โทนสีฟ้า ชื่อธีม Pattaya

screenshot_20180307-145203

 

สรุป

แอป TDAX ในเวอชันแรกของผมนี้ยังไม่สมบูรณ์เพราะปัญหา API ต้องรอการอัพเดทแก้ไข อีกปัญหานึงของ TDAX คือการทำ API document ที่ค่อนข้างแย่ ไม่มีรายละเอียดที่ควรจะมี เหมือนปล่อยให้ developer จับทางเอง อันนี้ควรปรับปรุง สุดท้ายการ support ที่เหมือนไม่มี support คือไม่มีการตอบอีเมลเลย ผมลองส่งอีเมลว่าลืมรหัสผ่านเพราะในเว็บเขาไม่มีระบบ reset password ทาง support ก็ยังไม่ตอบ เวรและกรรมของผู้ใช้โดยแท้ ทำให้ผมค่อนข้างรู้สึกแย่กับ TDAX แล้วสิ แต่ก็หวังว่าทาง TDAX จะปรับปรุงทั้งเรื่องของ api document และ support นะครับ