- Завантажуємо гаманець за посиланням;
- Працюємо одразу у двох мережах: «Native Chain» та «EVM Chain». Отримуємо тестові токени тут;
- Тепер варто здійснити декілька тестових транзакцій у тестових мережах. Можете надіслати на мою Native Chain адресу:
5EZSbyZwuTSukcj8XZwUT7BQ4sFxt6Zywu7ZnzT8nuu6F8m9
а також на EVM Chain: 0x67791B703B14f4DF8955FFd11B7Ff97aa8d059DE
Створення смарт-контракту
- Переходимо на цей сайт. Тут буде створюватися смарт-контракт;
- Переходимо на сайт із детальною інструкцією. Виконуємо усі дії.
Код, який потрібно використати:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.0.0/contracts/token/ERC20/IERC20.sol
interface IERC20 {
function totalSupply() external view returns (uint);
function balanceOf(address account) external view returns (uint);
function transfer(address recipient, uint amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}
contract ERC20 is IERC20 {
uint public totalSupply;
mapping(address => uint) public balanceOf;
mapping(address => mapping(address => uint)) public allowance;
string public name = “Solidity by Example”;
string public symbol = “SOLBYEX”;
uint8 public decimals = 18;
function transfer(address recipient, uint amount) external returns (bool) {
balanceOf[msg.sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(msg.sender, recipient, amount);
return true;
}
function approve(address spender, uint amount) external returns (bool) {
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint amount
) external returns (bool) {
allowance[sender][msg.sender] -= amount;
balanceOf[sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(sender, recipient, amount);
return true;
}
function mint(uint amount) external {
balanceOf[msg.sender] += amount;
totalSupply += amount;
emit Transfer(address(0), msg.sender, amount);
}
function burn(uint amount) external {
balanceOf[msg.sender] -= amount;
totalSupply -= amount;
emit Transfer(msg.sender, address(0), amount);
}
}
Після успішного тестнету йдемо у Discord та залишаємо відгук обов‘язково вказуючи адресу своїх гаманців.
Залишити відповідь