# หัดเขียน Smart Contract กัน

จากบทความตอนที่แล้ว เราได้ทำการสร้าง Blockchain ของตัวเองขึ้นมาเรียบร้อยแล้ว ถัดไปในบทความนี้เราก็จะมาลองเขียนโปรแกรมใน **Blockchain** หรือที่เขาเรียกกันว่า **Smart Contract** กันดูบ้างดีกว่า

{% hint style="success" %}
**แนะนำให้อ่าน**\
บทความนี้เป็นหนึ่งในซีรี่ **Blockchain** ดังนั้นถ้าเพื่อนสนใจบทความทั้งหมดตั้งแต่เริ่มต้นว่า Blockchain คืออะไร แล้วจะเริ่มต้นสร้าง Blockchain เป็นของตัวเองได้ยังไง เพื่อนสามารถกดไปอ่านได้จากลิงค์นี้ครับ [👶 Blockchain](https://saladpuk.gitbook.io/learn/cloud/blockchain) และเราก็มีบทความเรื่องอื่นๆที่น่าสนใจซึ่งสามารถกดดูได้จาก Side menu เบย
{% endhint %}

{% hint style="danger" %}
ขออภัยบทความนี้ยังทำไม่เสร็จแต่ผมหลง publish บทความนี้ออกมา เดี๋ยวถ้ามีเวลาจะกลับมาทำต่อครับ ช่วงนี้งานเยอะม๊วก
{% endhint %}

## 🔥 เปิด SSH ให้สามารถเข้าใช้งานได้

สำหรับคนที่ใช้งาน Blockchain อันอื่นก็ข้ามขั้นตอนนี้ไปดูขั้นตอนถัดไปได้เลยนะ แต่ถ้าใครที่สร้าง Blockchain เป็นของตัวเองตามบทความก่อนหน้าก็ต้องไปทำการเปิด port ให้เข้าใช้งาน SSH เสียก่อนนะ ตามขั้นตอนด้านล่างนี้เลย

1.กดเข้าไปที่ `Resource group` ที่เราสร้างตัว Blockchain ของเราไว้ ซึ่งผมตั้งชื่อมันว่า `saladpuk-demo` ดังนั้นผมก็จะเข้าไปในตัวนี้

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-LoEM8HR8X7oPBOX_XXL%2F-LoEby2fCVLIWSclLcBM%2Fselect-resourcegroup.png?alt=media\&token=75a7d5be-f50c-442f-bacd-06f0c5bc9c30)

2.ถัดไปให้เราหาดูตัวที่มี `TYPE` เป็น **Network security group** ให้เจอ แล้วทำการคลิกเข้าไปในตัว service นั้นเลย ตามรูปด้านล่าง

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-Lv0GIxzpy1u1sJWEaXD%2Fimage.png?generation=1583529100751504\&alt=media)

3.เราจะเห็นว่าในหมวด Inbound security rules นั้นมันจะไม่ยอมให้เข้าไปใช้ผ่าน SSH ดังนั้นเราก็จะทำการแก้ไขมันหน่อยนึง โดยการจิ้มมันไปหนึ่งทีครับ

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-LpP4-FoZBpGqt-IfxEh%2Fimage.png?generation=1583529165700864\&alt=media)

4.ถัดไปให้เลื่อนลงไปด้านล่างนิดหน่อยในหมวด **Action** ให้เลือกเป็น **Allow** ไปครับ เพียงเท่านี้เราก็จะสามารถเข้าใช้งาน Blockchain ของเราผ่าน SSH ได้แล้วครับ

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-LnNZcCMVvpgGJ5EflIb%2Fimage.png?generation=1583529174899428\&alt=media)

## 🔥 เข้าไปเอา connection ของ Blockchain กัน

ในการที่เราจะเข้าไปใช้งาน Blockchain server ของเราได้นั้นเราจะต้องมีตัว Connection ของตัวเซิฟเวอร์ของเราเสียก่อน โดยทำตามขั้นตอนด้านล่างได้เลยครัช

1.เข้าไปที่ `Resource group` ที่เราสร้าง Blockchain ของเราไว้เหมือนเดิม แล้วกดที่ `Deployments` ได้เลย

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-LnIE2QEBooRFpaxus_P%2Fimage.png?generation=1583529173407026\&alt=media)

2.ถัดมาให้เลือกหาตัวที่ชื่อยาวที่สุดและใช้เวลานานที่สุดครับ ส่วนใหญ่น่าจะเป็นตัวล่าสุดตามรูปเลย

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-LsoRGTHFvB-pp1ae2P5%2Fimage.png?generation=1583529100703626\&alt=media)

3.คราวนี้ในเมนูให้เลือก **`Outputs`** แล้วเราจะเห็นรายละเอียดการเข้าใช้งานแต่ละส่วนของ Blockchain ของเรา ซึ่งสิ่งที่เราต้องการก็คือ Connection ที่จะเอาไว้เชื่อมต่อผ่าน SSH เข้าไปใช้งานผ่านวง Blockchain ที่เราสร้างไว้ ดังนั้นให้กดคัดลอกด้านหลังสุดของช่องที่ชื่อว่า **ssh\_to\_first\_vl\_node\_region1แล้ว**เอาเก็บไว้ในใช้ในขั้นตอนถัดไปได้เลยครับ

![ถ้ามองไม่ชั้นให้กดที่รูปเพื่อขยายได้นะ](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-Lo6OzkHFv6wIDCOPB6a%2Fimage.png?generation=1583529114655794\&alt=media)

**อธิบายเพิ่มเติม**\
ของที่เราทำการ copy มานั้นมันจะประกอบไปด้วยของ 2 อย่างคือตัว Connection กับตัว Port นะครับ ตามรูปสีแดงคือ Connection ส่วนสีน้ำเงินคือ port ครับ ดังนั้นในกรณีของผมคือจะได้เป็น

| ชื่อ           | ค่า                                                            |
| -------------- | -------------------------------------------------------------- |
| **Port**       | 4000                                                           |
| **Connection** | <saladpuk@ethxfjmkv-dns-reg1.southeastasia.cloudapp.azure.com> |

## 🔥 ติดตั้ง Putty

ถัดมาเราจะต้องทำการใช้โปรแกรมช่วยนิดหน่อย เพื่อเชื่อมต่อไปยังตัวเซิฟเวอร์ของเรา ซึ่งถ้าใครใช้ตัวโปรแกรมอื่นเป็นอยู่แล้วก็ใช้ตัวที่ถนัดก็ได้ ส่วนใครไม่เคยใช้ก็ลองโหลดตัว Putty มาลองเล่นได้นะครับจากลิงค์นี้เลย [https://www.putty.org](https://www.putty.org/) เมื่อเข้าไปปุ๊ปก็ให้กดตามรูปเลยครับ

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-Lo6RZrqhTnihcHYjFhj%2Fimage.png?generation=1583529177508897\&alt=media)

ถัดมาก็ให้เลื่อนลงไปด้านล่างนิสนุง แล้วจะเจอช่องให้ดาวโหลด ก็ทำการเลือกได้เลยว่าเครื่องตัวเองเป็น 32 หรือ 64 bit (ถ้าไม่รู้ก็กดโหลดๆไปเลย ถ้าไม่ได้ก็โหลดอีกตัวเท่านั้นเอง ฮี่ๆ)

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-LwiaLuv4V3X0cLsDIIK%2Fimage.png?generation=1583529118375982\&alt=media)

หลังจากที่ดาวโหลดมาเสร็จก็ทำการกดเปิดโปรแกรมนั้นขึ้นมาเลยครับ แล้วในช่อง **`Host name`** ให้ใส่ตัว **Connection** กับ **Port** ที่เราไปเอามาจากขั้นตอนที่แล้วลงไป แล้วกดปุ่ม **`Open`** ได้เลยครับ

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-LqHoGVfzmH8ND6h-_Zn%2Fimage.png?generation=1583529153740074\&alt=media)

ถัดมาเขาจะแจ้งว่าเตือนบลาๆ ให้เรากด **`Yes`** ไปได้เลยครับ

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-LsozFRMoEIlUunrITvC%2Fimage.png?generation=1583529167999889\&alt=media)

ถัดมาเขาจะถาม Password ของเรา ก็ให้ใส่ password ที่เราใช้ตอนสร้าง Blockchain ในบทความตอนที่แล้วนะครับ (ไม่ต้องตกใจนะครับตอนที่พิมพ์รหัสผ่านมันจะมองไม่เห็นอะไรเลย และรู้สึกเหมือนว่าไม่ได้พิมพ์อะไรลงไป แต่จริงๆมันพิมพ์ลงไปอยู่นะ และเมื่อเสร็จแล้วให้กดปุ่ม enter ได้เลยครับ)

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-Lo6QTntGGfEWBMiRsHB%2Fimage.png?generation=1583529154344887\&alt=media)

ถ้าใส่รหัสผ่านถูกต้องเราก็จะเข้ามาใช้งานตัวเซิฟเวอร์ของ Blockchain เราได้เรียบร้อยแล้วนะครับ ตามรูปด้านล่างเลย

![](https://479516123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-M1lfqlFTvI3gmheTI_q%2F-LtpOKx0qc6Mpe75c-0C%2Fimage.png?generation=1583529135830202\&alt=media)

{% hint style="danger" %}
ขออภัยบทความนี้ยังทำไม่เสร็จแต่ผมหลง publish บทความนี้ออกมา เดี๋ยวถ้ามีเวลาจะกลับมาทำต่อครับ ช่วงนี้งานเยอะม๊วก
{% endhint %}
