Вызов смартконтрактов для нубиков
Все свапалки, мосты, монеты, NFT и прочее - это контракты.
У контрактов есть функции, которые можно вызывать.
Функции бывают читающие(Read) блокчейн и изменяющие(Write) его.
Читающие(Read) функции просто просматривают блокчейн и выдают тебе информацию с ближайжего сервера не отправляя транзакции в блокчейн
Изменяющие(Write) это все те что ты подписываешь в метамаске и платишь за них газ
Для примера возьмем контракт USDT в сети BSC - https://bscscan.com/token/0x55d398326f99059ff775485246999027b3197955?#readContract
Ниже я вызвал функцию проверки баланса кошелька(balanceOf) вставив свой адрес
И как видно контракт выдал 1318538214630821927122, но это значение в WEI - в минимальной единице смартконтрактов, чтоб перевести в нормальную единицу(ETH) нужно поделить на 10^18, но бск скан позаботился об этом и надо всего то нажать на число и перекинет на калькулятор
А теперь приведу пример вызова Write функции контракта, перекину сам себе 0 USDT (да так можно). Только подключите перед этим кошелек к бскскану, я выделил под цифрой 3
И еще на будущее если будете отправлять транзакцию таким образом то количество сначала из ETH переведите в WEI в этом калькуляторе
А вот и сама транзакция - https://bscscan.com/tx/0x62cf9adfd9d0941d70b99befd2fa8249f610f81edaa515e2ef37b98b008f3a60
А снизу транзы показано что была вызвана функция transfer с параметрами адрес и количество в нормально читаемом виде, но если бы создатели USDT не верифицировали контракт и не закинули код в бскскан, то там бы была каша из символов и тогда скорее всего бы я не смог вызвать функцию через бск скан
Вот например как выглядит эта транзакция в оригинале как ее отправляет метамаск. 0x означает что дальше идет число в 16ой системе счисления, затем 8 бит под название функции и 64 под адрес и количество
Все контракты плюс минус одинаковые и сделаны почти из одних и тех же функций. Контракты тупо копипастят или собирают как конструктор из готовых функций на https://www.openzeppelin.com/contracts
Воспринимать смартконтракты монет стоит как ексель с столбцами кто сколько имеет у себя монет, кто кому сколько монет апрувнул и тому подобное
Ещё хотел чучуть затронуть стандарты монет ERC 20, 721, 1155. Чтоб монета считалась ERC20 ей нужно иметь обязательный набор функций по типу перевода с аккаунт на акаунт и возможность апрувнуть, у erc721 и 1155 тоже самое и еще другие функции, если у контракта чего то нет, то это уже получается другой стандарт, и этих стандартов на самом деле куча, просто популярны эти 3 и их вариации
Надеюсь теперь у вас больше знаний чем нихуя и если хотите продолжить изучать смарт контракты, то советую этих типов
https://t.me/ortomich_dev
-
https://t.me/ak74lab
Кста обязательно не лайкайте и не делитесь