ERC-777 Token Standartı Nedir?

ERC-777, Ethereum ağında bulunan ve mevcut merkeziyetsiz borsalarla tamamen uyumlu olan, takas edilebilir tokenler için bir token standardıdır

ERC-777

ERC-777, Ethereum ağında bulunan ve mevcut merkeziyetsiz borsalarla tamamen uyumlu olan, takas edilebilir tokenler için bir token standardıdır. Daha basit bir ifadeyle, ERC-777 tokenize standardı, Ethereum’un ETH ile uyumlu token türlerini belirten blok zinciri protokolünü ifade eder.

Ek olarak, ERC-777 yeni standart ERC-820’yi kullanır: Basit bir iç gözlem türü sağlamak için sözleşmeler için meta verilerin kaydedilmesine izin veren bir kayıt sözleşmesi kullanan sözde iç gözlem. Bu, to adresinde bir EIP-820 araması tarafından döndürülen ITokenRecipient'a ve hedef sözleşme tarafından uygulanan işlevlere bağlı olarak geriye dönük uyumluluğa ve diğer işlevsellik uzantılarına izin verir.

ERC-777, ERC-20’lerden öğrenilen pek çok şey içerir. Örneğin, beyaz listeli operatörler, send(...) kullanarak Ether uyumlu arayüzler sağlamak ve geriye dönük uyumluluk için işlevselliği geçersiz kılmak ve uyarlamak için ERC-820’yi kullanmak.

Standartın Faydaları

Bu standart, yaygın olarak kullanılan ERC-20 belirteç standardını iyileştirmeye çalışır. Bu standardın başlıca avantajları şunlardır:

  • Tokenlerin send(dest, value, data) ile gönderilmesi konusunda Ether ile aynı felsefeyi kullanır.
  • Bir tokensRequired, herhangi bir sözleşmede ve herhangi bir normal adreste, tokenler alındığında bu kodu tetikleyecek şekilde tanımlanabilir. Bu, ERC-20 standardında gerekli olan çift çağrıyı önler.
  • Hem sözleşmeler hem de normal adres, göndermeyi bloke eden bir tokensToSend işlevini kaydederek gönderdikleri belirteci kontrol edebilir ve reddedebilir.
  • Hem sözleşmeler hem de normal adresler, tokenlerin alınmasını reddetmek için fırlatan bir tokensReceived işlevi kaydederek hangi belirteçleri aldıklarını kontrol edebilir ve reddedebilir.
  • Token sahibi, tokenlerini yönetebilen operatörleri “yetkilendirebilir” ve “iptal edebilir”. Bu operatörler genellikle borsa, çek işlemci veya otomatik ücretlendirme sistemi gibi doğrulanmış sözleşmeler olacaktır.
  • Her token işlemi, alıcıya veri iletmek için sırasıyla kullanıcı (gönderen) ve operatör tarafından serbestçe kullanılacak bir userData bayt alanı ve bir operatör işlemi durumunda benzer bir operatorData içerir.
  • TokensRequired fonksiyonu içermeyen cüzdanlar ile geriye dönük uyumlu bir şekilde kullanılabilir.

ERC-777 Token (Token Sözleşmesi)

interface ERC777Token {
function name() public constant returns (string);
function symbol() public constant returns (string);
function totalSupply() public constant returns (uint256);
function granularity() public constant returns (uint256);
function balanceOf(address owner) public constant returns (uint256);

// transfer is modified to send in ERC-777
function send(address to, uint256 amount) public;
function send(address to, uint256 amount, bytes userData) public;
function authorizeOperator(address operator) public;
function revokeOperator(address operator) public;
function isOperatorFor(address operator, address tokenHolder) public constant returns (bool);
function operatorSend(address from, address to, uint256 amount, bytes userData, bytes operatorData) public;
event Sent(
address indexed operator,
address indexed from,
address indexed to,
uint256 amount,
bytes userData,
bytes operatorData
);
event Minted(address indexed operator, address indexed to, uint256 amount, bytes operatorData);
event Burned(address indexed operator, address indexed from, uint256 amount, bytes userData, bytes operatorData);
event AuthorizedOperator(address indexed operator, address indexed tokenHolder);
event RevokedOperator(address indexed operator, address indexed tokenHolder);
}

ERC-777’nin Avantaj ve Dezavantajları

  • Tokenler için iyi düşünülmüş ve geliştirilmiş arayüzler içerir. ERC-20 kullanımından öğrenilenler dahil edilmiştir.
  • İç gözlem için yeni standart istek ERC-820’yi kullanır ve ek işlevsellik sağlar.
  • Beyaz listedeki operatörler çok kullanışlıdır ve genellikle sonsuz bırakılan onay/izin vermekten daha gereklidir.
  • Standart daha yeni başlıyor, bağımlı sözleşme çağrılarıyla karmaşık inşaat
  • Bağımlılıklar, güvenlik sorunları olasılığını artırır: ilk güvenlik sorunları ERC-777’de değil, daha da yeni ERC-820’de tanımlandı (ve çözüldü)