Bir blok gezgininde işlem sayfası, teknik alanlardan oluşan bir duvar gibi görünür. Bu yazıda her alanı tek tek açıklıyoruz; böylece basit sorulara yanıt verebilirsiniz: geçti mi, kim ödedi, ne kadar tuttu ve ne yaptı?
Örnekler önce Ethereum tarzı zincirleri (Ethereum, Arbitrum, Base, Optimism, Polygon) izler. Sonraki bölümler Bitcoin ve Solana'nın nasıl farklılaştığını gösterir.
Bir işlem sayfası nasıl açılır?
Bir işlemi üç yolla bulabilirsiniz.
- Hash'ini üstteki arama kutusuna yapıştırın. Hash, EVM zincirlerinde 0x ile başlayan uzun kimliktir.
- Bir bloktaki işleme tıklayın. Bir zinciri canlı sayfasından, örneğin Base, açın ve bir blok kutucuğuna tıklayın.
/chain/<id>/tx/<hash>doğrudan adresini kullanın; burada<id>, o zincirin site adresinde görünen zincir numarasıdır.
Blok ve adres sayfaları da aynı şekilde çalışır. Üstteki arama bir blok numarası veya adres de kabul eder.
Alanlar, tek tek
İşlem hash'i (Transaction hash)
İşlemin benzersiz kimliği. Hash'e sahip herkes aynı kaydı bulabilir. İki farklı işlem asla aynı hash'e sahip olmaz.
Durum (Status)
Genellikle Success (başarılı), Failed (başarısız) veya Pending (beklemede). Success, işlemin çalıştığı ve değişikliklerinin uygulandığı anlamına gelir. Failed, bir bloğa dahil edildiği ama eyleminin reddedildiği anlamına gelir; örneğin çok az gas ya da bir sözleşme kuralı nedeniyle. Pending, beklediği ve henüz bir blokta olmadığı anlamına gelir.
Başarısız bir işlem yine de ücret öder. Ağ onu denemek için iş yaptı, bu yüzden başarısızlık noktasına kadar kullanılan gas için ödersiniz. Başka hiçbir şey değişmez: göndermek istediğiniz tokenlar veya coinler sizde kalır.
Blok ve zaman damgası
Blok, işlemi tutan bloğun numarasıdır. Zaman damgası o bloğun zamanıdır. Birçok sayfa ayrıca, ondan sonra kaç blok geldiğini gösteren onay sayısını da gösterir. Bkz. kesinlik ve onaylar.
Gönderen ve alıcı (From ve To)
From, imzalayan ve ödeyen adrestir. To, çağrıyı alan adrestir. "To" adresi normal bir cüzdansa basit bir transferdir. Bir akıllı sözleşmeyse işlem bir sözleşme çağrısıdır ve "to", tokenları alan nihai kişi değil, sözleşmedir.
Değer (Value)
İşlemle birlikte gönderilen yerel coin (Ethereum'da ETH) miktarı. USDC gibi bir token transferinde değer çoğunlukla 0 ETH'dir, çünkü tokenlar token sözleşmesinin içinde hareket eder. Gerçek tutar token transferi bölümündedir.
İşlem ücreti (Transaction fee)
Yerel coin cinsinden ve çoğunlukla dolar cinsinden de ödenen toplam. Kullanılan gas çarpı gas fiyatına eşittir. Katman 2 zincirlerinde ücret, Ethereum'a veri göndermek için bir veri ücretini de içerebilir. Gas ve ücretler açıklandı yazısı her bir parçayı ele alır.
Gas limiti, kullanılan gas ve gas fiyatı
- Gas limiti (gas limit): göndericinin izin verdiği en fazla iş.
- Kullanılan gas (gas used): gerçekten kullanılan iş. Limit için değil, bunun için ödersiniz.
- Gas fiyatı (gas price): birim başına fiyat, gwei cinsinden. Yeni sayfalar bunu temel ücret, öncelik ücreti ve azami ücret olarak ayırır.
Basit bir ETH transferi tam olarak 21.000 gas kullanır. Bir token transferi ya da takas daha fazlasını kullanır.
Nonce
Göndericinin işlemlerinin sayacı. Bir adresin ilk işleminin nonce'u 0'dır, sonrakinin 1'dir ve böyle devam eder. İşlemler sırayla dahil edilmelidir, bu yüzden takılan bir işlem sonrakileri engelleyebilir. Bir nonce'u daha yüksek ücretle yeniden kullanmak, bir cüzdanın bekleyen bir işlemi değiştirme ya da iptal etme yoludur.
Girdi verisi (Input data)
Bir sözleşmeye gönderilen ham veri. Basit bir transferde boştur. Bir sözleşme çağrısında, fonksiyonu adlandıran kısa bir kodla başlar ve ardından argümanları gelir. Gezginler çoğunlukla bunu "transfer" ve bir alıcı ile tutar gibi okunabilir bir biçimde çözer.
Log'lar ve olaylar (Logs ve events)
Bir sözleşme çalıştığında log adı verilen olaylar (events) kaydedebilir. Token sözleşmeleri, tokenlar her hareket ettiğinde bir "Transfer" olayı yayar. Uygulamalar ve gezginler etkinliği göstermek için bu log'ları okur. Log'lar, sözleşmenin ne yaptığının iyi bir kanıtıdır.
Token transferleri (Token transfers)
Log'lardan oluşturulmuş daha dostça bir özet: hangi tokenlar, hangi adresten, hangi adrese ve kaç tane hareket etti. Bir ödemeyi kontrol ederken okunacak bölüm budur.
Çalışılmış bir örnek: Base'de 25 USDC aldınız
Bir arkadaşınızın size Base'de 25 USDC gönderdiğini ve size işlem hash'ini verdiğini düşünün. Onu Base üzerinde üstteki aramayla ararsınız. Sayfa ne gösterir?
- Status: Success. Transfer çalıştı.
- Blok ve zaman damgası: bir blok numarası ve kısa bir süre önceye ait bir zaman, birkaç onayla.
- From: arkadaşınızın adresi. To: USDC token sözleşmesi, sizin adresiniz değil. Bu, bir token transferi için normaldir.
- Value: 0 ETH, çünkü hiç ETH hareket etmedi.
- Token transferleri: arkadaşınızın adresinden sizin adresinize 25 USDC gösteren tek bir satır. Önemli olan satır budur.
- İşlem ücreti: arkadaşınız tarafından ETH ile ödenen çok küçük bir tutar; Base bir katman 2 olduğu için L1 veri ücretini de içerir.
- Girdi verisi: sözleşmeye, adresiniz ve tokenın en küçük birimi cinsinden bir tutarla yapılan bir "transfer" çağrısı (USDC'nin 6 ondalığı olduğundan 25 USDC, 25.000.000 olarak yazılır).
Token transferi satırı adresinizi ve 25 USDC'yi gösteriyorsa parayı aldınız. Farklı bir USDC sözleşme adresi görürseniz dikkatli olun, çünkü sahte tokenlar aynı adı kullanabilir. Bkz. stablecoin'ler.
Beklemede ve onaylı
Beklemedeki (pending) bir işlem yayınlanmış ancak bir bloğa dahil edilmemiştir. Ücreti çok düşükse bekleyebilir. Dahil edildiğinde onaylanmış (confirmed) olur ve üzerine daha fazla blok geldikçe güvenmek daha güvenli hale gelir. Tüm hikâye kesinlik ve onaylar yazısındadır.
Bitcoin nasıl farklılaşır?
Bitcoin'de Ethereum anlamında hesap veya bakiye yoktur. Bir işlem girdileri harcar ve çıktılar oluşturur. Bir girdi, harcadığınız önceki bir çıktıya işaret eder. Bir çıktı, hangi adrese ne kadar gideceğini söyler.
Bir girdiyi tamamen harcamalısınız. 0,5 BTC değerinde bir coininiz varsa ve 0,1 BTC ödüyorsanız, işlemin alıcıya 0,1 BTC'lik bir çıktısı ve size geri dönen yaklaşık 0,4 BTC'lik bir para üstü çıktısı (change output) vardır. Girdiler ile çıktılar arasındaki küçük fark ücrettir. Gas yoktur, nonce yoktur ve aynı türden girdi verisi yoktur. Bkz. Bitcoin mempool ve ücretleri ve Bitcoin.
Solana nasıl farklılaşır?
Bir Solana işlemi, kimliği işlevi gören imzasıyla tanımlanır. Her biri bir programı (Solana'da akıllı sözleşme karşılığı) çağıran bir talimat (instruction) listesi içerir. Bir işlem birden fazla talimat içerebilir; örneğin "bir token hesabı oluştur" ve ardından "transfer et". Sayfa ücreti, kullanılan hesaplama birimlerini (compute units) ve her talimatın sonucunu gösterir. Bkz. Solana öncelik ücretleri ve Solana.
Sık sorulan sorular
İşlem hash'i nedir?
Bir işlemin benzersiz kimliğidir. İşlemi bir blok gezgininde aramak için kullanırsınız.
Başarısız işlemim neden yine de ücret tuttu?
Ağ onu denemek için iş yaptı, bu yüzden eylem reddedilse de kullanılan gas ücretlendirilir. Coinleriniz ve tokenlarınız olduğu yerde kalır.
"To" adresi neden alıcıyı değil de bir sözleşmeyi gösteriyor?
Bir token transferinde, bakiyeleri güncelleyen token sözleşmesini çağırırsınız. Alıcı, token transferleri bölümünde ve girdi verisinde görünür.
Beklemedeki işlem ne demek?
Yayınlanmış ancak henüz bir blokta değil. Genellikle daha yüksek bir ücrete ya da sadece kısa bir beklemeye ihtiyaç duyar.
Nonce nedir?
Bir adresin kaç işlem gönderdiğinin sayacıdır. İşlemleri sırada tutar ve aynı işlemin iki kez kullanılmasını engeller.