<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Иван Никитин</title><author><name>Иван Никитин</name></author><id>https://teletype.in/atom/hobotilo</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/hobotilo?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@hobotilo?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=hobotilo"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/hobotilo?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-06T18:15:37.724Z</updated><entry><id>hobotilo:nemnogo_pro_apryvi</id><link rel="alternate" type="text/html" href="https://teletype.in/@hobotilo/nemnogo_pro_apryvi?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=hobotilo"></link><title>Немного про апрувы</title><published>2023-08-31T21:08:14.869Z</published><updated>2023-08-31T21:08:14.869Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/99/14/9914c138-98d7-4199-a934-c901f72fd036.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/27/27/2727b320-d55d-49d9-9bb3-3063133e01c5.png&quot;&gt;апрувы апрувы апрувы апрувы апрувы апрувы апрувы апрувы</summary><content type="html">
  &lt;figure id=&quot;1Ki4&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/27/27/2727b320-d55d-49d9-9bb3-3063133e01c5.png&quot; width=&quot;1280&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;yJD5&quot;&gt;Карочи апрувы это разрешение на трату ваших денюшек&lt;/p&gt;
  &lt;p id=&quot;eD8I&quot;&gt;В сетях метамаска апрувы необходимы чтоб смартконтракты сами брали ваши деньги и вызывали нужную функцию без вашего участия. Например в сети соланы  апрувы не нужны, вы сразу вызываете нужную функцию и отдаете деньги. Эфир и подобные сети в этом плане староваты, но хотяб надежны и понятны&lt;/p&gt;
  &lt;p id=&quot;kfeL&quot;&gt;Апрувы как можно давать так и отменять. Для удобства отмены юзайте &lt;a href=&quot;https://revoke.cash/&quot; target=&quot;_blank&quot;&gt;ревок кеш. &lt;/a&gt;Чтоб бездумно не отменять все апрувы подряд я вам предлагаю раз в полгода-год отменять апрувы только на тех монетах, которые вы часто юзаете и в которых у вас могут потенциально быть большие суммы. Например USDT, USDC, BUSD, SOL, ETH, WETH, BTC, WBTC, BNB, WBNB и тому подобное&lt;/p&gt;
  &lt;p id=&quot;azNo&quot;&gt;У монет которыми вы платите газ по типу ETH в сети эфира или BNB в сети BSC нету апрувов, единственная функция у них это перевод, поэтому все NFT маркетплейсы для офферов юзают WETH и WBNB, чтоб когда кто-то примет ваш оффер, маркетплейс сам передаст ваши WETH и вы получили NFT&lt;br /&gt;&lt;br /&gt;Кстати можно перекинуть деньги на второй кошелек, дать апрув своему основному кошельку и тратить деньги со второго хых. Не знаю кому и зачем это надо, но я ща покажу как это сделать&lt;/p&gt;
  &lt;p id=&quot;JxnX&quot;&gt;1) Перекинул 1 USDT на &lt;strong&gt;&lt;em&gt;второй &lt;/em&gt;&lt;/strong&gt;кошелек и зашел на &lt;a href=&quot;https://polygonscan.com/token/0xc2132d05d31c914a87c6611c10748aeb04b58e8f#writeProxyContract&quot; target=&quot;_blank&quot;&gt;страницу контракта USDT&lt;/a&gt; &lt;br /&gt;2) Вписал в функцию &amp;#x27;&amp;#x27;approve&amp;#x27;&amp;#x27; кошелек которому апруваю монеты и количество монет 1000000000000 USDT; вот тут небольшая помарочка почему такое количество монет, а не 1 USDT, я затупил и подумал 1 монета это 10^18 wei, потому что везде где я вызывал было так, но оказывается надо считать с учетом decimals(знаков после запятой), а у контракта USDT это значение 6 символов и получается 1 000 000 это 1 USDT&lt;br /&gt;&lt;/p&gt;
  &lt;figure id=&quot;YC7B&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/aa/d0/aad04f47-23d6-4edd-88a2-7e16a95e6ac6.png&quot; width=&quot;698&quot; /&gt;
    &lt;figcaption&gt;Decimals ёпта&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;1AnC&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/97/a7/97a7c8b0-2eab-48e4-96c0-935660c46968.png&quot; /&gt;
    &lt;figcaption&gt;Транза - https://polygonscan.com/tx/0x8debc11b12727ba198bb703e82b89c1cb8a515a1372fd1ec0a14c3b02c1d66b8&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;8W5g&quot;&gt;3) А теперь чтоб перевести эти деньги с основного кошелька куда угодно так же заходим в &lt;a href=&quot;https://polygonscan.com/token/0xc2132d05d31c914a87c6611c10748aeb04b58e8f#writeProxyContract&quot; target=&quot;_blank&quot;&gt;контракт USDT &lt;/a&gt;с &lt;em&gt;&lt;strong&gt;основного кошеля&lt;/strong&gt;&lt;/em&gt;и вызываем функцию &amp;#x27;&amp;#x27;transferFrom&amp;#x27;&amp;#x27;. (1) Вписываем кошелек с которого мы отправим деньги, (2) кому отправляем, (3) ну и количество 1 USDT&lt;br /&gt;&lt;/p&gt;
  &lt;figure id=&quot;MkuA&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/62/41/6241501f-5906-4e86-98be-fad7b681ab89.png&quot; width=&quot;471&quot; /&gt;
    &lt;figcaption&gt;Транза -  https://polygonscan.com/tx/0x5f77d58d734f16528910cddcfa5203971bc682f37a5d15bd62cb97e81c21b282&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;wcVL&quot;&gt;&lt;br /&gt;&lt;br /&gt;Теперь по сути мне надо переписать &lt;a href=&quot;https://teletype.in/@hobotilo/smartcontracts_dlya_nybikov&quot; target=&quot;_blank&quot;&gt;статью по вызовам смарт контрактов&lt;/a&gt;, потому что там не было написано инфы о decimals кек и я чот впервые столкнулся с этим хыыы&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h2 id=&quot;FHUv&quot;&gt;&lt;a href=&quot;https://t.me/hobotilo_donate&quot; target=&quot;_blank&quot;&gt;Донатить сюда&lt;/a&gt; &lt;br /&gt;Статья написана &lt;a href=&quot;https://t.me/hobotilo&quot; target=&quot;_blank&quot;&gt;hobotilo &lt;/a&gt;для &lt;a href=&quot;https://t.me/hobotilnya&quot; target=&quot;_blank&quot;&gt;Хоботильни&lt;/a&gt;&lt;/h2&gt;
  &lt;/section&gt;

</content></entry><entry><id>hobotilo:smartcontracts_dlya_nybikov</id><link rel="alternate" type="text/html" href="https://teletype.in/@hobotilo/smartcontracts_dlya_nybikov?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=hobotilo"></link><title>Вызов смартконтрактов для нубиков</title><published>2023-04-06T15:39:25.543Z</published><updated>2023-04-06T15:45:34.620Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/de/7e/de7eed9a-a8aa-405a-8bcf-f877b97b6fb7.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/f2/50/f250e865-1ccd-4503-a3a3-86490da8a795.png&quot;&gt;Все свапалки, мосты, монеты, NFT и прочее - это контракты.

У контрактов есть функции, которые можно вызывать.

Функции бывают читающие(Read) блокчейн и изменяющие(Write) его.

Читающие(Read) функции просто просматривают блокчейн и выдают тебе информацию с ближайжего сервера не отправляя транзакции в блокчейн</summary><content type="html">
  &lt;figure id=&quot;CQ4n&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f2/50/f250e865-1ccd-4503-a3a3-86490da8a795.png&quot; width=&quot;828&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Fm1U&quot;&gt;Все свапалки, мосты, монеты, NFT и прочее - это контракты.&lt;br /&gt;&lt;br /&gt;У контрактов есть функции, которые можно вызывать.&lt;br /&gt;&lt;br /&gt;Функции бывают читающие(Read) блокчейн и изменяющие(Write) его.&lt;br /&gt;&lt;br /&gt;Читающие(Read) функции просто просматривают блокчейн и выдают тебе информацию с ближайжего сервера не отправляя транзакции в блокчейн&lt;/p&gt;
  &lt;p id=&quot;YzRw&quot;&gt;Изменяющие(Write) это все те что ты подписываешь в метамаске и платишь за них газ&lt;/p&gt;
  &lt;p id=&quot;snNz&quot;&gt;Для примера возьмем контракт USDT в сети BSC - &lt;a href=&quot;https://bscscan.com/token/0x55d398326f99059ff775485246999027b3197955?#readContract&quot; target=&quot;_blank&quot;&gt;https://bscscan.com/token/0x55d398326f99059ff775485246999027b3197955?#readContract&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;vFpZ&quot;&gt;Ниже я вызвал функцию проверки баланса кошелька(balanceOf) вставив свой адрес&lt;/p&gt;
  &lt;figure id=&quot;f1Mj&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/70/8070e5ef-c890-4d3b-9286-3bc2a6c059e7.png&quot; width=&quot;1416&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;46q8&quot;&gt;И как видно контракт выдал 1318538214630821927122, но это значение в WEI - в минимальной единице смартконтрактов, чтоб перевести в нормальную единицу(ETH) нужно поделить на 10^18, но бск скан позаботился об этом и надо всего то нажать на число и перекинет на калькулятор&lt;/p&gt;
  &lt;figure id=&quot;VimV&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c6/5f/c65fb010-5223-462c-ac86-8454fbd5d335.png&quot; width=&quot;1406&quot; /&gt;
    &lt;figcaption&gt;Мой USDT балик&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xFUw&quot;&gt;А теперь приведу пример вызова Write функции контракта, перекину сам себе 0 USDT (да так можно). Только подключите перед этим кошелек к бскскану, я выделил под цифрой 3&lt;br /&gt;&lt;br /&gt;И еще на будущее если будете отправлять транзакцию таким образом то количество сначала из ETH переведите в WEI в &lt;a href=&quot;https://www.alchemy.com/gwei-calculator&quot; target=&quot;_blank&quot;&gt;этом калькуляторе &lt;/a&gt;&lt;/p&gt;
  &lt;figure id=&quot;wVbu&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/8e/87/8e87297c-0d2d-4295-97dd-68e9c6950e3f.png&quot; width=&quot;1372&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;5d1A&quot;&gt;А вот и сама транзакция - &lt;a href=&quot;https://bscscan.com/tx/0x62cf9adfd9d0941d70b99befd2fa8249f610f81edaa515e2ef37b98b008f3a60&quot; target=&quot;_blank&quot;&gt;https://bscscan.com/tx/0x62cf9adfd9d0941d70b99befd2fa8249f610f81edaa515e2ef37b98b008f3a60&lt;/a&gt;&lt;/p&gt;
  &lt;figure id=&quot;Umrv&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/33/c0/33c07089-a451-4d3c-af86-416a2a129e5c.png&quot; width=&quot;1389&quot; /&gt;
    &lt;figcaption&gt;Перевод 0 USDT сам себе &lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;2DfY&quot;&gt;А снизу транзы показано что была вызвана функция transfer  с параметрами адрес и количество в нормально читаемом виде, но если бы создатели USDT не верифицировали контракт и не закинули код в бскскан, то там бы была каша из символов и тогда скорее всего бы я не смог вызвать функцию через бск скан  &lt;/p&gt;
  &lt;p id=&quot;3r8T&quot;&gt;Вот например как выглядит эта транзакция в оригинале как ее отправляет метамаск. 0x означает что дальше идет число в 16ой системе счисления, затем 8 бит под название функции и 64 под адрес и количество&lt;/p&gt;
  &lt;figure id=&quot;ZoGy&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1d/21/1d2194cb-8b17-442f-94ce-244039043fcd.png&quot; width=&quot;1020&quot; /&gt;
    &lt;figcaption&gt;Оригигинальные данные транзкции&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;kIQK&quot;&gt;Все контракты плюс минус одинаковые и сделаны почти из одних и тех же функций. Контракты тупо копипастят или собирают как конструктор из готовых функций на &lt;a href=&quot;https://www.openzeppelin.com/contracts&quot; target=&quot;_blank&quot;&gt;https://www.openzeppelin.com/contracts&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Воспринимать смартконтракты монет стоит как ексель с столбцами кто сколько имеет у себя монет, кто кому сколько монет апрувнул и тому подобное&lt;/p&gt;
  &lt;p id=&quot;qWgs&quot;&gt;Ещё хотел чучуть затронуть стандарты монет ERC 20, 721, 1155. Чтоб монета считалась ERC20 ей нужно иметь обязательный набор функций по типу перевода с аккаунт на акаунт и возможность апрувнуть, у erc721 и 1155 тоже самое и еще другие функции, если у контракта чего то нет, то это уже получается другой стандарт, и этих стандартов на самом деле куча, просто популярны эти 3 и их вариации&lt;/p&gt;
  &lt;p id=&quot;xbVF&quot;&gt;Надеюсь теперь у вас больше знаний чем нихуя и если хотите продолжить изучать смарт контракты, то советую этих типов&lt;br /&gt;&lt;a href=&quot;https://t.me/ortomich_dev&quot; target=&quot;_blank&quot;&gt;https://t.me/ortomich_dev&lt;/a&gt;&lt;br /&gt;-&lt;br /&gt;&lt;a href=&quot;https://t.me/ak74lab&quot; target=&quot;_blank&quot;&gt;https://t.me/ak74lab&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Кста обязательно не лайкайте и не делитесь&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h2 id=&quot;0YYI&quot;&gt;&lt;a href=&quot;https://t.me/hobotilo_donate&quot; target=&quot;_blank&quot;&gt;Донатить сюда&lt;/a&gt; &lt;br /&gt;Статья написана &lt;a href=&quot;https://t.me/hobotilo&quot; target=&quot;_blank&quot;&gt;hobotilo &lt;/a&gt;для &lt;a href=&quot;https://t.me/hobotilnya&quot; target=&quot;_blank&quot;&gt;Хоботильни&lt;/a&gt;&lt;/h2&gt;
  &lt;/section&gt;

</content></entry></feed>