Laktawan at dumiretso sa pangunahing content

User guide: transactions

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.

Anatomy of a blockchain transaction

When we talk about 'transactions' on a public blockchain network, we're usually talking about interactions between two addresses; in other words, tokens, be they fungible or non, or other crypto assets being 'sent' from one address to another. 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 account 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.

Guillaume opens up his MetaMask, enters Dolores' address, configures the gas parameters that he's comfortable with paying, and hits'send'.

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(/configure/transactions/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.

When things go wrong

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.

If you sent a transaction, and it failed, the most likely cause is a lack of gas: you "ran out of gas", in other words, the transaction had a cost in gas that, when multiplied by the gas price, resulted in a total amount of the network's native currency that was greater than what you had in your account.

Info

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.

Confirmed transactions cannot be reversed

Once a transaction is confirmed and shows as successful, it is final and permanently recorded on the blockchain. There is nothing MetaMask or anyone else can do to revert it.

If you need to recover funds from a confirmed transaction, the only option is to contact the receiver and ask them to return the tokens via a new transaction.

You can only cancel a transaction while it is still pending — see How to speed up or cancel a pending transaction.

Fixing the problem

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. If it is just in your local mempool, the solution could be as simple as locking, and unlocking, your MetaMask (make sure you know your password and have your Secret Recovery Phrase backed up before you do). 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.

Key Factor #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. You can get yourself into real trouble if, for example, you're firing two different transactions from different instances of MetaMask with the same account address at the same time. 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.

Next steps

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

How to send tokens from your MetaMask account

Paano pabilisin o kanselahin ang isang nakabinbing transaksyon

Pag-troubleshoot ng Uniswap

Gabay sa User: Gas

FAQs

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.

Was this helpful?