วิธีสร้างแอป Blockchain

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

ในบทความนี้เราจะสร้างแอปบล็อกเชนของเรา เมื่อเร็ว ๆ นี้เราได้กล่าวถึงวิธีการสร้างบล็อกเชน เป็นคำแนะนำที่สมบูรณ์เกี่ยวกับการสร้าง blockchain ในภาษาโปรแกรม Python จุดสนใจหลักของบทช่วยสอนคือการเรียนรู้เกี่ยวกับเทคโนโลยีบล็อกเชนและการทำงานภายใน.

อย่างไรก็ตามบทช่วยสอนนี้เป็นเนื้อหาเกี่ยวกับวิธีสร้างแอปโดยใช้บล็อกเชน แอปแบบกระจายอำนาจ (dApp) จะสามารถใช้ประโยชน์จากคุณสมบัติบล็อกเชน.

เราจะสร้างแอปบล็อกเชนง่ายๆโดยใช้ Ethereum Ethereum เป็นเทคโนโลยีบล็อกเชนรุ่นที่สองที่ให้คุณสมบัติขั้นสูงเช่นสัญญาอัจฉริยะหลักฐานการเดิมพันและที่สำคัญที่สุดคือความสามารถในการสร้างแอปแบบกระจายอำนาจ (dApps).

เริ่มจากบทแนะนำ “วิธีสร้างแอปบล็อกเชน” ของเรากัน บทช่วยสอนนี้มุ่งเป้าไปที่ผู้ที่ต้องการสร้างแอปบล็อกเชนง่ายๆ ในการสร้างแอป blockchain อย่างง่ายเราจะใช้เครือข่าย Ethereum.


แต่ก่อนที่เราจะเริ่มต้นเรามาทำความเข้าใจพื้นฐานของเราให้ถูกต้อง.

สมัครเดี๋ยวนี้: หลักสูตรพื้นฐานของ Enterprise Blockchains

Contents

dApp คืออะไร?

ขั้นตอนแรกที่เราจะดำเนินการในการสร้างแอปบล็อกเชนคือการเรียนรู้แนวคิดของแอปพลิเคชันแบบกระจายอำนาจ (dApp) ก่อน.

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

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

การเลือกแพลตฟอร์ม – ทำไมเราถึงเลือกแพลตฟอร์ม Ethereum

ตอนนี้มีหลายแพลตฟอร์มที่คุณสามารถเลือกสร้าง dApp ของคุณได้ รวมถึงแพลตฟอร์มบล็อกเชนยอดนิยมเช่น Ethereum, Hyperledger Fabric และ Cardano จากทั้งหมดนี้ Ethereum ดูเหมือนจะเป็นตัวเลือกที่ดีที่สุดเนื่องจากชุมชนที่ใช้งานอยู่เครื่องมือและแบบฝึกหัดออนไลน์.

อีกเหตุผลหนึ่งที่เราเลือก Ethereum ก็คือมันใช้ Solidity Solidity ถูกสร้างขึ้นอย่างชัดเจนเพื่อปรับใช้และสร้าง dApps และสัญญาอัจฉริยะ ง่ายต่อการเรียนรู้และให้ความยืดหยุ่นในการทดลอง.

แนวทางปฏิบัติสำหรับการสร้างแอป Blockchain แบบกระจายอำนาจ

ก่อนที่เราจะไปเจาะลึกเกี่ยวกับโค้ดฉันขออธิบายขั้นตอนที่สรุปขั้นตอนการสร้างแอปบล็อกเชน มาดูกันเลยด้านล่าง.

ค้นหาไอเดีย

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

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

หากคุณกำลังพยายามสร้าง dApp สำหรับธุรกิจของคุณหรือตามความต้องการทางธุรกิจของคุณคุณจะต้องทำการวิเคราะห์ต้นทุน / ผลประโยชน์ที่เหมาะสม นอกจากนี้คุณยังต้องสำรวจความเสี่ยงที่เกี่ยวข้องกับโครงการและดูว่าทีมธุรกิจของคุณสามารถจัดการแอปด้วยการตรวจสอบสถานะได้หรือไม่.

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

นี่คือคำแนะนำในการพัฒนา dApps ที่คุณจะเข้าใจกลไกเบื้องหลังการสร้างแอปพลิเคชันใหม่แบบกระจายอำนาจ.

เลือกวิธีฉันทามติ

แอปที่กระจายอำนาจต้องใช้อัลกอริทึมฉันทามติที่เหมาะสมในการทำงาน เพื่อให้แน่ใจว่าธุรกรรมได้รับการตรวจสอบและไม่มีการฉ้อโกงเกิดขึ้น ในฐานะผู้พัฒนาหรือผู้เรียนคุณจำเป็นต้องเลือกวิธีการฉันทามติใด ๆ ที่มีอยู่รวมถึง Proof of Stake, Delegated Proof of Stake, Byzantine fault-tolerant และอื่น ๆ ! ทางเลือกควรขึ้นอยู่กับความคุ้นเคยและความต้องการของแอป.

การเลือกแพลตฟอร์ม

ที่นี่คุณต้องเลือกแพลตฟอร์มที่คุณต้องการ เห็นได้ชัดว่าเราได้กล่าวถึงประเด็นข้างต้นแล้ว คุณมีสามแพลตฟอร์มให้เลือกเป็นหลัก ได้แก่ Ethereum, Hyperledger Fabric และ Cardano.

มีกรอบงานบล็อกเชนขององค์กรมากมายที่คุณสามารถใช้สำหรับสิ่งนี้ แต่เราจะไปกับ Ethereum.

คอนโซลผู้ดูแลระบบและอินเทอร์เฟซผู้ใช้

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

การทำความเข้าใจหลักการของ Blockchain

เป็นเรื่องปกติที่นักพัฒนาจะเริ่มบทช่วยสอนการพัฒนาแอป blockchain โดยไม่เข้าใจแนวคิดและหลักการพื้นฐาน นั่นคือเหตุผลที่ฉันแนะนำพื้นฐาน blockchain ทั้งหมดก่อนที่จะเริ่มต้นด้วยบทช่วยสอนการพัฒนาแอป คุณอาจต้องการอ่านเกี่ยวกับระบบนิเวศรวมถึงเครื่องมือบล็อกเชนแพลตฟอร์มและสกุลเงินดิจิทัล.

ฝึกฝนและพัฒนา

ฝึกฝนทักษะของคุณให้มากที่สุด สิ่งนี้จะทำให้คุณมีทักษะในการพัฒนาแอพที่ซับซ้อนมากขึ้นในอนาคต.

จะสร้างแอป Blockchain ได้อย่างไร? แนวทางที่ง่าย

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

ห้าขั้นตอนมีดังนี้.

  • ติดตั้งการอ้างอิงและที่เก็บข้อมูลโคลน.
  • กำลังเรียกใช้ Ganache CLI
  • การรวบรวมสัญญา
  • การปรับใช้ตามสัญญา
  • ปฏิสัมพันธ์ในสัญญา

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

จะสร้างแอป Blockchain ได้อย่างไร? แนวทางที่ยาก

ได้เลย! คุณมีฉัน! คุณไม่ต้องการวิธีง่ายๆ แต่ต้องการเรียนรู้ blockchain ด้วยวิธีที่ยาก ไม่ต้องกังวลเนื่องจากในส่วนนี้เราจะสร้างแอปรายการสิ่งที่ต้องทำโดยใช้สัญญาอัจฉริยะของ Ethereum.

การทำงานของแอปพลิเคชัน Blockchain

ก่อนที่เราจะลงลึกในการสร้างแอปบล็อกเชนเรามาลองทำความเข้าใจกันก่อนว่าแอปพลิเคชันบล็อกเชนจะทำงานอย่างไรในตอนแรก.

เพื่อให้เข้าใจว่าเรามาดูวิธีการทำงานของแอปง่ายๆ แอปใด ๆ ที่ทำงานบนอินเทอร์เน็ตจะแสดงบนคอมพิวเตอร์ของผู้ใช้โดยใช้เบราว์เซอร์หรือแอปเฉพาะบน windows ไม่ว่าในกรณีใดก็ตามจะร้องขอเซิร์ฟเวอร์สำหรับหน้าเว็บหรือข้อมูลซึ่งจะแสดงบนคอมพิวเตอร์ของผู้ใช้.

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

สัญญาอัจฉริยะ

กุญแจสำคัญคือสัญญาอัจฉริยะ สัญญาอัจฉริยะช่วยอำนวยความสะดวกให้กับแอป มีรหัสทั้งหมดที่ทำให้แอปทำงานได้ นอกจากนี้ยังทำให้กระบวนการเป็นไปโดยอัตโนมัติและทำให้แน่ใจว่าทำงานได้ตามที่ตั้งใจไว้ ในบทช่วยสอนของเราเราจะใช้สัญญาอัจฉริยะเพื่อเขียนฟังก์ชันต่างๆของรายการสิ่งที่ต้องทำ.

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

ต้องการเรียนรู้วิธีสร้าง blockchain โดยใช้ Python หรือไม่? นี่คือบทแนะนำเกี่ยวกับการสร้าง blockchain ด้วย Python ที่คุณสามารถทำตามได้.

การสร้างแอปรายการสิ่งที่ต้องทำ Blockchain ของเรา

เพื่อให้แน่ใจว่าคุณเข้าใจแนวคิดก่อนอื่นคุณต้องเรียนรู้ว่าแอป Todo blockchain ทำงานอย่างไร เราจะใช้ Ethereum เพื่อสร้างแอป แอปของเราจะใช้โหนด Ethereum เดียวและยังมีแอปพลิเคชันฝั่งไคลเอ็นต์ เราจะใช้ Solidity เพื่อเขียนสัญญาอัจฉริยะจากนั้นปรับใช้.

ในฐานะนักพัฒนาคุณต้องใช้กระเป๋าเงิน Ethereum ซึ่งทำได้ง่าย.

เตรียมพร้อม – การสร้างสภาพแวดล้อม

ในการสร้างสภาพแวดล้อมในท้องถิ่นเราจะต้องมีเครื่องมือและแพ็คเกจหลายอย่าง มาดูกันทีละเรื่อง.

Ganache

Ganache เป็นเครื่องมือพัฒนา Ethereum ช่วยให้คุณจัดการปรับใช้และพัฒนาแอปพลิเคชันสัญญาอัจฉริยะและการทดสอบ เราจะเรียกใช้เวอร์ชัน Windows สำหรับบทช่วยสอน หากคุณมีระบบปฏิบัติการอื่นคุณสามารถดาวน์โหลดเวอร์ชัน Mac หรือ Linux ได้ เมื่อติดตั้งแล้วคุณจะสามารถใช้งานได้ผ่านเครื่องมือบรรทัดคำสั่ง.

โหนด js

Node.js เป็นเครื่องมือถัดไปของเราที่ต้องติดตั้ง ในการทำให้ blockchain ส่วนตัวทำงานบนเครื่องของคุณคุณต้องติดตั้งไฟล์ Node Package Manager.

เมื่อติดตั้งแล้วให้เปิดเทอร์มินัลของคุณแล้วพิมพ์คำสั่งด้านล่าง ถ้ามันทำงานได้แสดงว่าคุณไปได้ดี.

$ node -v

MetaMask Ethereum Wallet

ในขณะที่เรากำลังจะทำงานกับ Ethereum blockchain เราจำเป็นต้องมีกระเป๋าเงินที่สามารถใช้งานได้จากเบราว์เซอร์. Metamask เป็นกระเป๋าเงินของเว็บเบราว์เซอร์ที่ให้คุณโต้ตอบกับ Ethereum blockchain.

กรอบแห้ว

ซอฟต์แวร์สุดท้ายที่เราจะติดตั้งคือไฟล์ กรอบแห้ว. มีชุดเครื่องมือมากมายที่ช่วยให้คุณทำงานได้อย่างมีประสิทธิภาพบน dApp ของคุณ คุณสามารถใช้ภาษาการเขียนโปรแกรม Solidity เพื่อพัฒนาสัญญาอัจฉริยะ Ethereum.

คุณลักษณะของ Truffle Framework ที่สำคัญบางประการมีดังต่อไปนี้

  • การจัดการสัญญาอัจฉริยะที่เหมาะสม
  • การจัดการเครือข่าย
  • การทดสอบอัตโนมัติ
  • คอนโซลการพัฒนา
  • ตัวเรียกใช้สคริปต์
  • การปรับใช้และการโยกย้าย
  • การพัฒนาฝั่งไคลเอ็นต์.

ในการติดตั้งคุณต้องใช้ไฟล์ คำสั่ง npm. เพียงเรียกใช้คำสั่งต่อไปนี้ในบรรทัดคำสั่ง.

$ npm ติดตั้ง -g [email protected]

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

ต้องการเป็นผู้เชี่ยวชาญด้าน blockchain หรือไม่? ลงทะเบียนในไฟล์ ได้รับการรับรองหลักสูตรระดับมืออาชีพ blockchain ขององค์กรแล้ว!

การตั้งค่าโครงการ

เย็น! ขณะนี้เรามีสภาพแวดล้อมการพัฒนาของเราพร้อมใช้งานแล้ว ตอนนี้สิ่งที่เราต้องทำคือสร้างโครงการของเรา ในการทำเช่นนั้นเราต้องสร้างไดเร็กทอรีโปรเจ็กต์ มาดูกันเลยด้านล่างนี้.

$ mkdir dapp-todo

$ cd dapp-todo

เมื่อคุณอยู่ในโฟลเดอร์แล้วคุณต้องเริ่มต้นโปรเจ็กต์ทรัฟเฟิลโดยเรียกใช้คำสั่งด้านล่าง.

เริ่มต้น $ ทรัฟเฟิล

เมื่อเสร็จแล้วคุณจะเห็นข้อความดังด้านบน ซึ่งหมายความว่าสร้างโฟลเดอร์และไฟล์สำเร็จแล้ว ตอนนี้คุณสามารถเปิดโฟลเดอร์ในโปรแกรมแก้ไขข้อความที่คุณชื่นชอบได้ แต่ก่อนที่จะทำคุณต้องสร้างไฟล์ package.json ไฟล์. สิ่งนี้จะช่วยให้คุณติดตั้งการอ้างอิงที่จำเป็นสำหรับโปรเจ็กต์.

คุณสามารถสร้างไฟล์ด้วยตนเองจากนั้นบันทึกเนื้อหาที่แสดงด้านล่าง.

{

  “ ชื่อ”:“ dapp-todo”,

  “ เวอร์ชัน”:“ 1.0.0”,

  “ คำอธิบาย”:“ รายการสิ่งที่ต้องทำที่ขับเคลื่อนด้วย Ethereum”,

  “ main”:“ truffle-config.js”,

  “ ไดเรกทอรี”: {

    “ test”:“ ทดสอบ”

  },

  “ สคริปต์”: {

    “ dev”:“ lite-server”,

    “ทดสอบ”: ข้อผิดพลาด “echo \”: ไม่ได้ระบุการทดสอบ \ ” && sexit 1″

  },

  “ ผู้แต่ง”:“ [email protected]”,

  “ ใบอนุญาต”:“ ISC”,

  “ devDependencies”: {

    “ bootstrap”:“ 4.1.3”,

    “ ชัย”:“ ^ 4.1.2”,

    “ ชัยตามสัญญา”:“ ^ 7.1.1”,

    “ chai-bignumber”:“ ^ 2.0.2”,

    “ เซิร์ฟเวอร์ lite”:“ ^ 2.3.0”,

    “ nodemon”:“ ^ 1.17.3”,

    “ แห้ว”:“ 5.0.2”,

    “ สัญญาทรัฟเฟิล”:“ 3.0.6”

  }

}

เมื่อเสร็จแล้วให้รันคำสั่งต่อไปนี้เพื่อติดตั้งการอ้างอิง.

$ npm ติดตั้ง

การทำความเข้าใจโครงสร้างไดเร็กทอรี

โครงสร้างไดเร็กทอรีจะมีลักษณะดังนี้.

มาทำความเข้าใจทีละโฟลเดอร์กัน.

  • สัญญา: ไดเร็กทอรีมีสัญญาอัจฉริยะทั้งหมด สัญญา migrations.sol จะจัดการการย้ายข้อมูลไปยัง blockchain.
  • การโยกย้าย: ไดเร็กทอรีการโอนย้ายมีข้อมูลการโอนย้าย จากที่นี่การโยกย้ายเกิดขึ้น.
  • node_modules: ประกอบด้วยโมดูลโหนด / การอ้างอิงทั้งหมด.
  • ทดสอบ: ไดเร็กทอรีนี้มีไฟล์ทดสอบ.
  • truffle-config.js: ไฟล์นี้มีคอนฟิกูเรชันโปรเจ็กต์ทรัฟเฟิล.

การสร้างสัญญาอัจฉริยะ

ถึงเวลาแล้วที่เราจะเริ่มต้นด้วยไฟล์ การสร้างสัญญาอัจฉริยะ สัญญาอัจฉริยะของเราจะถูกเก็บไว้ในโฟลเดอร์สัญญา มาสร้างไฟล์สัญญาอัจฉริยะชื่อ todo.sol

เมื่อเสร็จแล้วคุณต้องเขียนโค้ดดังต่อไปนี้.

ความแข็งแกร่งของ pragma ^ 0.5.0;

สิ่งที่ต้องทำสัญญา {

// รหัสที่นี่

}

บรรทัดแรกของโค้ดระบุว่า Solidity เวอร์ชันใดที่เราใช้ในการเขียนสัญญาอัจฉริยะ ต่อไปเราต้องใช้คำหลักของสัญญาและสร้างสัญญาสิ่งที่ต้องทำ ซึ่งจะมีรหัสสำหรับสัญญาอัจฉริยะ.

ตอนนี้เรามาเพิ่มตัวแปรเพื่อดูว่าทุกอย่างทำงานตามที่ตั้งใจไว้หรือไม่.

ความแข็งแกร่งของ pragma ^ 0.5.0;

สิ่งที่ต้องทำสัญญา {

uint งาน = 0;

}

ที่นี่เรากำหนดตัวแปรงานที่จะนับจำนวนงานที่เรามีในแอป Todo ของเรา.

กำลังเชื่อมต่อกับ Ganache

ด้วยสัญญาอัจฉริยะของเราที่ตั้งค่าอย่างถูกต้องใน Truffle ตอนนี้เราจำเป็นต้องเชื่อมต่อกับบล็อกเชนส่วนตัวของ Ganache ที่เราสร้างขึ้น ในการดำเนินการดังกล่าวจำเป็นต้องอัปเดตไฟล์คอนฟิกูเรชันบางไฟล์ นอกจากนี้เรายังต้องสร้างสคริปต์การย้ายข้อมูลและเรียกใช้เพื่อให้เราสามารถเชื่อมต่อกับเครือข่ายบล็อกเชนส่วนตัว.

ในการเริ่มต้นเราต้องอัปเดตไฟล์ truffle-config.json ควรอยู่ในไดเร็กทอรีโปรเจ็กต์หลัก เมื่อคุณเปิดแล้วให้คัดลอกและวางรหัสต่อไปนี้.

module.exports = {

เครือข่าย: {

พัฒนาการ: {

โฮสต์:“ 127.0.0.1”,

พอร์ต: 7545,

network_id:“ *” // การจับคู่รหัสเครือข่าย

}

},

solc: {

เครื่องมือเพิ่มประสิทธิภาพ: {

เปิดใช้งาน: จริง,

วิ่ง: 200

}

}

}

เมื่อสร้างไฟล์ truffle-config.js แล้วถึงเวลาที่เราจะต้องสร้างสคริปต์การย้ายข้อมูลเพื่อให้สัญญาอัจฉริยะที่เราสร้างขึ้นสามารถย้ายไปยังเครือข่าย blockchain ส่วนบุคคลได้.

เราจะยื่นชื่อเป็น 2_deploy_contracts.js

การย้ายข้อมูลมีความสำคัญอย่างยิ่งต่อแอป Todo ของเรา เนื่องจากบล็อกเชนเป็นฐานข้อมูลประเภทหนึ่งเราจึงจำเป็นต้องเปลี่ยนจากสถานะหนึ่งไปเป็นอีกสถานะหนึ่ง นี่คือจุดที่ช่วยในการย้ายข้อมูล.

ในการเชื่อมโยงไฟล์การย้ายข้อมูลเราจำเป็นต้องอัปเดตเพิ่มรหัสต่อไปนี้ในไฟล์การย้ายข้อมูลที่สร้างขึ้นใหม่.

var Todo = artifacts.require (“ ./ Todo.sol”);

module.exports = function (deployer) {

deployer.deploy (สิ่งที่ต้องทำ)

}

บรรทัดแรกของโค้ดจะสร้างตัวแปรที่อ้างอิงสัญญาอัจฉริยะของเรา เมื่อเสร็จแล้วเราก็นำไปใช้งานได้เลย.

เมื่อเสร็จแล้วตอนนี้เรามาเรียกใช้คำสั่งโยกย้ายกัน.

$ Truffle โยกย้าย

คุณยังสามารถเรียกใช้คอนโซลโดยใช้คำสั่งด้านล่าง.

$ ทรัฟเฟิลคอนโซล

การพัฒนาแอพ Todo List ของเรา

ตอนนี้เราประสบความสำเร็จในการเรียกใช้ Ethereum smart contract ฉบับแรกแล้วตอนนี้ถึงเวลาที่เราจะต้องเพิ่มคุณสมบัติให้กับ dApp ของเรา dApp ของเรานั้นเรียบง่าย มันจะแสดงรายการงานในรายการสิ่งที่ต้องทำของเรา เราจำเป็นต้องใช้สัญญาอัจฉริยะเพื่อให้มันเกิดขึ้น.

มาดูกันเลยด้านล่างนี้.

ความแข็งแกร่งของ pragma ^ 0.5.0;

สิ่งที่ต้องทำสัญญา {

uint งานสาธารณะ = 0;

 

โครงสร้างงาน {

รหัส uint;

เนื้อหาสตริง

บูลเสร็จสมบูรณ์

}

}

ที่นี่เราใช้คำหลักโครงสร้างเพื่อสร้างงานโครงสร้างใหม่ เราใช้เพื่อกำหนดโครงสร้างของงานของเราซึ่งมี id เนื้อหาและค่าบูลีนที่เสร็จสมบูรณ์.

ต่อไปตอนนี้เราต้องแมปโครงสร้างงานของเราและทำให้เป็นสาธารณะเพื่อให้บล็อกเชนสามารถเข้าถึงได้ ในการทำเช่นนั้นเราต้องเพิ่มโค้ดบรรทัดต่อไปนี้.

ตอนนี้รหัสสัญญาอัจฉริยะจะมีลักษณะดังนี้.

ความแข็งแกร่งของ pragma ^ 0.5.0;

สิ่งที่ต้องทำสัญญา {

uint งานสาธารณะ = 0;

โครงสร้างงาน {

รหัส uint;

เนื้อหาสตริง

บูลเสร็จสมบูรณ์

}

การทำแผนที่ (uint => งาน) งานสาธารณะ;

}

สุดท้ายนี้เราต้องสร้างฟังก์ชันที่จัดการกับงาน.

ฟังก์ชัน createTask (หน่วยความจำสตริง _content) สาธารณะ {

taskCount ++;

งาน [taskCount] = งาน (taskCount, _content, false)

}

ฟังก์ชั่นนี้อธิบายได้เองเป็นส่วนใหญ่ เราสร้างฟังก์ชันเพื่อให้สามารถนับจำนวนงานที่แสดงอยู่ใน Todo dApp.

สุดท้ายเราต้องสร้างตัวสร้างเพื่อเริ่มต้นคลาส Todo.

constructor () สาธารณะ {

createTask (“ นี่เป็นงานแรกของเรา”)

}

ตอนนี้ไฟล์ todo.sol ของเราควรมีลักษณะดังนี้.

ความแข็งแกร่งของ pragma ^ 0.5.0;

สิ่งที่ต้องทำสัญญา {

uint งานสาธารณะ = 0;

โครงสร้างงาน {

รหัส uint;

เนื้อหาสตริง

บูลเสร็จสมบูรณ์

}

constructor () สาธารณะ {

createTask (“ นี่เป็นงานแรกของเรา”)

}

การทำแผนที่ (uint => งาน) งานสาธารณะ;

ฟังก์ชัน createTask (หน่วยความจำสตริง _content) สาธารณะ {

taskCount ++;

งาน [taskCount] = งาน (taskCount, _content, false)

}

}

สร้างงาน

นอกจากนี้เรายังสามารถสร้างงานใน Todo dApp ของเราได้อีกด้วย ในการทำเช่นนั้นเราต้องสร้างทริกเกอร์เมื่อมีการสร้างงานใหม่ แนวทางของเราคือสร้างเหตุการณ์ใหม่ TaskCreated จากนั้นเพิ่มลงในฟังก์ชัน createTask () ที่มีอยู่ของเรา.

เหตุการณ์ TaskCreated (

รหัส uint;

เนื้อหาสตริง,

บูลเสร็จสมบูรณ์

);

ตอนนี้เพิ่มบรรทัดต่อไปนี้ในฟังก์ชัน createTask ().

ปล่อย TaskCreated (taskCount, _content, false);

เสร็จสิ้นงาน

นอกจากนี้ยังสามารถเพิ่มงานที่เสร็จสมบูรณ์ได้โดยใช้เหตุการณ์ คุณต้องเพิ่มเหตุการณ์ต่อไปนี้ในสัญญา Todo.

เหตุการณ์ TaskCompleted (

รหัส uint,

บูลเสร็จสมบูรณ์

);

เพื่อให้ใช้งานได้คุณต้องเพิ่มฟังก์ชันใหม่ด้วย.

function toggleCompleted (uint _id) public {

หน่วยความจำงาน _task = งาน [_id];

_task.completed =! _task.completed;

งาน [_id] = _task;

ปล่อย TaskCompleted (_id, _task.completed)

}

ยินดีด้วย! คุณได้สร้าง dApp รายการ Todo รายการแรกของคุณบน Ethereum blockchain.

หมายเหตุสิ้นสุด

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

จากนั้นคุณจะต้องทดสอบสัญญาอย่างถูกต้องก่อนที่จะย้ายไปยัง blockchain ในที่สุด คุณยังสามารถสร้างส่วนหน้าของแอปและทดสอบได้ หากคุณไม่สนใจที่จะทำเช่นนั้นคุณสามารถเปิดคอนโซลและเข้าถึงตัวแปรและฟังก์ชันเพื่อทดสอบสิ่งต่างๆ!

แต่หากคุณยังไม่ทราบถึงผลกระทบของ blockchain เราขอแนะนำให้คุณเริ่มหลักสูตร blockchain ฟรีเพื่อเรียนรู้เพิ่มเติม หากไม่เรียนรู้หรือเข้าใจวิธีการทำงานการเข้าใจแนวคิดการเขียนโปรแกรมจะเป็นเรื่องยากสำหรับคุณ.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me