# หัดเขียน 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` ดังนั้นผมก็จะเข้าไปในตัวนี้

![](/files/-LoEby2fCVLIWSclLcBM)

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

![](/files/-Lv0GIxzpy1u1sJWEaXD)

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

![](/files/-LpP4-FoZBpGqt-IfxEh)

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

![](/files/-LnNZcCMVvpgGJ5EflIb)

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

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

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

![](/files/-LnIE2QEBooRFpaxus_P)

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

![](/files/-LsoRGTHFvB-pp1ae2P5)

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

![ถ้ามองไม่ชั้นให้กดที่รูปเพื่อขยายได้นะ](/files/-Lo6OzkHFv6wIDCOPB6a)

**อธิบายเพิ่มเติม**\
ของที่เราทำการ 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/) เมื่อเข้าไปปุ๊ปก็ให้กดตามรูปเลยครับ

![](/files/-Lo6RZrqhTnihcHYjFhj)

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

![](/files/-LwiaLuv4V3X0cLsDIIK)

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

![](/files/-LqHoGVfzmH8ND6h-_Zn)

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

![](/files/-LsozFRMoEIlUunrITvC)

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

![](/files/-Lo6QTntGGfEWBMiRsHB)

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

![](/files/-LtpOKx0qc6Mpe75c-0C)

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.saladpuk.com/cloud/blockchain/smart-contract.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
