Obsah

Solidity: Programování pro EVM

Solidity je vysokoúrovňový, staticky typovaný jazyk určený k implementaci chytrých smluv na platformách podporujících EVM (Ethereum Virtual Machine). Je to jazyk orientovaný na kontrakty, což znamená, že základní jednotkou kódu není třída, ale „Contract“.

1. Charakteristika jazyka

Solidity má několik unikátních vlastností, které ho odlišují od běžných jazyků:

—

2. Správa dat a paměti (Gas Optimization)

V Solidity je programátor zodpovědný za to, kolik výpočetních zdrojů aplikace spotřebuje. Každý zápis do blockchainu stojí Gas.

—

3. Příklad: Jednoduchý Smart Contract

Následující kód demonstruje základní syntaxi Solidity (verze 0.8.x):

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

contract PristupovySystem {
    address public majitel;
    mapping(address => bool) public povoleneAdresy;

    // Konstruktor se spustí pouze jednou při nasazení kontraktu
    constructor() {
        majitel = msg.sender; // Nastaví tvůrce jako majitele
    }

    // Modifikátor pro omezení přístupu
    modifier jenMajitel() {
        require(msg.sender == majitel, "Nejste majitel!");
        _; // Zde se pokrařuje v těle funkce
    }

    // Funkce pro přidání uživatele (může volat jen majitel)
    function povolitVstup(address _uzivatel) public jenMajitel {
        povoleneAdresy[_uzivatel] = true;
    }
}

—

4. Bezpečnostní mechanismy

Kvůli práci se skutečnými penězi obsahuje Solidity vestavěné mechanismy pro ošetření chyb:

—

5. Standardy a knihovny

Vývojáři v Solidity málokdy začínají „na zelené louce“. Používají prověřené standardy ERC (Ethereum Request for Comments):


Související články:

Tagy: it solidity programming smart-contracts ethereum evm development