الدرس رقم 3

สถาปัตยกรรมของสัญญาสินทรัพย์สังเคราะห์

เมื่อเราก้าวไปข้างหน้าในการสำรวจสินทรัพย์สังเคราะห์ จำเป็นอย่างยิ่งที่จะต้องเจาะลึกเข้าไปในสถาปัตยกรรมของสัญญาสินทรัพย์สังเคราะห์ สถาปัตยกรรมนี้เป็นรากฐานสำหรับการทำงานของสินทรัพย์สังเคราะห์ ในบทเรียนนี้ เราจะผสมผสานทฤษฎีเข้ากับการปฏิบัติ โดยแสดงตัวอย่างสถาปัตยกรรมด้วยโค้ดขนาดสั้นที่คุณสามารถลองใช้บน Remix IDE ได้

มูลนิธิสัญญาอัจฉริยะ

หัวใจสำคัญของสินทรัพย์สังเคราะห์ทุกรายการคือสัญญาที่ชาญฉลาด เริ่มต้นด้วยการตั้งค่าสัญญาอัจฉริยะพื้นฐานบน Remix IDE

  1. เปิด รีมิกซ์ IDE

  2. สร้างไฟล์ Solidity ใหม่ชื่อ SyntheticAsset.sol

  3. ใน SyntheticAsset.sol วางรหัสต่อไปนี้:

ความแข็งแกร่ง 
 // SPDX-License-Identifier: ความแข็งแกร่งของ MIT 
 pragma ^0.8.0; 

 สัญญา SyntheticAsset {
    // Code will go here
}

กลไกการติดตามทรัพย์สิน

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

เพิ่มรหัสต่อไปนี้ใน SyntheticAsset.sol:

ความแข็งแกร่ง 
 uint256 ราคาสินทรัพย์อ้างอิงสาธารณะ; 

 ฟังก์ชั่น updatePrice(uint256 _price) สาธารณะ {
    underlyingAssetPrice = _price;
}

การจัดการหลักประกัน

เรามาแนะนำระบบการจัดการหลักประกันง่ายๆ ภายในสัญญาของเรากัน

ความมั่นคง 
 uint256 หลักประกันสาธารณะ; 

 ฟังก์ชั่น ฝากCollateral(uint256 _amount) สาธารณะ {
    collateral += _amount;
}

ฟังก์ชั่น ถอนหลักประกัน(uint256 _amount) สาธารณะ {
    require(collateral >= _amount, "Insufficient collateral");
    collateral -= _amount;
}

การสังเคราะห์ราคา

การสังเคราะห์ราคาทำได้โดยการอ่านราคาที่อัปเดตของสินทรัพย์อ้างอิง

ฟังก์ชัน Solidity 
 getSyntheticAssetPrice() ส่งคืนมุมมองสาธารณะ (uint256) {
    return underlyingAssetPrice;
}

ส่วนต่อประสานผู้ใช้

มาสร้างอินเทอร์เฟซที่เรียบง่ายสำหรับการโต้ตอบกับผู้ใช้กันดีกว่า

Solidity 
 ฟังก์ชัน mintSyntheticAsset(uint256 _amount) สาธารณะ {
    // Logic for minting synthetic asset
}

ฟังก์ชัน redSyntheticAsset(uint256 _amount) สาธารณะ {
    // Logic for redeeming synthetic asset
}

การกำกับดูแลและความสามารถในการอัพเกรด (ทางเลือก)

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

มาตรการรักษาความปลอดภัย

มาเพิ่มการตรวจสอบความปลอดภัยขั้นพื้นฐานในสัญญาของเรากัน

ตัวแก้ไข Solidity 
 onlyOwner() {
    require(msg.sender == owner, "Not the contract owner");
    _;
}

ที่อยู่ของเจ้าของสาธารณะ 

 ตัวสร้าง () {
    owner = msg.sender;
}

ฟังก์ชั่น updatePrice (uint256 _price) สาธารณะ onlyOwner {
    underlyingAssetPrice = _price;
}

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

รหัสของคุณจะมีลักษณะดังนี้:

เมื่อคุณโต้ตอบกับโค้ด แง่มุมทางทฤษฎีที่กล่าวถึงก่อนหน้านี้จะจับต้องได้มากขึ้น ความงามของสัญญาอัจฉริยะและเทคโนโลยีบล็อคเชนเริ่มส่องแสงเมื่อคุณเจาะลึกแง่มุมเชิงปฏิบัติของสินทรัพย์สังเคราะห์

ในบทถัดไป เราจะต่อยอดรากฐานนี้และอธิบายขั้นตอนการดำเนินการตามสัญญาสินทรัพย์สังเคราะห์ที่ซับซ้อนมากขึ้นใน Remix IDE การเดินทางสู่การเรียนรู้สินทรัพย์สังเคราะห์เริ่มน่าตื่นเต้นมากขึ้นในแต่ละขั้นตอน คอยติดตาม!

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.
الكتالوج
الدرس رقم 3

สถาปัตยกรรมของสัญญาสินทรัพย์สังเคราะห์

เมื่อเราก้าวไปข้างหน้าในการสำรวจสินทรัพย์สังเคราะห์ จำเป็นอย่างยิ่งที่จะต้องเจาะลึกเข้าไปในสถาปัตยกรรมของสัญญาสินทรัพย์สังเคราะห์ สถาปัตยกรรมนี้เป็นรากฐานสำหรับการทำงานของสินทรัพย์สังเคราะห์ ในบทเรียนนี้ เราจะผสมผสานทฤษฎีเข้ากับการปฏิบัติ โดยแสดงตัวอย่างสถาปัตยกรรมด้วยโค้ดขนาดสั้นที่คุณสามารถลองใช้บน Remix IDE ได้

มูลนิธิสัญญาอัจฉริยะ

หัวใจสำคัญของสินทรัพย์สังเคราะห์ทุกรายการคือสัญญาที่ชาญฉลาด เริ่มต้นด้วยการตั้งค่าสัญญาอัจฉริยะพื้นฐานบน Remix IDE

  1. เปิด รีมิกซ์ IDE

  2. สร้างไฟล์ Solidity ใหม่ชื่อ SyntheticAsset.sol

  3. ใน SyntheticAsset.sol วางรหัสต่อไปนี้:

ความแข็งแกร่ง 
 // SPDX-License-Identifier: ความแข็งแกร่งของ MIT 
 pragma ^0.8.0; 

 สัญญา SyntheticAsset {
    // Code will go here
}

กลไกการติดตามทรัพย์สิน

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

เพิ่มรหัสต่อไปนี้ใน SyntheticAsset.sol:

ความแข็งแกร่ง 
 uint256 ราคาสินทรัพย์อ้างอิงสาธารณะ; 

 ฟังก์ชั่น updatePrice(uint256 _price) สาธารณะ {
    underlyingAssetPrice = _price;
}

การจัดการหลักประกัน

เรามาแนะนำระบบการจัดการหลักประกันง่ายๆ ภายในสัญญาของเรากัน

ความมั่นคง 
 uint256 หลักประกันสาธารณะ; 

 ฟังก์ชั่น ฝากCollateral(uint256 _amount) สาธารณะ {
    collateral += _amount;
}

ฟังก์ชั่น ถอนหลักประกัน(uint256 _amount) สาธารณะ {
    require(collateral >= _amount, "Insufficient collateral");
    collateral -= _amount;
}

การสังเคราะห์ราคา

การสังเคราะห์ราคาทำได้โดยการอ่านราคาที่อัปเดตของสินทรัพย์อ้างอิง

ฟังก์ชัน Solidity 
 getSyntheticAssetPrice() ส่งคืนมุมมองสาธารณะ (uint256) {
    return underlyingAssetPrice;
}

ส่วนต่อประสานผู้ใช้

มาสร้างอินเทอร์เฟซที่เรียบง่ายสำหรับการโต้ตอบกับผู้ใช้กันดีกว่า

Solidity 
 ฟังก์ชัน mintSyntheticAsset(uint256 _amount) สาธารณะ {
    // Logic for minting synthetic asset
}

ฟังก์ชัน redSyntheticAsset(uint256 _amount) สาธารณะ {
    // Logic for redeeming synthetic asset
}

การกำกับดูแลและความสามารถในการอัพเกรด (ทางเลือก)

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

มาตรการรักษาความปลอดภัย

มาเพิ่มการตรวจสอบความปลอดภัยขั้นพื้นฐานในสัญญาของเรากัน

ตัวแก้ไข Solidity 
 onlyOwner() {
    require(msg.sender == owner, "Not the contract owner");
    _;
}

ที่อยู่ของเจ้าของสาธารณะ 

 ตัวสร้าง () {
    owner = msg.sender;
}

ฟังก์ชั่น updatePrice (uint256 _price) สาธารณะ onlyOwner {
    underlyingAssetPrice = _price;
}

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

รหัสของคุณจะมีลักษณะดังนี้:

เมื่อคุณโต้ตอบกับโค้ด แง่มุมทางทฤษฎีที่กล่าวถึงก่อนหน้านี้จะจับต้องได้มากขึ้น ความงามของสัญญาอัจฉริยะและเทคโนโลยีบล็อคเชนเริ่มส่องแสงเมื่อคุณเจาะลึกแง่มุมเชิงปฏิบัติของสินทรัพย์สังเคราะห์

ในบทถัดไป เราจะต่อยอดรากฐานนี้และอธิบายขั้นตอนการดำเนินการตามสัญญาสินทรัพย์สังเคราะห์ที่ซับซ้อนมากขึ้นใน Remix IDE การเดินทางสู่การเรียนรู้สินทรัพย์สังเคราะห์เริ่มน่าตื่นเต้นมากขึ้นในแต่ละขั้นตอน คอยติดตาม!

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.