August 31, 2023

Немного про апрувы

Карочи апрувы это разрешение на трату ваших денюшек

В сетях метамаска апрувы необходимы чтоб смартконтракты сами брали ваши деньги и вызывали нужную функцию без вашего участия. Например в сети соланы апрувы не нужны, вы сразу вызываете нужную функцию и отдаете деньги. Эфир и подобные сети в этом плане староваты, но хотяб надежны и понятны

Апрувы как можно давать так и отменять. Для удобства отмены юзайте ревок кеш. Чтоб бездумно не отменять все апрувы подряд я вам предлагаю раз в полгода-год отменять апрувы только на тех монетах, которые вы часто юзаете и в которых у вас могут потенциально быть большие суммы. Например USDT, USDC, BUSD, SOL, ETH, WETH, BTC, WBTC, BNB, WBNB и тому подобное

У монет которыми вы платите газ по типу ETH в сети эфира или BNB в сети BSC нету апрувов, единственная функция у них это перевод, поэтому все NFT маркетплейсы для офферов юзают WETH и WBNB, чтоб когда кто-то примет ваш оффер, маркетплейс сам передаст ваши WETH и вы получили NFT

Кстати можно перекинуть деньги на второй кошелек, дать апрув своему основному кошельку и тратить деньги со второго хых. Не знаю кому и зачем это надо, но я ща покажу как это сделать

1) Перекинул 1 USDT на второй кошелек и зашел на страницу контракта USDT
2) Вписал в функцию ''approve'' кошелек которому апруваю монеты и количество монет 1000000000000 USDT; вот тут небольшая помарочка почему такое количество монет, а не 1 USDT, я затупил и подумал 1 монета это 10^18 wei, потому что везде где я вызывал было так, но оказывается надо считать с учетом decimals(знаков после запятой), а у контракта USDT это значение 6 символов и получается 1 000 000 это 1 USDT

Decimals ёпта
Транза - https://polygonscan.com/tx/0x8debc11b12727ba198bb703e82b89c1cb8a515a1372fd1ec0a14c3b02c1d66b8

3) А теперь чтоб перевести эти деньги с основного кошелька куда угодно так же заходим в контракт USDT с основного кошеля и вызываем функцию ''transferFrom''. (1) Вписываем кошелек с которого мы отправим деньги, (2) кому отправляем, (3) ну и количество 1 USDT

Транза - https://polygonscan.com/tx/0x5f77d58d734f16528910cddcfa5203971bc682f37a5d15bd62cb97e81c21b282



Теперь по сути мне надо переписать статью по вызовам смарт контрактов, потому что там не было написано инфы о decimals кек и я чот впервые столкнулся с этим хыыы

Донатить сюда
Статья написана hobotilo для Хоботильни