Atla ve ana içeriğe git

Kullanıcı Kılavuzu: İşlemler ve Başarısız İşlemler

not

Kripto paralar ve web3 konularında yeni misiniz?

Web3'e yeni başlayanlar için özel olarak hazırlanmış kolay bir öğrenim deneyimi için MetaMask Öğren adresine gidin. Bu eğitim tamamen ücretsizdir ve birçok dilde mevcuttur; ayrıca MetaMask'e uyum sağlamanıza yardımcı olacak simülasyonlar gibi yararlı araçlar da içerir.

Bu makalede, işlemler ve işlemlerin neden başarısız oldukları ile ilgili açıklamalar ve kaynak bağlantılarının yanı sıra yaygın başarısız işlem senaryoları ve bunların nasıl çözümleneceğiyle ilgili konular yer almaktadır:

Anatomy of a blockchain transaction

Genel blokzinciri ağı üzerindeki 'işlemler'den bahsettiğimizde, genellikle iki adres arasındaki etkileşimleri kastederiz. Başka bir deyişle bir adresten diğerine 'gönderilen', takas edilebilir veya edilemez token'lar ya da diğer kripto varlıklar. Ayrıca "dahili işlemler" olarak anılan ve akıllı sözleşmeler arasında gerçekleşen etkileşimler olarak tanımlanan, bu makalenin kapsamı dışında kalan işlemler de vardır.

Daha fazla bilgi mi istiyorsunuz?

Blokzinciri ağları ve genel olarak nasıl çalıştıkları hakkında daha fazla bilgi için buradaki tanıtım makalemize göz atabilir ve tanıdık gelmeyen terimlerle karşılaşırsanız dilediğiniz zaman sözlüğümüzü kullanabilirsiniz.

Daha net konuşmak gerekirse aslında hiçbir şey hiçbir yere gönderilmez. Ethereum gibi akıllı sözleşmelerin kullanıldığı bir blokzinciri ağı, bir dizi farklı bileşene veya fonksiyona sahiptir. Bunlardan biri de "bilgisayar" olarak adlandırdığımız şeylerdir: programları ('akıllı sözleşmeler') çalıştırabilen Ethereum Sanal Makinesi veya EVM. 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.

Görselleştirmek için bir örnek kullanalım. Guillaume'un Dolores'e bir işlem göndermek istediğini varsayalım. Guillaume'un hesabında 1,36 ETH olsun ve Dolores'e 0,5 ETH göndermeyi planlıyor diyelim. Ayı piyasasında bile Dolores için iyi bir gün gibi görünüyor.

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

Bu noktada işlem, yerel bellek havuzu ya da yerel mempool olarak bilinen yerel geçici bekleme durumuna girer. İşlem daha sonra ağdaki en yakın düğüm tarafından 'seçilir'. Guillaume'un gaz ayarlarına bağlı olarak işlemine öncelik verilir (Guillaume gaz birimi başına ne kadar çok ödemeye istekli olursa işlemi o kadar hızlı bir şekilde yürütülür) ve ağdaki diğer düğümlere iletilir. Düğümler Guillaume'un harcayacak ETH'ye sahip olduğunu doğrulamak için çalışacak ve ardından 'işlemi' yürütecektir: hesap defteri değiştirilecek, 0,5 ETH Guillaume'un hesabından düşülecek ve Dolores'in hesabına 0,5 ETH yatırılacaktır.

'Yürüyen parmak yazar, verir hükmünü ve yazdıktan sonra geçip gider': ETH aslında bir ağ içerisinde yer değiştirmez; Guillaume'un bilgisayarından Dolores'in MetaMask gelen kutusuna e-posta benzeri bir şey gitmez. Guillaume, MetaMask üzerinden özel anahtarları ile doğrulanan bir isteği kendi hesabını borçlandırmak ve Dolores'in hesabını alacaklandırmak için ağa göndermiştir. Ağın protokollerinin içine programlanmış doğrulama işleminden sonra bu işlem gerçekleştirilmiştir.

İşte bir işlem ile ilgili her şey budur: bir varlığı bir adresten diğerine tahsis etmek için hesap defteri üzerinden yapılan bir istek.

When things go wrong

İşler bir dizi nedenden dolayı ters gidebilir. Genellikle, 'yazılımın doğası' durumu vardır: MetaMask'ta bir hata olabilir veya kullanmaya çalıştığınız ağla ilgili olarak yanlış yapılandırılmış bir şey vardır ya da bir bağlantı hatası gerçekleşmiştir.

Sıkça rastlanan bir sorun da kullanıcının işlemi için daha az ücret ödemek üzere çok düşük bir gaz limiti belirlemesi ve ağ koşullarının bu kadar "ucuz" bir işlem için herhangi bir blok içinde, bazen çok uzun bir süreliğine yer bulamayacak kadar sıkışık olmasıdır. Sonuçta bu işlem "bayat" hale gelir ve kullanıcı tarafından iptal edilmesi gerekir.

Bir işlem gönderdiyseniz ve sonuçlanmadıysa durum bilgisi MetaMask üzerinde "beklemede" olarak gösterilir.

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

Gaz hesaplaması hakkında daha fazla bilgi için buradaki gaz kılavuzumuza göz atın.

Bu durum bir dizi nedenden dolayı gerçekleşebilir; ancak dikkate alınması gereken bir nokta, gerçekleştirmeye çalıştığınız işlemin ne olduğudur. Yoğun ağ trafiği zamanlarında bir NFT'yi mint etmek çok fazla gaz gerektirebilir; yeni veya deneysel bir işlem denemesi yapıyorsanız gerçek ağ ücretlerini ödemeden önce bir test ağı üzerinde sınama yapmanız avantajlı olabilir.

Fixing the problem

Key Factor #1: local or broadcast to network

İşlem sorununuzu teşhis etmeye çalışırken, özellikle de bekleyen bir işlem söz konusu olduğunda işlemin halen yerel mempool'unuzda olup olmadığına ya da ağa kadar gitmiş ancak orada bir nedenle takılmış olup olmadığına bakmanız gerekir. 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). İşlem ağa kadar gidebildiyse çözüm daha karmaşık olabilir.

Bu sorunları gidermek için aşağıdaki bağlantılara göz atın.

Key Factor #2: Nonce

Bu kelime birkaç farklı anlama gelebilir. "Yalnızca bir kez kullanılan sayı" ifadesinin kısaltmasıdır ve bu bağlamda, gönderen adres tarafından yapılan ilk işlemden başlayarak kabaca "işlem numarası" anlamına gelir. 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. Adresinizin işlemlerinin geçici anahtarlarına göre artan sıralamada olmaları gerekir. Bununla birlikte, geçici anahtarlar işlemin takılmasına neden olabildikleri gibi işlemi açmanın yolu da olabilirler.

Bu teknik hakkında daha fazla bilgi için buraya göz atın.

Next steps

Başarısız veya bekleyen bir işleminiz varsa yardım için aşağıdaki kaynaklara başvurun.

How to send tokens from your MetaMask account

Bekleyen bir işlemi nasıl hızlandırır veya iptal edersiniz?

İşlemim neden "Gaz Bitti" hatası ile başarısız oldu? Bunu nasıl düzeltebilirim

Uniswap Sorun Giderme

Kullanıcı Kılavuzu: Gaz

Daha önce onaylanmış bir işlemi tersine çevirebilir miyim?

FAQs

S: Cüzdanımdaki bir hesapta bekleyen veya kuyrukta bir işlem var. Aynı cüzdan içinde farklı bir hesaptan başka bir işlem başlatabilir miyim?

Y: Evet, yapabilirsiniz. Nonce, cüzdan başına değil, hesap başına sayılır.

Was this helpful?
Connect MetaMask to provide feedback
What is this?
This is a trial feedback system that uses Verax to record your feedback as onchain attestations on Linea Mainnet. When you vote, submit a transaction in your wallet.