Smart Contracts คืออะไร? คู่มือสำหรับผู้เริ่มต้นใช้งาน Smart Contract



บล็อกนี้จะให้ภาพที่ชัดเจนเกี่ยวกับสัญญาอัจฉริยะแพลตฟอร์มต่างๆในการเขียนสัญญาอัจฉริยะและยังจะกล่าวถึงกรณีการใช้งานจริงของแอปพลิเคชันสัญญาอัจฉริยะ Ethereum

วลีและแนวคิดของ 'สัญญาอัจฉริยะ' เป็น เสนอโดย Nick Szabo ด้วยวิสัยทัศน์ที่จะขยายการทำงานของวิธีการทำธุรกรรมทางอิเล็กทรอนิกส์เช่น POS (จุดขาย) ไปสู่อาณาจักรดิจิทัล สัญญาอัจฉริยะช่วยให้คุณแลกเปลี่ยนทรัพย์สินหุ้นหรือสิ่งของมีค่าได้อย่างโปร่งใสปราศจากความขัดแย้งในขณะที่หลีกเลี่ยงบริการของคนกลาง
รหัส Ethereum-Smart Contracts-edureka

ความแตกต่างของ java ระหว่างการใช้งานและการขยาย

ต่อไปนี้เป็นหัวข้อที่เราจะกล่าวถึงในบล็อก Smart Contract นี้:





    1. Smart Contracts คืออะไร?
    2. สัญญาอัจฉริยะโดย Nick Szabo
    3. ทำไมเราถึงต้องการ Smart Contracts?
    4. สัญญาอัจฉริยะ: ความซับซ้อนตามกรณีการใช้งาน
    5. กรณีการใช้งาน Smart Contracts: Healthcare Industry
    6. ข้อดีของสัญญาอัจฉริยะ
    7. แพลตฟอร์มบล็อกเชนสำหรับการเขียนสัญญาอัจฉริยะ
    8. เครื่องมือสำหรับการเขียนและการปรับใช้ Smart Contracts
    9. ภาษาการเขียนโปรแกรมสำหรับการเขียน Ethereum
    10. การโอนทรัพย์สิน Smart Contract

    Smart Contracts คืออะไร?

    สัญญาอัจฉริยะคือโปรแกรมคอมพิวเตอร์ที่ดำเนินการเองโดยอัตโนมัติเมื่อตรงตามเงื่อนไขที่กำหนด

    Smart Contracts = สัญญาที่ไม่น่าเชื่อถือ



    ด้วยสัญญาอัจฉริยะคุณสามารถแบ่งปันสิ่งที่มีค่ากับคนแปลกหน้าได้อย่างโปร่งใสปราศจากความขัดแย้ง

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

Smart Contracts คืออะไร | ปรับใช้ Ethereum Smart Contract แรกของคุณ | Edureka

  1. สัญญาอัจฉริยะโดย Nick Szabo

    ในเอกสารของเขา Szabo เสนอให้มีการทำสัญญาสำหรับสินทรัพย์สังเคราะห์เช่นอนุพันธ์และพันธบัตร “ หลักทรัพย์ใหม่เหล่านี้เกิดจากการรวมหลักทรัพย์ (เช่นพันธบัตร) และตราสารอนุพันธ์ (ออปชั่นและฟิวเจอร์ส) เข้าด้วยกันหลายวิธี โครงสร้างคำศัพท์ที่ซับซ้อนมากสำหรับการชำระเงินสามารถสร้างเป็นสัญญาที่เป็นมาตรฐานได้และซื้อขายด้วยต้นทุนการทำธุรกรรมที่ต่ำเนื่องจากใช้คอมพิวเตอร์การวิเคราะห์โครงสร้างคำศัพท์ที่ซับซ้อนเหล่านี้” เขาเขียน



  1. ทำไมเราถึงต้องการ Smart Contracts?

    เราสามารถดำเนินการแก้ปัญหาต่างๆโดยอัตโนมัติได้โดยการเขียนสัญญาบน Blockchain เพื่อทำให้สิ่งต่างๆง่ายและมีประสิทธิภาพ มาเปรียบเทียบและประเมินว่าสัญญาอัจฉริยะดีกว่าสัญญาแบบเดิมอย่างไร

    สัญญาอัจฉริยะ: ความซับซ้อนตามกรณีการใช้งาน

    ความซับซ้อนของสัญญาขึ้นอยู่กับกรณีการใช้งานที่คุณใฝ่ฝันที่จะเขียนโค้ดบนบล็อคเชน ภาพด้านล่างจะให้ความชัดเจนมากขึ้นเกี่ยวกับความซับซ้อนของสัญญาอัจฉริยะ

    ด้วยสัญญาอัจฉริยะตามบริบทไม่เพียง แต่ บริษัท ต่างๆจะได้รับระบบอัตโนมัติเท่านั้น แต่ยังสามารถจัดตั้งรัฐบาลปกครองตนเองแบบกระจายอำนาจได้อีกด้วย


    มาทำความเข้าใจกันว่าสัญญาอัจฉริยะทำงานอย่างไรโดยใช้กรณีการใช้งาน

    กรณีการใช้งาน Smart Contracts: Healthcare Industry

    การจัดการข้อมูลผู้ป่วย: เมื่อพูดถึงการจัดการข้อมูลผู้ป่วยก็มี สองประเด็นหลัก ในอุตสาหกรรมการดูแลสุขภาพ:

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

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

    ข้อดีของสัญญาอัจฉริยะ

    สิ่งที่ Smart Contract ให้คุณมีดังนี้

    แพลตฟอร์มบล็อกเชนสำหรับการเขียนสัญญาอัจฉริยะ

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

    Bitcoins: Bitcoin ใช้ Script ที่มีความสามารถ จำกัด เมื่อประมวลผลเอกสาร สคริปต์ได้รับการออกแบบมาโดยเฉพาะเพื่อประมวลผลธุรกรรม Bitcoin

    ผ้า Hyperledger : ใน Fabric นั้น Chaincode คือโค้ดแบบเป็นโปรแกรมที่ใช้งานบนเครือข่ายซึ่งจะดำเนินการและตรวจสอบความถูกต้องโดย chain validators ร่วมกันระหว่างกระบวนการฉันทามติ

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

    โซ่ข้าง: โซ่ข้างช่วยเพิ่มประสิทธิภาพของ Blockchains และการปกป้องความเป็นส่วนตัว พวกเขายังเพิ่มความสามารถชอบสัญญาอัจฉริยะที่จับที่ปลอดภัยและ การลงทะเบียนทรัพย์สินในโลกแห่งความเป็นจริง

    เครื่องมือสำหรับการเขียนและการปรับใช้ Smart Contracts

    1. Mist Browser - เป็นเครื่องมือในการเรียกดูและใช้งาน dApps เป็นเบราว์เซอร์แยกต่างหากที่สามารถใช้เพื่อเรียกดู dApps และโต้ตอบกับพวกเขาได้
    2. กรอบแห้ว - Truffle เป็นกรอบการพัฒนายอดนิยมสำหรับ Ethereum มีการรวบรวมสัญญาอัจฉริยะในตัวการเชื่อมโยงการปรับใช้และการจัดการไบนารี
    3. Metamask - MetaMask เป็นสะพานที่ช่วยให้สามารถเยี่ยมชมเว็บที่เผยแพร่ในวันพรุ่งนี้ได้ในเบราว์เซอร์ของพวกเขาวันนี้ ช่วยให้ผู้ใช้สามารถเรียกใช้ Ethereum dApps ได้โดยตรงในเบราว์เซอร์โดยไม่ต้องเรียกใช้โหนด Ethereum แบบเต็ม
    4. รีมิกซ์ - Remix เป็น IDE บนเว็บเบราว์เซอร์ที่ช่วยให้ผู้ใช้สามารถเขียนสัญญาอัจฉริยะ Solidity จากนั้นปรับใช้และเรียกใช้สัญญาอัจฉริยะ

    ภาษาโปรแกรมสำหรับการเขียน Ethereum Smart Contracts

    ความมั่นคง & งู เป็นภาษาหลักสองภาษาสำหรับการเขียน Ethereum Smart Contracts

    : เป็นภาษาระดับสูงที่เน้นการทำสัญญาโดยมีไวยากรณ์คล้ายกับ JavaScript และได้รับการออกแบบมาเพื่อกำหนดเป้าหมายไปที่ Ethereum Virtual Machine (EVM)

    งู: Serpent เป็นภาษาระดับสูงที่ออกแบบมาสำหรับการเขียนสัญญา Ethereum คล้ายกับ Python มาก แต่ ณ เดือนกันยายน 2017 Solidity เป็นภาษาที่ต้องการสำหรับการพัฒนาสำหรับนักพัฒนา Ethereum

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

    ภาษาโปรแกรมที่กำลังจะมาถึง

    1. งูพิษ: Viper มีรูปแบบการเยื้องเหมือน Python เน้นที่ความปลอดภัยและภาษาและความเรียบง่ายของคอมไพเลอร์
    2. ลิสก์: Lisk ใช้จาวาสคริปต์เป็นภาษาสัญญาอัจฉริยะซึ่งช่วยให้นักพัฒนาเขียนโค้ดแอปพลิเคชันได้ง่ายขึ้น
    3. เชื่อมต่อ: Chain มีโครงสร้างพื้นฐาน blockchain ระดับองค์กรพร้อม SDK ในภาษายอดนิยมเช่น Ruby, Java และ NodeJS

    ตอนนี้เนื่องจาก Solidity เป็นภาษาโปรแกรมที่ใช้กันอย่างแพร่หลายในการเขียน Ethereum Smart Contracts ผมขอแนะนำคุณเกี่ยวกับสัญญาที่เขียนด้วย Solidity

    การโอนทรัพย์สิน Smart Contract

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

    สารละลาย: แผนนี้จะใช้เทคโนโลยีเพื่อให้ทุกฝ่ายมองเห็นรายละเอียดของธุรกรรมอสังหาริมทรัพย์ - ธนาคารนายหน้าเจ้าหน้าที่ของรัฐผู้ซื้อและผู้ขาย

    ได้เลยให้ฉันเขียน Smart Contract ให้คุณ:

    pragma solidity ^ 0.4.11 // เรากำลังสร้างกรณีการใช้งานนี้เพื่อเลียนแบบการถ่ายโอนทรัพย์สินในโลกแห่งความจริง // ข้อกำหนดเบื้องต้นของกรณีการใช้งานนี้คือ: // ข้อมูลประจำตัวดิจิทัลอยู่ในตำแหน่ง // Govt ตกลงที่จะใส่ บันทึกที่ดินบน blockchain สาธารณะ // หน่วยงานพัฒนาแต่ละแห่ง (DA) กลายเป็นเจ้าของ defacto ของทรัพย์สินที่มีอยู่ภายใต้การเลือกตั้ง / หน่วยงานนิติบัญญัติของตน // เมื่อตรงตามเงื่อนไขข้างต้นทั้งหมด DA (เจ้าของ) สามารถแนบทรัพย์สินตามลำดับได้อย่างง่ายดาย ให้กับเจ้าของที่ถูกต้องหลังจากการตรวจสอบอย่างละเอียด // เราจะกำหนดฟังก์ชันรอบสมมติฐานชุดนี้ // เราสมมติว่า DA แต่ละแห่งจะปรับใช้สัญญาอัจฉริยะของตนเองตามกฎและข้อบังคับ สัญญาอัจฉริยะทั้งหมดนี้เขียนขึ้นโดยให้ DA เป็นเจ้าของซึ่งสามารถจัดสรรทรัพย์สินได้ // รัฐบาลสามารถกลายเป็นเลเยอร์ที่อยู่ด้านบนของ DA เหล่านี้ได้ และรัฐบาลสามารถตัดสินใจได้ว่า DA (ที่อยู่) ใดที่จะกลายเป็นเจ้าของความขัดแย้งใด // เราสามารถขยายสิ่งนี้ได้อย่างง่ายดาย แต่หลังจากผ่านสัญญาอัจฉริยะนี้แล้วคุณจะสามารถเข้าใจได้ว่าสิ่งต่างๆจะเป็นอย่างไร สัญญา PropertyTransfer {ที่อยู่สาธารณะ DA // DA จะเป็นเจ้าของเราจะเริ่มต้นค่าของตัวแปรนี้ตามที่อยู่ของผู้ใช้ที่จะปรับใช้ เช่น. สมมติว่า DA เอง uint256 public totalNoOfProperty // จำนวนคุณสมบัติทั้งหมดภายใต้ DA ณ เวลาใดก็ได้ ควรเพิ่มขึ้นตามการจัดสรรให้กับเจ้าของที่เกี่ยวข้องหลังการตรวจสอบ // ด้านล่างนี้คือตัวสร้างที่มีการเรียกใช้โค้ดเมื่อสร้างสัญญาเท่านั้น ฟังก์ชัน PropertyTransfer () {DA = msg.sender // ตั้งค่าเจ้าของสัญญาเป็น DA } // โมดิฟายเออร์เพื่อตรวจสอบว่า tx มาจาก DA (เจ้าของ) หรือไม่ใช่โมดิฟายเออร์ onlyOwner () {ต้องใช้ (msg.sender == DA) _} // โครงสร้างนี้จะถูกเก็บไว้เช่นนี้เพื่อการจัดเก็บข้อมูลที่มากกว่าเพียง ชื่อ struct Property {string name // เก็บแผนที่ของคุณสมบัติเทียบกับที่อยู่แต่ละรายการ เราจะระบุชื่อให้กับคุณสมบัติ bool isSold // เราจะทำการนับเช่นกันสำหรับแต่ละที่อยู่} การแมป (ที่อยู่ => การแมป (uint256 => คุณสมบัติ)) คุณสมบัติสาธารณะเจ้าของ // เราจะมีคุณสมบัติที่แมปกับแต่ละที่อยู่โดย ชื่อและจำนวนของแต่ละบุคคล การแมป (address => uint256) individualCountOfPropertyPerOwner // จำนวนคุณสมบัติที่บุคคลหนึ่งถือเหตุการณ์ PropertyAlloted (แอดเดรสที่จัดทำดัชนี _verifiedOwner, uint256 ดัชนี _totalNoOfPropertyCurrently สตริง _nameOfProperty สตริง _msg) เหตุการณ์ PropertyTransferred (สตริงที่อยู่ _property _ ดัชนี _msg) // สิ่งนี้จะทำให้เรามีจำนวนคุณสมบัติที่แน่นอนซึ่งที่อยู่ใด ๆ เป็นของตัวเอง ณ เวลาใดก็ได้ฟังก์ชัน getPropertyCountOfAnyAddress (ที่อยู่ _ownerAddress) ผลตอบแทนคงที่ (uint256) {uint count = 0 สำหรับ (uint i = 0 i 

    ดังนั้นคุณเพิ่งตั้งโปรแกรมวิธีการโอนทรัพย์สินบนเครือข่ายแบบกระจายอำนาจ จะเด็ดแค่ไหน !!

    คุณจะเห็นได้ว่าศักยภาพของ [สัญญาอัจฉริยะ] ในการปรับเปลี่ยนแง่มุมต่างๆของสังคมนั้นมีขนาดใหญ่มาก

    java c ++ python

    ด้วยเหตุนี้ฉันจึงสรุปได้ว่า สัญญาอัจฉริยะ บล็อก ฉันหวังว่าคุณจะสนุกกับการอ่านบล็อกนี้และพบว่าเป็นข้อมูล

    มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไปที่ earlieเซนต์.

    ผมหากคุณต้องการเรียนรู้ Smart Contracts สร้างอาชีพในโดเมนของ Blockchain และได้รับความเชี่ยวชาญในการเขียนโปรแกรม Ethereum ลงทะเบียนในออนไลน์แบบสด ที่นี่ซึ่งมาพร้อมกับการสนับสนุน 24 * 7 เพื่อแนะนำคุณตลอดระยะเวลาการเรียนรู้ของคุณ