Farm Labs ทบต้นยังไงให้คุ้มค่าที่สุด

Farm Labs ทบต้นยังไงให้คุ้มค่าที่สุด

อันยองฮาเซโยวววว์ หลังจากที่อู้มาสองสัปดาห์ (ทำงานยุ่งแหละ ^^) วันนี้เลยได้มาเขียนบทความส่งท้ายปีลองทำเครื่องมือเล่น ๆ สำหรับสาย Farm ใน Cryptocurrency ครับ เป็นเครื่องมือที่จะคำนวณว่าถ้าต้องการ Farm จำนวนวันที่กำหนด ควรจะดึง Reward ที่ได้มาทบต้นในช่วงกี่วันดี

ในบทความนี้เจมส์จะอธิบายในส่วน Core ของโปรแกรมที่เป็นส่วนสำหรับการคำนวณเน้อครับ

ในส่วนนี้เจมส์ทำเป็นแค่เครื่องมือสำหรับทดสอบเน้อครับ ไม่ได้ชักชวนให้คุณผู้อ่านเข้ามาลงทุนแต่อย่างใด การลงทุนมีความเสี่ยง ยังไงผู้อ่านควรศึกษาก่อนการลงทุนเน้อครับ และคิดว่าเครื่องมือนี้เหมาะกับเหรียญที่ไม่ได้มีความผันผวนของราคา

Core โปรแกรมที่เขียน

ถ้าหากคุณผู้อ่านเข้าไปที่ Project ที่แปะไว้ สามารถเข้าไปที่ helpers/index.js ก็ได้ครับ มันคือโค้ดนี้แหละครับ

อธิบายโค้ดกันดีกว่า

ใน helpers จะมีสองส่วนคือ labTest และ findTheBestForUnstake (ขออภัยหากชื่ออาจจะดูงงๆ ฮ่าาา) หลัก ๆ คือเราจะเรียกใช้งาน function findTheBestForUnstake โดยส่งค่า cost, fee, apr, days เข้ามา

  • Cost คือ เงินที่เราต้องการวางใน Farm เช่น 1,000
  • Annual Percentage Rate (APR) คือ อัตราผลตอบแทนจากการ Farm ต่อปี
  • Fee คือ ค่าธรรมเนียม ซึ่งในโปรแกรมที่เจมส์เขียนคือกะว่าให้ใส่ค่าธรรมเนียมทั้งหมดรวมไปเลย เช่น ตอนเก็บ Rewards, ตอน Stake เข้าไปอีกรอบ
  • days คือ จำนวนวันที่ต้องการทดสอบ

labTest ทำงานอย่างไร

ฟังก์ชัน labTest จะรับค่าดังที่กล่าวข้างต้นเข้ามาและจะรับค่า daysOfUnstake เพิ่มเข้ามาด้วย โดย daysOfUnstake คือจำนวนวันที่จะทดสอบสำหรับการ compound (ดึง Reward แล้วทบเข้าไป) สิ่งที่ return จากฟังก์ชันนี้คือ จำนวนเงินที่ได้จากการทดลอง compound ตามจำนวน daysOfUnstake และข้อมูลการ Compound ของแต่ละวัน กล่าวคือถ้าส่ง daysOfUnstake มา 2 จะหมายความว่า ทุก ๆ 2 วันจะดึง Reward มาทบเข้าไปใหม่

findTheBestForUnstake ทำงานอย่างไร

ฟังก์ชัน findTheBestForUnstake จะเอาจำนวนวันและข้อมูล ที่ต้องการทดสอบมา โดยจะวนลูปตามจำนวนวัน ไปเรียก labTest โดยส่ง daysOfUnstake ที่เป็นจำนวนวันตามการลูปเข้าไป

พูดง่ายๆ ว่า ลอง compound ทุกๆวัน, ทุกๆ 1 วัน, ทุกๆ 2 วัน, …ถึงทุก ๆ จำนวนวันที่กำหนด จากนั้นก็มาดูว่าจำนวนเงินที่มากที่สุด คือ ควรจะ Compound ทุก ๆ กี่วัน

จริง ๆ Core หลักก็มีอยู่เท่านี้ ส่วนอื่น ๆ คือ ทำเกี่ยวกับ UI และจัดการแสดง State ต่าง ๆ ครับ เรามาดูตัวอย่างโปรแกรมที่เจมส์เขียนกันดีกว่าครับ

กรอกข้อมูลเบื้องต้นที่จำเป็นต้องกรอก (จำเป็นต้องกรอกทุกอันครับ)

สมมุติเจมส์ต้องการทดสอบการ Farm โดยมีข้อมูลต่าง ๆ ดังนี้ครับ

  • ลงทุน 1,000 USD
  • จำนวน APR 25%
  • ค่าธรรมเนียมต่อครั้งคือ 0.7 USD
  • ต้องการทดสอบ 365 วัน

จากนั้นให้กดที่ปุ่ม “คำนวณ” เมื่อกดคำนวณเรียบร้อยแล้ว จะมี Card แสดงขึ้น และแสดงข้อมูลว่า จำนวนกี่วันที่ควร Compound และยอดเงินสิ้นสุดที่คาดว่าจะได้รับหากทำตามการคำนวณ (แสดงดังรูปด้านล่าง)

เมื่อกดคำนวณ ระบบจะคำนวณว่าควรจะ Compound ทุก ๆ กี่วัน

หากเรากดที่แสดงรายละเอียด จะพบว่ามีตารางแสดงข้อมูลการคำนวณ คือจะมี
ยอดเงิน, Pending Reward, Fee, และ Compound อยู่ (ซึ่งจะมีบอกอยู่ว่าควรจะ Compound ตอนไหนหากเลื่อนลงมาด้านล่าง)

แสดงรายละเอียดการคำนวณ

แต่ถ้าหากเรากดที่แสดง รายละเอียดทั้งหมด จากรูปก่อนหน้า จะแสดงข้อมูลว่าการ Compound ทุก ๆ กี่วันเมื่อครบจำนวนวันที่เรากรอก แล้วจะได้ประมาณเท่าไร และก็สามารถกดดูรายละเอียดการคำนวณได้เช่นกัน

แสดงรายละเอียดการ Compound ทุก ๆ กี่วัน และจำนวนเงินที่คาดว่าจะได้

ถ้าดูจากรูปจะพบว่าถ้าเรา Compound ทุกวันจะไม่คุ้ม เพราะจะโดนค่าธรรมเนียมมากกว่า APR ที่เราได้ กลายเป็นเงินต้นก็ลดไปอีกด้วยครับ

คุณผู้อ่านสามารถเข้าไปกดลองเล่นได้เน้อครับที่ลิงค์ด้านล่างครับ

หรือถ้าหากอยากมาต่อยอด อยากช่วย Contribute ก็สามารถ Fork ไปและ Pull Request มาก็ได้ครับ

บทความสุดท้ายของปีนี้ก็ขอให้คุณผู้อ่านทุกท่านมีสุขภาพแข็งแรง และปลอดภัยจากโควิด 19 และขอบคุณที่ติดตามมาตลอด หรือถ้าหากไม่ได้กดติดตาม สามารถกดติดตามได้เน้อครับ ปีหน้าจะพยายามเขียนบทความที่มีประโยชน์แบบนี้มาเรื่อย ๆ ครับ และหากบทความส่วนไหนผิดพลาดประการใดก็ขออภัยมา ณ ที่นี้ด้วยเน้อครับ

Reference

--

--

ถึงเขียนน้อย แต่เขียนนะ บทความส่วนใหญ่จะเป็นสิ่งที่ได้เรียนรู้ และลองทำมาครับ ^^