Kako ostaviti dovoljno ETH za gas pre razmene

Ova karta termina pomaže da pre razmene odvojite iznos za slanje od ETH rezerve za mrežnu naknadu. Pratite je redom: prvo utvrdite na kojoj se mreži nalazi imovina, zatim prebrojte potrebne transakcije, proverite procenu naknade u novčaniku i tek onda odredite koliko možete poslati. Fiksna „bezbedna količina” ETH ne postoji, jer trošak zavisi od opterećenja mreže i složenosti operacije.
Rečnik pojmova potrebnih za obračun ETH rezerve
- Blokčejn
- Distribuirana evidencija u kojoj se transakcije grupišu u blokove. Jednostavnije rečeno, to je sistem koji beleži ko je poslao imovinu, na koju adresu i sa kakvim rezultatom. Susrećete ga u dokumentaciji projekta i blokčejn pretraživaču. Od njega zavise pravila transakcije, uključujući način plaćanja mrežne naknade.
- Mreža
- Konkretno okruženje kroz koje šaljete imovinu, na primer Ethereum Mainnet ili druga podržana mreža. Naziv sredstva nije dovoljan da bi se mreža zaključila: token istog naziva može postojati na više mreža. Mrežu birate pri unosu adrese za uplatu ili povlačenje, a pogrešan izbor može dovesti do gubitka sredstava ili složenog postupka povraćaja.
- Coin
- Nativna imovina određenog blokčejna. ETH je coin mreže Ethereum i koristi se za plaćanje izvršenja transakcija na toj mreži. Zato novčanik sa tokenima na Ethereumu mora imati i ETH ako treba da pošalje te tokene. Ethereum dokumentacija navodi da se gas naknade na Ethereum mreži plaćaju u etheru. [1]
- Token
- Imovina kojom upravlja pametni ugovor na postojećoj mreži. DAI i određene verzije USDT-a mogu, na primer, biti tokeni na Ethereumu. Kada šaljete takav token, mrežnu naknadu obično ne plaćate tim tokenom, već nativnim coinom mreže. Za Ethereum transakciju to znači ETH.
- Adresa
- Javni identifikator računa ili pametnog ugovora na koji se sredstva šalju. Pojavljuje se u novčaniku, nalogu za razmenu i blokčejn pretraživaču. Pre potpisivanja transakcije proverite početak i kraj adrese, celu adresu kada je moguće, kao i podudaranje izabrane mreže. Transakcija poslata na pogrešnu adresu uglavnom se ne može jednostavno opozvati.
- Gas
- Jedinica kojom Ethereum meri računarski rad potreban za izvršenje operacije. Gas nije poseban token niti iznos koji primalac dobija. Novčanik procenjuje koliko je gasa potrebno za transfer ili interakciju sa pametnim ugovorom, a korisnik trošak plaća u ETH. Složenije ugovorne operacije mogu potrošiti više gasa od običnog prenosa ETH. [1]
- Mrežna naknada
- Stvarni trošak obrade transakcije, izražen u ETH. Pojednostavljena računica je: potrošene jedinice gasa pomnožene cenom po jedinici. Savremeni Ethereum model uključuje osnovnu i prioritetnu naknadu, dok novčanici najčešće prikazuju procenjeni ili maksimalni trošak pre potpisivanja. Procena se može promeniti dok pripremate operaciju. [1]
- Gas limit
- Najveća količina gasa koju transakcija sme da potroši. To nije nužno konačan trošak: neiskorišćeni deo limita ne mora biti potrošen. Prenizak limit može sprečiti izvršenje ili dovesti do neuspeha ugovorne operacije, pa ga bez jasnog tehničkog razloga ne treba ručno smanjivati. [1]
- Transakcija
- Potpisana instrukcija poslata mreži. Slanje tokena na adresu menja stanje blokčejna i zahteva gas. Kod decentralizovane razmene mogu biti potrebne dve ili više transakcija, na primer dozvola pametnom ugovoru da koristi token, pa zatim sama zamena. Slanje tokena na depozitnu adresu menjačnice obično je drugačiji proces i ne treba ga poistovećivati sa ugovornim swapom.
- Potvrda
- Pokazatelj da je transakcija uključena u blok i da su nakon tog bloka dodati naredni blokovi. Broj potrebnih potvrda može zavisiti od primaoca i konkretnog pravca razmene. Stanje „poslato iz novčanika” zato nije isto što i evidentirana uplata kod primaoca.
- Txid ili hash transakcije
- Jedinstveni identifikator kojim se transakcija pronalazi u blokčejn pretraživaču. Koristi se za proveru statusa, adrese pošiljaoca i primaoca, potrošenog gasa, naplaćene naknade i broja potvrda. Txid nije tajni podatak i ne omogućava potpisivanje nove transakcije. [2]
Karta veza: od sredstva do proverljivog rezultata
Za ovu temu lanac izgleda ovako:
- Objekat — ETH ili token: utvrdite šta šaljete. Ako šaljete token sa Ethereum mreže, nemojte njegov ceo saldo smatrati jedinim potrebnim stanjem u novčaniku; potreban je i odvojeni ETH saldo.
- Mreža ili okruženje — konkretna mreža u novčaniku i nalogu: proverite da li obe strane prikazuju istu mrežu. Oznaka sredstva sama po sebi ne potvrđuje mrežu.
- Radnja — transfer ili ugovorna razmena: prebrojte sve operacije koje moraju biti potpisane. Jedan transfer zahteva jednu naknadu, dok odobrenje tokena i swap mogu zahtevati zasebne naknade.
- Potvrđivanje — potpis u novčaniku i uključivanje u blok: pregledajte iznos, adresu, mrežu i maksimalnu procenjenu naknadu pre potpisivanja. Ne potvrđujte zahtev koji traži seed frazu ili privatni ključ.
- Proverljiv rezultat — txid i status: posle slanja proverite transakciju u odgovarajućem pretraživaču mreže. Uspešan status na blokčejnu potvrđuje izvršenje transakcije, ali primalac može imati dodatna pravila o broju potvrda i obradi uplate.
Praktična formula nije određeni broj ETH, već:
raspoloživi iznos za slanje = ETH saldo − zbir maksimalnih procenjenih naknada za sve preostale operacije − dodatna rezerva za promenu procene ili ponovni pokušaj.
Dodatna rezerva nije garancija da će transakcija uspeti. Ona samo smanjuje rizik da posle prve operacije ostanete bez ETH za sledeću. Ako se ugovorna transakcija izvršava i završi neuspešno, utrošeni gas i dalje može biti naplaćen, pa eventualno ponavljanje zahteva novi ETH saldo. [1]
Kako izračunati koliko ETH ne treba menjati
1. Potvrdite sredstvo i mrežu
Najpre otvorite podatke o imovini u novčaniku i uslove prijema na strani razmene. Proverite naziv mreže i, kada je reč o tokenu, njegov ugovorni identitet. Nemojte pretpostaviti da svaka ponuđena verzija sredstva koristi Ethereum samo zato što se u novčaniku prikazuje poznat simbol.
Ako šaljete token preko Ethereum mreže, ETH za gas mora se nalaziti na istoj adresi i istoj mreži sa koje token odlazi. ETH na drugoj mreži ili na drugom računu ne može automatski pokriti tu naknadu.
2. Prebrojte radnje koje menjaju stanje na mreži
Za običan transfer tokena na depozitnu adresu najčešće procenjujete naknadu tog transfera. Kod interakcije sa decentralizovanom aplikacijom proverite da li će novčanik prvo tražiti odobrenje tokena, a zatim zasebno potvrđivanje zamene. Prethodno odobren token možda neće zahtevati novo odobrenje, ali to se proverava u konkretnom slučaju, ne pretpostavlja se.
Potpisivanje poruke van lanca ne mora imati mrežnu naknadu, dok potvrđivanje transakcije koja se šalje blokčejnu ima. Novčanik bi trebalo da jasno pokaže kada samo potpisujete poruku, a kada odobravate transakciju sa procenom gasa.
3. Koristite trenutnu procenu novčanika
Pokrenite pripremu transakcije bez konačnog potpisivanja i pročitajte procenjenu mrežnu naknadu. Ako su prikazane očekivana i maksimalna vrednost, za planiranje rezerve oslonite se na maksimalnu vrednost. Kod više operacija saberite njihove procene; nemojte rezervisati gas samo za poslednji korak.
Procenu ponovite neposredno pre slanja. Cena gasa se menja sa tražnjom za prostorom u blokovima, pa broj preuzet ranije nije trajno važeća tarifa. Veća ponuđena prioritetna naknada može ubrzati uključivanje, ali povećava mogući trošak i ne predstavlja garanciju određenog vremena izvršenja. [1]
4. Smanjite iznos razmene, a ne gas rezervu
Ako šaljete ETH, račun mora imati najmanje zbir iznosa uplate i dovoljnog iznosa za mrežnu naknadu. Funkcija „pošalji maksimum” u nekim novčanicima automatski oduzima procenjeni gas, ali rezultat treba ručno pregledati pre potvrde. Ne oslanjajte se samo na naziv dugmeta.
Ako šaljete Ethereum token, ne uključujte ETH rezervu u iznos koji nameravate da potrošite kroz druge operacije. Token saldo i ETH saldo su odvojene stavke: veliki iznos tokena ne rešava nedostatak nativnog coina za gas.
5. Pošaljite probni iznos kada posledice greške opravdavaju dodatni trošak
Mala probna transakcija može pomoći da proverite adresu, mrežu i način evidentiranja uplate, ali zahteva sopstvenu naknadu. Zbog toga ukupna rezerva mora pokriti i probni i glavni transfer. Probno slanje ne uklanja rizik: adresu i mrežu ponovo proverite i kod glavne transakcije, jer se podaci mogu pogrešno uneti ili zameniti zlonamernim softverom.
Praktičan primer pre slanja na razmenu
Pretpostavimo da novčanik sadrži DAI na Ethereum mreži i manji iznos ETH. Korisnik želi da pošalje DAI na adresu navedenu u nalogu za razmenu. Pre kreiranja naloga proverava da li su konkretan pravac i Ethereum mreža trenutno dostupni, kao i koje provere mogu biti potrebne za tu operaciju. Servis podržava ETH i DAI, ali to samo po sebi ne znači da su svaka kombinacija, mreža i smer uvek dostupni.
Pravilan redosled je:
- otvoriti aktuelne uslove za izabranu razmenu i proveriti sredstvo, mrežu, adresu i eventualne zahteve za proveru;
- u novčaniku izabrati DAI na istoj Ethereum mreži;
- uneti depozitnu adresu bez ručnog prekucavanja kada je moguće;
- pročitati maksimalnu procenjenu ETH naknadu za transfer;
- potvrditi da ETH saldo pokriva tu procenu i dodatnu rezervu za eventualno ponovno slanje;
- tek tada potpisati transakciju i sačuvati txid.
Ako ETH saldo nije dovoljan, DAI transfer neće postati moguć samo smanjivanjem količine DAI, jer se gas ne plaća iz tog tokena. Potrebno je obezbediti ETH na istoj adresi i mreži ili odložiti slanje. Pri dopuni takođe treba proveriti mrežu; slanje ETH preko nepodudarne mreže ne dopunjava gas saldo na Ethereum Mainnetu.
Ne mešati: slični pojmovi sa različitim posledicama
Coin i token
ETH je nativni coin Ethereuma, dok je DAI na toj mreži token kojim upravlja pametni ugovor. Ako ih pomešate, možete pokušati da platite gas tokenom ili zaključiti da je veliki token saldo dovoljan za slanje. Praktična posledica je transakcija koju novčanik ne može ni da pripremi zbog nedostatka ETH.
Sredstvo i mreža
Sredstvo odgovara na pitanje „šta šaljem”, a mreža na pitanje „kroz koji blokčejn šaljem”. Dva ekrana mogu prikazivati isti simbol sredstva, a ipak se odnositi na različite mreže. Posledica zabune može biti uplata koju primalac ne podržava ili ne može automatski evidentirati.
Gas i mrežna naknada
Gas meri potreban računarski rad, dok je mrežna naknada novčani trošak tog rada izražen u ETH. Visok gas limit zato ne znači nužno da će ceo maksimalni iznos biti potrošen. Ipak, limit ne treba proizvoljno smanjivati: ako ugovorna operacija ostane bez gasa tokom izvršenja, promena stanja može biti poništena, a utrošeni gas naplaćen. [1]
Transakcija i nalog za razmenu
Nalog opisuje šta želite da razmenite i pod kojim trenutno prikazanim uslovima. Transakcija je konkretno slanje na blokčejnu. Kreiran nalog ne dokazuje da je uplata poslata, a txid bez uspešnog statusa ne dokazuje da je transakcija izvršena. Ako iznos, rok važenja adrese ili drugi uslovi naloga imaju ograničenja, proverite ih pre potpisivanja.
Txid i adresa
Adresa određuje odredište sredstava, dok txid identifikuje već poslatu transakciju. Slanje na txid nije moguće. Prilikom komunikacije o uplati obično se prosleđuje txid za proveru, ali se seed fraza i privatni ključ nikada ne prosleđuju.
Seed fraza i privatni ključ
Seed fraza može omogućiti obnavljanje čitavog skupa računa u novčaniku, dok privatni ključ kontroliše određeni račun. Ni jedno ni drugo nije podatak za uplatu, proveru txid-a, obračun gasa ili podršku pri razmeni. Ko dobije te podatke može steći kontrolu nad sredstvima, zato ih ne unosite na stranicu otvorenu preko poruke, oglasa ili navodnog zahteva službe podrške. [3]
Kako prepoznati podatke u novčaniku i blokčejn pretraživaču
- U dokumentaciji mreže tražite naziv nativne valute za naknade, objašnjenje modela gasa i pravila finalizacije transakcija. Ne prenosite pravila jedne mreže na drugu.
- U novčaniku proverite aktivnu mrežu, izabrano sredstvo, adresu primaoca, iznos i procenjenu ili maksimalnu mrežnu naknadu. Nazivi i raspored stavki razlikuju se među aplikacijama.
- Pre potpisivanja razlikujte zahtev za poruku od zahteva za transakciju. Kod transakcije proverite šta se šalje i kom ugovoru ili primaocu dajete odobrenje.
- U blokčejn pretraživaču unesite txid i proverite status, mrežu, adrese, prenetu vrednost ili token, stvarno potrošeni gas, naplaćenu naknadu i potvrde. Koristite pretraživač namenjen mreži preko koje ste poslali sredstva.
- U nalogu za razmenu uporedite depozitnu adresu, sredstvo, mrežu i očekivani iznos sa podacima transakcije. Uslovi provere mogu zavisiti od pravca operacije i rezultata compliance provera, pa aktuelne zahteve treba utvrditi pre kreiranja naloga.
Završna provera pre potvrđivanja
Ne tražite univerzalan broj ETH koji treba ostaviti. Umesto toga, neposredno pre razmene potvrdite mrežu, prebrojte sve transakcije koje ćete potpisati, saberite njihove maksimalne procenjene naknade i ostavite dodatni ETH za moguću promenu uslova ili ponovni pokušaj. Iznos za slanje odredite tek nakon tog obračuna.
Ako novčanik posle unosa iznosa ne ostavlja dovoljno ETH za prikazanu maksimalnu naknadu, prekinite postupak i smanjite iznos slanja ili dopunite isti račun na istoj mreži. Poslednja kontrola treba da obuhvati adresu, mrežu i txid, a ne seed frazu ili privatni ključ.