Lección 3

Архітектура контракту на синтетичні активи

Оскільки ми просуваємося вперед у нашому дослідженні синтетичних активів, дуже важливо заглибитися в архітектуру контракту на синтетичні активи. Ця архітектура формує основу, на якій працюють синтетичні активи. У цьому уроці ми поєднаємо теорію з практикою, проілюструвавши архітектуру за допомогою фрагментів коду, які ви можете спробувати в Remix IDE.

Фонд розумних контрактів

В основі кожного синтетичного активу лежить смарт-контракт. Почнемо з налаштування базового смарт-контракту в Remix IDE.

  1. Відкрийте Remix IDE.

  2. Створіть новий файл Solidity під назвою SyntheticAsset.sol.

  3. У SyntheticAsset.sol, вставте наступний код:

Solidity 
 // SPDX-License-Identifier: прагма MIT 
 solidity ^0.8.0; 

 контракт SyntheticAsset {
    // Code will go here
}

Механізм відстеження активів

Відстеження ціни базового активу має вирішальне значення. Для цього ми використаємо спрощений механізм оракула.

Додайте такий код до SyntheticAsset.sol:

Solidity 
 uint256 public underlyingAssetPrice; 

 функція updatePrice(uint256 _price) public {
    underlyingAssetPrice = _price;
}

Управління заставою

Давайте запровадимо просту систему управління заставою в рамках нашого договору.

Solidity 
 uint256 державна застава; 

 функція depositCollateral(uint256 _amount) public {
    collateral += _amount;
}

функція rejectCollateral(uint256 _amount) public {
    require(collateral >= _amount, "Insufficient collateral");
    collateral -= _amount;
}

Синтез цін

Синтез цін досягається шляхом читання оновленої ціни базового активу.

Функція Solidity 
 getSyntheticAssetPrice() для загального перегляду повертає (uint256) {
    return underlyingAssetPrice;
}

Інтерфейс взаємодії з користувачем

Давайте створимо простий інтерфейс для взаємодії з користувачем.

Solidity 
 функція mintSyntheticAsset(uint256 _amount) public {
    // Logic for minting synthetic asset
}

функція redeemSyntheticAsset(uint256 _amount) public {
    // Logic for redeeming synthetic asset
}

Управління та можливість оновлення (необов’язково)

Для простоти ми пропустимо цю частину в нашому коді. Однак у реальному сценарії впровадження управління та можливості оновлення є вирішальними.

Заходи безпеки

Давайте додамо основні перевірки безпеки до нашого контракту.

Solidity 
 модифікатор onlyOwner() {
    require(msg.sender == owner, "Not the contract owner");
    _;
}

адреса публічного власника; 

 constructor() {
    owner = msg.sender;
}

функція updatePrice(uint256 _price) public onlyOwner {
    underlyingAssetPrice = _price;
}

Тепер, маючи ці фрагменти коду, у вас є спрощена версія контракту на синтетичні активи. Спробуйте розгорнути цей контракт на Remix IDE, взаємодійте з ним і спостерігайте, як різні частини архітектури поєднуються.

Ваш код виглядатиме так:

Коли ви взаємодієте з кодом, теоретичні аспекти, розглянуті раніше, стануть більш відчутними. Краса смарт-контрактів і технології блокчейн стає помітною, коли ви заглиблюєтеся в практичний аспект синтетичних активів.

У наступному уроці ми розглянемо цей фундамент і розглянемо процес реалізації більш складного контракту синтетичного активу в Remix IDE. Подорож до освоєння синтетичних активів з кожним кроком стає все більш захоплюючою. Залишайтеся на зв'язку!

Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.
Catálogo
Lección 3

Архітектура контракту на синтетичні активи

Оскільки ми просуваємося вперед у нашому дослідженні синтетичних активів, дуже важливо заглибитися в архітектуру контракту на синтетичні активи. Ця архітектура формує основу, на якій працюють синтетичні активи. У цьому уроці ми поєднаємо теорію з практикою, проілюструвавши архітектуру за допомогою фрагментів коду, які ви можете спробувати в Remix IDE.

Фонд розумних контрактів

В основі кожного синтетичного активу лежить смарт-контракт. Почнемо з налаштування базового смарт-контракту в Remix IDE.

  1. Відкрийте Remix IDE.

  2. Створіть новий файл Solidity під назвою SyntheticAsset.sol.

  3. У SyntheticAsset.sol, вставте наступний код:

Solidity 
 // SPDX-License-Identifier: прагма MIT 
 solidity ^0.8.0; 

 контракт SyntheticAsset {
    // Code will go here
}

Механізм відстеження активів

Відстеження ціни базового активу має вирішальне значення. Для цього ми використаємо спрощений механізм оракула.

Додайте такий код до SyntheticAsset.sol:

Solidity 
 uint256 public underlyingAssetPrice; 

 функція updatePrice(uint256 _price) public {
    underlyingAssetPrice = _price;
}

Управління заставою

Давайте запровадимо просту систему управління заставою в рамках нашого договору.

Solidity 
 uint256 державна застава; 

 функція depositCollateral(uint256 _amount) public {
    collateral += _amount;
}

функція rejectCollateral(uint256 _amount) public {
    require(collateral >= _amount, "Insufficient collateral");
    collateral -= _amount;
}

Синтез цін

Синтез цін досягається шляхом читання оновленої ціни базового активу.

Функція Solidity 
 getSyntheticAssetPrice() для загального перегляду повертає (uint256) {
    return underlyingAssetPrice;
}

Інтерфейс взаємодії з користувачем

Давайте створимо простий інтерфейс для взаємодії з користувачем.

Solidity 
 функція mintSyntheticAsset(uint256 _amount) public {
    // Logic for minting synthetic asset
}

функція redeemSyntheticAsset(uint256 _amount) public {
    // Logic for redeeming synthetic asset
}

Управління та можливість оновлення (необов’язково)

Для простоти ми пропустимо цю частину в нашому коді. Однак у реальному сценарії впровадження управління та можливості оновлення є вирішальними.

Заходи безпеки

Давайте додамо основні перевірки безпеки до нашого контракту.

Solidity 
 модифікатор onlyOwner() {
    require(msg.sender == owner, "Not the contract owner");
    _;
}

адреса публічного власника; 

 constructor() {
    owner = msg.sender;
}

функція updatePrice(uint256 _price) public onlyOwner {
    underlyingAssetPrice = _price;
}

Тепер, маючи ці фрагменти коду, у вас є спрощена версія контракту на синтетичні активи. Спробуйте розгорнути цей контракт на Remix IDE, взаємодійте з ним і спостерігайте, як різні частини архітектури поєднуються.

Ваш код виглядатиме так:

Коли ви взаємодієте з кодом, теоретичні аспекти, розглянуті раніше, стануть більш відчутними. Краса смарт-контрактів і технології блокчейн стає помітною, коли ви заглиблюєтеся в практичний аспект синтетичних активів.

У наступному уроці ми розглянемо цей фундамент і розглянемо процес реалізації більш складного контракту синтетичного активу в Remix IDE. Подорож до освоєння синтетичних активів з кожним кроком стає все більш захоплюючою. Залишайтеся на зв'язку!

Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.