pragma solidity ^0.4.20; contract MyToken { // Tworzymy słownik: adres konta – liczba tokenów (balans) mapping (address => uint256) public balanceOf; // Podczas wdrożenia właściciel kontraktu otrzymuje wszystkie tokeny constructor(uint256 initialSupply) public { balanceOf[msg.sender] = initialSupply; } // Funkcja wykonuje transfer tokenów function transfer(address _to, uint256 _value) public { // Sprawdzamy czy nadawca ma wystarczający balans require(balanceOf[msg.sender] >= _value); // Zabezpieczamy się przed potencjalnymi przepełnieniami require(balanceOf[_to] + _value >= balanceOf[_to]); // Zmniejszamy balans konta nadawcy balanceOf[msg.sender] -= _value; // Zwiększamy balans konta docelowego balanceOf[_to] += _value; } }
0.4.23