หัวใจสำคัญของสินทรัพย์สังเคราะห์ทุกรายการคือสัญญาที่ชาญฉลาด เริ่มต้นด้วยการตั้งค่าสัญญาอัจฉริยะพื้นฐานบน Remix IDE
เปิด รีมิกซ์ IDE
สร้างไฟล์ Solidity ใหม่ชื่อ SyntheticAsset.sol
ใน 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 การเดินทางสู่การเรียนรู้สินทรัพย์สังเคราะห์เริ่มน่าตื่นเต้นมากขึ้นในแต่ละขั้นตอน คอยติดตาม!
หัวใจสำคัญของสินทรัพย์สังเคราะห์ทุกรายการคือสัญญาที่ชาญฉลาด เริ่มต้นด้วยการตั้งค่าสัญญาอัจฉริยะพื้นฐานบน Remix IDE
เปิด รีมิกซ์ IDE
สร้างไฟล์ Solidity ใหม่ชื่อ SyntheticAsset.sol
ใน 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 การเดินทางสู่การเรียนรู้สินทรัพย์สังเคราะห์เริ่มน่าตื่นเต้นมากขึ้นในแต่ละขั้นตอน คอยติดตาม!