วันพฤหัส, กุมภาพันธ์ 21

Technical

เรื่องราวในเชิง Technic จะมีลงลายละเอียดบ้างบ้างน้าาในหมวดนี้

มาออกแบบ App บน Blockchain กันเถอะ

มาออกแบบ App บน Blockchain กันเถอะ

Technical
สวัสดีครับผม..จากการเขียนบทความแนะนำเกี่ยวกับมุมมองต่างๆของ Blockchain มากันหลายมุมมองแล้ว วันนี้ทีมงานอยากขออนุญาตมาเขียนในมุมมองว่า ถ้าเราจะออกแบบ Application ซัก 1 App บน Blockchain นั้นเราต้องคิดอย่างไรและมีมุมมองอย่างไรกันนะครับผมมม... ขอเริ่มที่ MVC ที่ขอเริ่มต้นที่ MVC Model เพราะคิดว่าเป็นรูปแบบที่นักพัฒนาระบบส่วนใหญ่จะรู้จักกันเป็นอย่างดีอยู่แล้ว ดังภาพเลยครับ จากภาพเราจะเห็นว่า View คือ ส่วนที่เรามีไว้ให้ผู้ใช้งานทำงานต่างๆอะไรก็สุดแล้วแต่ Application จะทำงานไป อาทิ ผู้ใช้งานเข้าใจว่ากดปุ่มนี้แล้วระบบจะบันทึกข้อมูลให้ซึ่งนับเป็นสิ่งสำคัญกับความเข้าใจของผู้ใช้งาน บางระบบออกแบบ View ไม่ดีแม้ว่าระบบหลังบ้านจะดีขนาดไหนผู้ใช้งานก็ไม่ชอบมันอยู่ดี Control คือ ส่วนที่จะทำงานจริงๆ หลังจากที่ผู้ใช้งานกดปุ่มอะไรบางอย่างไปแล้วนั้นเองครับว่าจะให้ระบบเราทำอะไรเราก็จะม
ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 4 – Deploy Smart Contract

ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 4 – Deploy Smart Contract

Technical
ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 4 จากคราวที่แล้ว เราเขียน Contract พร้อม function Hello world กันแล้วนั้น คราวนี้เรามาลอง Deploy ขึ้น network กันดูนะครับ แต่ก่อนอื่นเลยจะขอเล่าให้ฟังก่อนว่าในการติดต่อกับ Ethereum network นั้น มันมี Tool ที่ใช้คุยได้อยู่มากมาย แต่ที่นิยม ๆ จะมีอยู่ 3 ชื่อก็คือ web3.js, go-ethereum (หรือ Geth) และ Mist ซึ่งทั้ง 3 ตัวที่ผมเอ่ยมานั้น เอามาใช้ deploy ได้หมดเลย แต่ความยากง่ายจะต่างกันดังนี้ครับ ฉะนั้น ในบทความนี้ผมขออนุญาตแนะนำการ deploy โดยใช้ tool ที่ชื่อว่า Mist นะครับ ขอแนะนำสั้น ๆ เกี่ยวกับ Mist ให้ฟังก่อนนะครับ เจ้าตัว Mist เนี่ยมันเป็น application ที่จริงๆแล้วเหมือน web browser เลยสามารถใช้ท่องเว็บก็ได้ แถมถ้าเว็บนั้น ๆ มีการเรียก library web3.js Mist ก็จะรู้จักทันทีเพราะมัน include อยู่ในตัวเองด้วย แถมเจ้า Mist นี่เราสามารถใช้เป็นกร
ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 3 – Hello world

ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 3 – Hello world

Technical
ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 3 สวัสดีปีใหม่ครับ มาแล้วครับ กลับมาและ ห่างหายไปนานนิดนึง เนื่องจากปีใหม่ไปเที่ยวต่างจังหวัดมาเลยไม่ได้มีเวลามาเขียนต่อเลย แหะๆ แล้วทุกท่านเป็นอย่างไรบ้างครับไปเที่ยวไหนมาหรือเปล่า ^^ ส่วนเนื้อหาในบทนี้ จากบทก่อน ๆ ที่เรารู้เรื่องพื้นฐานของการจะเขียน Smart Contract แล้วนั้น เรามาลงมือเขียน code กันเลย โดย code ที่เราจะเขียนกันนั้น จะเริ่มด้วย function พื้นฐานสามัญประจำโลกเลย นั่นก็คืออ function HelloWorld ที่แสน classic ที่ผมคิดว่าท่านที่เรียนการ Programming มาก็ต้องรู้จักเป็นอย่างดี (ฮา) ซึ่งหน้าตาของ code เป็นดังนี้   โดยจาก source code ที่ผมแปะไว้ข้างบนนั้น จะขออธิบายเป็นส่วน ๆ ดังนี้ครับ   อันนี้เป็นตัวที่กำหนด version ของ compiler เพื่อให้ compiler รู้ว่ามันควรทำงานกับ source code นี้มั๊ย เผื่อในอนาคต co
ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 2 – IDE ที่จะใช้

ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 2 – IDE ที่จะใช้

Technical
ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 2 มาต่อกันเรื่องการเขียน code เพื่อสร้าง Smart Contract กันนะครับ โดยจากคราวที่แล้ว ผมได้เล่าถึงพวกประเภทของตัวแปรที่ใช้ได้ในภาษา solidity มาและ ถัดมาก็จะเริ่มมาลองเขียนกันเลยยย ก่อนอื่นเลยเวลาเราจะเขียน code ก็จำเป็นต้องมี editor เพื่อเขียนถูกมั๊ยครับ ซึ่งสำหรับภาษานี้จริง ๆ แล้วก็เขียนใน nodepad เลยก็ได้ แต่ถ้าต้องการสีสันหน่อยไฮไลท์ syntax หน่อย มันก็มีคนทำ editor ขึ้นมาเหมือนกันซึ่งมีเยอะแยะเลยทั้งแบบ online และ offline โดยตัว offline นั้นคือ Mix IDE ซึ่งตัวนี้ผมก็เขียนลองเขียน มันจะมี emulator จำลอง mode ขึ้นมาให้เล่นได้ใน IDE ด้วย ก็แลสะดวกดี แต่ที่ผมเจอมาคือโปรแกรมมันค้างบ่อยมาก เลยไม่น่าใช้เลย (ปัจจุบัน คนสร้างไม่ได้ดูแลต่อแล้ว) (รูปจาก http://blog.carl.pro/2016/06/building-an-ethereum-environment-with-docker/)  
ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 1 – ชนิดของตัวแปร

ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 1 – ชนิดของตัวแปร

Technical
ว่าด้วยเรื่องการเขียนโค้ด Smart Contract ภาค 1 จากภาคที่แล้วที่ผมได้เกริ่นเรื่องของ Smart Contract ไว้ ซึ่งก็คงเข้าใจกันบ้างไม่มากก็น้อยนะครับ กลับมาคราวนี้เลยจะเป็นภาคต่อของเรื่อง Smart Contract ซึ่งเราจะลง code กันและ ก่อนอื่นเลยจะต้องบอกก่อนว่า ถ้าจะเขียน Smart Contract เนี่ยควรจะมีพื้นฐานของภาษา Java Script อยู่บ้าง จะทำให้พอเข้าใจอะไร ๆ  ได้ง่ายขึ้น เพราะ Syntax ของภาษาที่ใช้เขียน code ของ Smart Contract หรือที่เรียกว่า Solidity นั้น มีพื้นฐานมาจาก Java Script นั้นเอง (แต่ก็ไม่ได้เหมือน 100% นะครับ) ก่อนอื่นเลยสิ่งแรกที่ควรรู้จัก ก็คือ Data type ที่มีให้เราใช้งานได้ในภาษานี้นะครับ ซึ่งถึงแม้ผมจะบอกว่าเหมือน Java Script ก็จริง แต่จริง ๆ ภาษานี้ก็ต้องประกาศ Data type ให้กับตัวแปรที่เราสร้างขึ้น (ถึงแม้จะใช้คำสั่ง var ได้เหมือนในภาษา Java Script ก็เถอะ แต่ที่ถูกที่ควร ควรใช้ Dat
มาเริ่มต้นทดลองเป็นคนขุดเหมือง Ethereum ผ่าน Network Test

มาเริ่มต้นทดลองเป็นคนขุดเหมือง Ethereum ผ่าน Network Test

Technical
บทความนี้จะอธิบายเนื้อหาสำหรับผู้ที่เพิ่งเริ่มใช้งาน Ethereum ที่ต้องการทดลองขุดสกุลเงิน Ethereum ผ่าน Network Test ครับ แล้วเป็นคนงานขุดเหมืองเหมาะสำหรับใครบ้าง? 1.เปิดคอมพิวเตอร์ทั้งวันแต่ไม่ได้ใช้งานอะไรเลย 2.มีคอมพิวเตอร์ Spec เทพ เช่น การ์ดจอแรงมากกกก ทำพวก SLI ของค่าย NVIDIA หรือ Crossfire ของค่าย AMD เพราะการขุดเหมืองก็คือการที่เรานำทรัพยากรคอมพิวเตอร์ของเราไปประมวลผลตามสูตรให้ผ่านเงื่อนไขที่กำหนด ซึ่งใครที่มีคอมพิวเตอร์เทพก็จะประมวลได้ไว เมื่อประมวลได้ไวก็จะมีโอกาสผ่านเงื่อนไขที่ Ethereum  กำหนดก่อน 3.เป็นคนดวงดี (ข้อนี้ไม่จำเป็นต้องมีคอมพิวเตอร์ Spec เทพ ฮ่าๆ) เพราะการขุดเหมืองเพื่อให้ได้เงิน Eth นั้นคือการที่คอมพิวเตอร์สุ่มค่าบางอย่างไปประมวลผลเพื่อให้ผ่านเงื่อนไขที่กำหนด ทีนี้ถ้าเราดวงดีอาจจะสุ่ม 1-2 ครั้งก็ได้ค่าที่ผ่านเงื่อนไขเลย เริ่มขุดเหมืองต้องเตรียมอะไรบ้าง
พูดถึง Ethereum ก็ตามมาด้วย Smart Contract แล้ว Smart Contract คืออะไรกัน ??

พูดถึง Ethereum ก็ตามมาด้วย Smart Contract แล้ว Smart Contract คืออะไรกัน ??

Technical
... บนโลก blockchain นั้นโดยทั่วไป คนจะนึกถึงเรื่องรับและส่งเงินกันเช่น Bitcoin Litecoin หรือ whatever coin (ซึ่งมีเยอะมาก ก.ไก่ 20 ตัว ลองดูที่ https://en.wikipedia.org/wiki/Digital_currency ได้ครับ) แต่จริงๆแล้ว มี blockchain อยู่หนึ่งประเภทที่สามารถทำได้มากกว่าแค่เรื่องรับและส่งเงิน (จริงๆ พื้นฐานของมันก็ยังสามารถรับและส่งเงินได้) นั่นคือ Ethereum อย่างที่บอกในตอนต้นว่า Ethereum เป็น blockchain ที่มากกว่าแค่รับและส่งเงินกัน สิ่งนั้นก็คือ Ethereum สามารถทำให้ blockchain network สามารถประมวลผลอะไรก็ได้ ซึ่งคำว่าประมวลผลอะไรก็ได้นั้น หมายถึงว่า ผู้ใช้งานสามารถเขียน code เพื่อไปฝากไว้ที่ Ethereum network และเมื่อมีใครคนอื่น (หรือเราเองก็ได้) เรียกใช้งาน code นี้ ตัวคนที่อุทิศตัวเป็น miner ก็จะหยิบเอา code ของเรามาประมวลผลให้ซึ่งคนที่เรียกใช้งานนั้น นอกจะเรียกเฉยๆได้แล้ว ยังสามารถส่ง p
เข้าสู่โลก Ethereum ผ่าน MyEtherWallet กันดีกว่า!!

เข้าสู่โลก Ethereum ผ่าน MyEtherWallet กันดีกว่า!!

Technical
หลังจากที่เราศึกษากันจนรู้จักว่า Ethereum คืออะไร แล้วถ้าเราอยากทดลองเข้าใช้งาน Ethereum ละจะต้องเตรียมอะไรบ้าง แต่เนื่องจากตัว Ethereum มีระบบที่คล้ายกับ bitcoin คือ ไม่มีศูนย์กลางการควบคุม (Decentralized)  โดยหัวใจสำคัญคือข้อมูลของ chain ใน network จะถูกนำมาเก็บที่เครื่องผู้ใช้งานของทุกคนซึ่งขนาดของข้อมูลจะมีขนาดใหญ่และใช้เวลา sync ข้อมูลนานมาก ในบทความนี้จะพาผู้อ่านเริ่มต้นใช้งาน Ethereum ผ่านเว็บไซต์ www.myetherwallet.com ข้อดีคือเราไม่จำเป็นต้องเก็บข้อมูลของ network เพียงแค่มี internet และ browser ก็สามารถใช้งานได้แล้วครับ เริ่มสร้างกระเป๋าเงิน จากที่บอกมาแล้วข้างต้นว่า Ethereum มีระบบที่คล้ายกับ bitcoin ดังนั้นการเข้าใช้งานครั้งแรกจึงจำเป็นต้องสร้างกระเป๋าเงินเพื่อใช้สำหรับเก็บเงินสกุล eth ของเราเองก่อน 1.ใส่รหัสผ่านแล้วกดปุ่ม Generate Wallet 2.ทำการ save private ke
มาทำความเข้าใจ Blockchain ในภาษาเทคนิคแบบง่ายๆ กันเถอะ

มาทำความเข้าใจ Blockchain ในภาษาเทคนิคแบบง่ายๆ กันเถอะ

Technical
หลายคนคงเคยได้ยินชื่อเสียงของ Blockchain มาไม่มากก็น้อย บ้างก็ว่าจะมาเปลี่ยนโลก บ้างก็ว่าสามารถล้มริษัทยักษ์ใหญ่ได้เลย ในวงการ Fintech นี้เลยเกิดบูมขึ้นมาอย่างมาก และที่ขาดไม่ได้วงการเงินธนาคารตื่นตัวกันสุดขีดกับ Blockchain นี้ และแล้วก็ตามมาด้วยนักการตลาดและนักธุรกิจ IT มากมายที่พยายามนำแนวคิด Blockchain มาประยุกต์ใช้งานเพื่อให้ได้ผลิตภัณฑ์หรือบริการใหม่ๆขึ้นมา ในวันนี้ทีมงานเลยอยากนำเสนอ Blockchain ในมุมมองของ IT Technical ว่าเราควรมองและเข้าใจกับมันอย่างไรเพื่อให้เราสามารถออกแบบระบบหรือนำเจ้าแนวคิดนี้ไปพัฒนาต่อยอดได้อย่างเป็นรูปธรรมต่อไปครับ แต่ก่อนจะไปลงเนื้อหาอยากให้พิจารณาภาพโดยรวมก่อนครับดังนี้เลยยยย..   ความเข้าใจข้อที่ 1 เรื่อง Public Ledger ในโลก Blockchain จะกระจายข้อมูลกันให้ทุกๆคนที่ join อยู่ใน Network เก็บ ซึ่งจะขนานนามคนทุกคนใน Network ว่า Public Ledger