ERC-777
Kısaca: ERC-777 , ERC-20'den türetilmiş, alınıp satılabilen bir token standardıdır. Geriye dönük uyumluluğunu korurken yeni özellikler ekler; bu sayede ERC-20…
ERC-777, ERC-20'den türetilmiş, alınıp satılabilen bir token standardıdır. Geriye dönük uyumluluğunu korurken yeni özellikler ekler; bu sayede ERC-20 için geliştirilmiş cüzdanlar ve uygulamalar bir ERC-777 token sözleşmesine yine bağlanabilir ve onu her zamanki gibi kullanabilir.
Neden önemli?
ERC-777, ERC-20'nin bazı pürüzlerini gidermek için tasarlanmıştır. Bir token sahibinin kendi adına token göndermesi için yetkilendirdiği adresler olan "operatörleri" (operators) ve token'lar gönderildiğinde ya da alındığında çalışan fonksiyonlar olan "kancaları" (hooks) beraberinde getirir. Kancalar, alıcı sözleşmenin gelen bir transfere aynı işlem içinde tepki vermesini ya da istemediği token'ları reddetmesini sağlar. Transferler ayrıca ödeme referansı gibi ek veriler de taşıyabilir. Kancalar, adreslerin token'larını hangi sözleşmelerin işlediğini kaydettiği ortak bir zincir üstü kayıt defterine, yani ERC-1820'ye dayanır. Bunun bedeli karmaşıklıktır. Kancalar bir transferin ortasında harici kod çalıştırdığı için bunu öngörmeyen protokoller yeniden giriş (re-entrancy) istismarlarından zarar görmüştür. Sonuç olarak ERC-777, düz ERC-20'ye kıyasla çok daha az yaygındır.
Örnek
Bir çevrim içi mağaza, bir ERC-777 token'ını kabul eder. Bir müşteri, sipariş numarasını veri olarak ekleyerek token gönderir. Mağazanın sözleşmesi transferi kancası aracılığıyla alır, sipariş numarasını okur ve siparişi ödendi olarak işaretler; bunların hepsi tek bir işlemde gerçekleşir. Düz bir ERC-20 token'ı ile mağazanın ek bir onay adımına ihtiyacı olur ya da ödemeleri siparişlerle sonradan eşleştirmesi gerekir.