Lumaktaw patungo sa pangunahing content

Gabay sa User: Mga Transaksyon at Nabigong Transaksyon

Does this article need to be translated?

note

Baguhan sa crypto at web3?

Pumunta sa MetaMask Learn para sa isang simpleng karanasan sa pagkatuto na partikular na idinisenyo para sa mga baguhan sa web3. Libreng-libre ito, available sa maraming wika, at may kasamang kapaki-pakinabang na tools gaya ng mga simulation upang matulungan kang maging pamilyar sa MetaMask.

Binubuo ang artikulong ito ng paliwanag at mga link sa mga mapagkukunang tumatalakay sa mga transaksyon at kung bakit nabibigo ang mga ito, at higit pa sa ibaba, mga link sa mga karaniwang scenario ng nabigong transaksyon at kung paano tugunan ang mga ito:

Anatomy ng isang blockchain transaction

Kapag pinag-uusapan natin ang tungkol sa 'mga transaksyon' sa isang pampublikong network ng blockchain, kadalasang pinag-uusapan natin ang mga pakikipag-ugnayan sa pagitan ng dalawang address; sa madaling salita, mga token, ito man ay magagamit o hindi, o iba pang mga crypto-asset na 'ipinadala' mula sa isang address patungo sa isa pa. Mayroon ding mga transaksyon na tinutukoy bilang "mga panloob na transaksyon", na mga pakikipag-ugnayan na nagaganap sa pagitan ng mga matalinong kontrata, at sa karamihan ay nasa labas ng saklaw ng artikulong ito.

Gusto ng higit pang impormasyon?

For more on blockchain networks and how they work in general, check out our intro article here, and if you get stuck on any unfamiliar words, our glossary is always available.

For clarity's sake, nothing is actually being sent anywhere. Ang isang blockchain network na pinagana ng smart na kontrata gaya ng Ethereum ay may ilang iba't ibang bahagi, o mga function. Isa sa mga ito ang kung tawagin natin ay isang "computer": ang Ethereum Virtual Machine, o EVM, na may kakayahang magpatakbo ng mga program ('mga smart na kontrata'). The backbone of the system, however, is a distributed ledger: imagine a spreadsheet that contains, on one side, every single Ethereum wallet address, and each address has a column for each type of crypto-asset that it holds.

Gamitin natin ang isang halimbawa para sa ilustrasyon. Sabihin na gusto ni Guillaume na magpadala ng transaksyon kay Dolores. Si Guillaume ay may 1.36 ETH sa kanyang account, at plano niya na magpadala kay Dolores ng 0.5 ETH. Mukhang isang magandang araw para kay Dolores, kahit sa isang bear market.

Binuksan ni Guillaume ang kanyang MetaMask wallet, inilagay ang address ni Dolores, kino-configure ang mga parameter ng gas na komportable siyang bayaran, at pinindot ang 'ipadala'.

Sa puntong ito, papasok ang transaksyon sa isang lokal na status ng pansamantalang paghawak, na kilala bilang _lokal na memory pool, _ o _lokal na mempool*. Ang transaksyon ay 'kukunin' ng pinakamalapit na node sa network; depende sa [mga gas setting] ni Guillaume(/transactions-and-gas/gas-fees/how-to-customize-gas-settings), uunahin ang transaksyon niya (kung mas handang magbayad si Guillaume kada yunit ng gas, mas mabilis maproseso ang transaksyon niya), at maipalaganap sa ibang node sa network. Gagawin ng mga node ang gawain ng pag-verify na si Guillaume ay may ETH na gagastusin, at pagkatapos ay aktwal na gagawa ng 'transaksyon': ang ledger ay mababago; 0.5 ay ide-debit mula sa balanse ni Guillaume, at 0.5 ay iki-credit kay Dolores.

'Ang gumagalaw na kamay, matapos magsulat, ay lilipat na': Ang ETH ay hindi lumipat sa isang network; hindi ito isang email na ipinadala mula sa computer ni Guillaume sa inbox ng MetaMask ni Dolores o anumang uri. Nagpadala si Guillaume ng kahilingan, na pinatotohanan ng kanyang mga pribadong key sa pamamagitan ng MetaMask, sa network upang i-debit ang kanyang account at i-credit si Dolores, at pagkatapos ng proseso ng pag-verify na naka-program sa mga protocol ng network, natapos na ito.

Iyon lang ang isang transaksyon: isang kahilingan sa ledger na muling italaga ang isang bagay mula sa isang address patungo sa isa pa.

Kapag nagkamali ang mga bagay

Maaaring magkamali ang mga bagay sa maraming kadahilanan. Kadalasan, ang mga ito ay 'dahilan sa software': May bug ang MetaMask, o may mali sa pagkaka-configure tungkol sa network na sinusubukan mong gamitin; nagkaroon ng error sa pagkakakonekta.

Ang isang karaniwang isyu ay ang user, sa pagtatangkang magbayad ng mas mura para sa kanilang transaksyon, ay nagtatakda ng napakababang limitasyon sa gas, at ang mga kondisyon ng network ay napakasikip na walang espasyo sa anumang mga block para sa ganoong "murang" transaksyon, kung minsan para sa napakahabang panahon: sa kalaunan, ang transaksyong ito ay magiging "lipas" at kailangang kanselahin ng user.

Kung nagpadala ka ng transaksyon at hindi pa ito na-finalize, ipapakita ang status nito bilang "nakabinbin" sa MetaMask.

Kung nagpadala ka ng isang transaksyon, at ito ay nabigo, ang pinaka-malamang na dahilan ay ang kakulangan ng gas: ikaw ay "naubusan ng gas", sa madaling salita, ang transaksyon ay may gastos sa gas na, kapag pinarami ng presyo ng gas, ay nagresulta sa kabuuang halaga ng native currency ng network na mas malaki kaysa sa mayroon ka sa iyong wallet.

Impormasyon

For more on calculating gas, consult our gas guide here.

This can happen for a number of reasons, but one thing to consider is what the transaction is that you're trying to carry out. Ang pag-mining ng isang NFT sa panahon ng peak network traffic ay maaaring masyadong gas-intensive; kung sumusubok ka ng bago o pang-eksperimentong transaksyon, maaaring sulit na subukan ang isang pagsubok na network bago magbayad ng mga tunay na bayarin sa live na network.

Pag-aayos ng problema

Key Factor #1: local or broadcast to network

Habang nagpapatuloy ka tungkol sa pag-diagnose ng iyong isyu sa transaksyon, lalo na pagdating sa isang nakabinbing transaksyon, kailangan mong tingnan kung ang transaksyon ay nasa iyong lokal na mempool, o kung nakarating ito sa network at natigil doon sa anumang dahilan. Kung ito ay nasa iyong lokal na mempool, ang solusyon ay maaaring kasing-simple ng pag-lock, at pag-unlock, ng iyong MetaMask wallet (siguraduhing alam mo ang iyong password at i-back up ang iyong Secret Recovery Phrase bago mo gawin). Kung ito ay ginawa sa network, ang solusyon ay maaaring maging mas kumplikado.

Para sa higit pa sa pag-aayos sa mga problemang ito, tingnan ang mga link sa ibaba.

Pangunahing Salik #2: Nonce

Maaaring mangahulugan ang salitang ito ng ilang magkakaibang bagay. Isa itong pagpapaikli ng "number only used once", at sa kontekstong ito, ang halos ibig sabihin nito ay 'numero ng transaksyon', simula sa unang transaksyong ginawa ng nagpapadalang address. Maaari malagay ka sa tunay na gulo kung, halimbawa, nagfa-fire ka ng dalawang magkaibang transaksyon mula sa magkakaibang instance ng MetaMask na may parehong address ng wallet nang magkasabay. Your address' transactions need to be in increasing order according to their nonce. However, just as nonces are capable of causing a stuck transaction, they can be the key to getting a transaction unstuck.

For more on that technique, see here.

Mga susunod na hakbang

Kung mayroon kang nabigo o nakabinbing transaksyon, kumunsulta sa mga sumusunod na mapagkukunan para sa tulong.

Paano magpadala ng mga token mula sa iyong MetaMask wallet

Paano pabilisin o kanselahin ang isang nakabinbing transaksyon

Why did my transaction fail with an "Out of Gas" error? Paano ko ito aayusin?

Pag-troubleshoot ng Uniswap

Gabay sa User: Gas

Maaari ko bang baligtarin ang isang nakumpirma nang transaksyon?

Mga Madalas Itanong

T: Ang isang account sa aking wallet ay may nakabinbin o nasa pila na transaksyon. Can I start another transaction from a different account within the same wallet?

A: Yes, you can. Ang nonce ay binibilang sa bawat account, hindi sa bawat wallet.