การเรียนรู้ Blockchain ในเวลาไม่นาน ตอนที่ 2 — การใช้งาน PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

การเรียนรู้ Blockchain ในเวลาไม่นาน ตอนที่ 2 — การนำไปใช้

ปูร์บาเรียนดี

ในบทความชุดนี้ เราจะสร้างสกุลเงินดิจิทัลแบบง่ายที่อิงจากการใช้งานบล็อคเชนอย่างง่ายใน Golang ในเวลาไม่ถึง 5 นาที คุณต้องติดตั้ง golang ก่อนเพื่อสร้างโครงการนี้ สำหรับโปรแกรมแก้ไขข้อความ คุณสามารถใช้อะไรก็ได้ ที่นี่ฉันใช้รหัส visual studio

การเรียนรู้ Blockchain ในเวลาไม่นาน ตอนที่ 2 — การใช้งาน PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
ที่มา : bitdegree

คุณติดตั้งหรือไม่ เอาล่ะมาทำกัน!

หากคุณสร้างโครงการสร้างไฟล์ main.go . โอเค ให้โค้ดก่อน เราจะเริ่มจาก main.go เริ่มจากส่วน struct Block ของ “blockchain” กันก่อน ในบล็อกเชนจะบล็อกที่เก็บข้อมูลที่มีค่า ตัวอย่างเช่น bitcoin บล็อกธุรกรรมของร้านค้า สาระสำคัญของสกุลเงินดิจิทัลใด ๆ นอกจากนี้ บล็อกยังมีข้อมูลทางเทคนิค เช่น เวอร์ชัน การประทับเวลาปัจจุบัน และแฮชของบล็อกก่อนหน้า ในบทความนี้เราจะไม่นำบล็อกไปใช้ตามที่อธิบายไว้ในข้อกำหนดของบล็อคเชนหรือบิตคอยน์ แต่เราจะใช้เวอร์ชันที่ง่ายขึ้นซึ่งมีเฉพาะข้อมูลที่สำคัญเท่านั้น นี่คือสิ่งที่ดูเหมือน ที่นี่เรามีบล็อกโครงสร้าง:

ชนิด โครงสร้างบล็อก {

Timestamp คือเวลาปัจจุบัน (เมื่อสร้างบล็อก) transactions เป็นข้อมูลที่มีค่าจริงที่มีอยู่ในบล็อก prevhas เก็บแฮชของบล็อกก่อนหน้าและ Hash คือแฮชของบล็อก ในข้อกำหนด Bitcoin Timestamp, prevhashและ Hash เป็นส่วนหัวของบล็อกซึ่งสร้างโครงสร้างข้อมูลแยกต่างหากและธุรกรรม (transaction ในกรณีของเรา) เป็นโครงสร้างข้อมูลแยกต่างหาก เราจึงนำมันมาผสมกันเพื่อให้เข้าใจง่ายขึ้น

แล้วเราจะคำนวณแฮชได้อย่างไร? วิธีคำนวณแฮชเป็นคุณสมบัติที่สำคัญมากของบล็อคเชน และนี่คือฟีเจอร์ที่ทำให้บล็อคเชนมีความปลอดภัย ประเด็นคือการคำนวณแฮชเป็นการดำเนินการที่ยากในการคำนวณ ซึ่งต้องใช้เวลาแม้ในคอมพิวเตอร์ที่เร็ว (นั่นเป็นสาเหตุที่ผู้คนซื้อ GPU อันทรงพลังเพื่อขุด Bitcoin) นี่คือการออกแบบสถาปัตยกรรมโดยเจตนา ซึ่งทำให้การเพิ่มบล็อคใหม่ทำได้ยาก ดังนั้นจึงป้องกันการปรับเปลี่ยนหลังจากเพิ่มเข้าไปแล้ว เราจะหารือและใช้กลไกนี้ในบทความต่อๆ ไป

สำหรับตอนนี้ เราจะใช้ฟิลด์บล็อก เชื่อมข้อมูล และคำนวณแฮช SHA-256 บนชุดค่าผสมที่ต่อกัน มาทำกันใน Newhash วิธี:

func NewHash (เวลา time.Time, ธุรกรรม []string, prevhash []byte) []byte {

ต่อไป ตามแบบแผน Golang เราจะใช้ฟังก์ชันที่ลดความซับซ้อนในการสร้างบล็อกและเสร็จสิ้น:

func Blocks (ธุรกรรม [] string, prevhash []byte) * บล็อก {

เรายังคงสร้างฟังก์ชันการพิมพ์ต่อไป ฟังก์ชันการพิมพ์มีประโยชน์สำหรับการพิมพ์เนื้อหาของแต่ละบล็อกที่ทำธุรกรรม นี่คือรหัส:

func พิมพ์ (บล็อก * บล็อก) {

และรายการฟังก์ชันสำหรับธุรกรรมการพิมพ์ :

ธุรกรรม func (บล็อก * บล็อก) {

หลังจากที่ฟังก์ชั่นที่จำเป็นทั้งหมดเสร็จสมบูรณ์แล้ว เราจะใช้ในฟังก์ชั่นหลัก:

ฟังก์ชั่นหลัก () {

โอเค รหัสทั้งหมดที่เราเขียนเสร็จแล้ว ให้เรียกใช้โดยพิมพ์ go run main.go ในเทอร์มินัล เอาท์พุต :

สรุป

เราสร้างต้นแบบบล็อคเชนที่เรียบง่าย: เป็นเพียงชุดของบล็อก โดยแต่ละบล็อกมีการเชื่อมต่อกับบล็อกก่อนหน้า บล็อกเชนที่แท้จริงนั้นซับซ้อนกว่ามาก ในบล็อคเชนของเรา การเพิ่มบล็อคใหม่นั้นง่ายและรวดเร็ว แต่ในบล็อคเชนจริงการเพิ่มบล็อคใหม่นั้นต้องใช้การทำงานบางอย่าง: ต้องทำการคำนวณอย่างหนักก่อนที่จะได้รับอนุญาตให้เพิ่มบล็อค (กลไกนี้เรียกว่า Proof-of-Work) นอกจากนี้ blockchain ยังเป็นฐานข้อมูลแบบกระจายที่ไม่มีผู้มีอำนาจตัดสินใจเพียงคนเดียว ดังนั้นบล็อกใหม่จะต้องได้รับการยืนยันและอนุมัติโดยผู้เข้าร่วมรายอื่นในเครือข่าย (กลไกนี้เรียกว่าฉันทามติ) และยังไม่มีธุรกรรมใดๆ ในบล็อคเชนของเรา!

Source: https://medium.com/@purbaryandi/mastering-blockchain-in-no-time-part-2-implementation-433dc7967fe8?source=rss——cryptocurrency-5

ประทับเวลา:

เพิ่มเติมจาก กลาง