В основі кожного синтетичного активу лежить смарт-контракт. Почнемо з налаштування базового смарт-контракту в Remix IDE.
Відкрийте Remix IDE.
Створіть новий файл Solidity під назвою SyntheticAsset.sol.
У 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. Подорож до освоєння синтетичних активів з кожним кроком стає все більш захоплюючою. Залишайтеся на зв'язку!