ERC-6551'in altında yatan ilkelerin derinlemesine analizi

Yazan: @0xCygaar Çeviren: MetaCat

Bu makale, ERC-6551'in herhangi bir NFT'nin herhangi bir kripto varlığına sahip olmasını nasıl sağladığının kısa bir açıklamasıdır.

Çoğu NFT'de gerçekte olanlarla başlayalım.

Ethereum'daki NFT'ler, size NFT'nin kime ait olduğunu, NFT'yi kimin aktarabileceğini ve NFT'nin meta verilerinin nasıl göründüğünü söyleyen akıllı sözleşmelerdeki veri girişleridir. Belirli bir NFT hakkında bilgi döndüren bir işlev aşağıda verilmiştir:

Belirli bir NFT'nin Sahibini Alın

Belirli bir NFT'nin tokenURI'sini alın

Verilen NFT'nin onaylandığı cüzdan adresini alın

NFT'yi bastığınızda, sadece veri girişi sahibinin (cüzdan adresi) değerini ayarlarsınız. Bir NFT aktardığınızda, yalnızca sahibinin değerini (cüzdan adresi) değiştirirsiniz. Aşağıdaki iki resim, ERC721 sözleşmesindeki ilgili sahiplik ayarları kodlarıdır:

ERC721 sözleşmesindeki nane işlevi

ERC721 sözleşmesindeki transfer işlevi

Çoğu NFT sözleşmesi bu kadar basittir. Yukarıda gördüğümüz gibi, bu NFT'lerin diğer NFT'lere, ETH veya ERC20 tokenlerine sahip olmasını sağlayan bir kod yoktur.

Akıllı sözleşmeler değiştirilemez, peki ERC-6551 herhangi bir NFT'nin diğer varlıklara sahip olmasına nasıl izin verir?

Cevap: kayıt defteri + sözleşme cüzdanı.

Akıllı sözleşme cüzdanı (CA cüzdanı), NFT, ERC20 veya ETH alabilen ve ayrıca isteğe bağlı işlemler gerçekleştirebilen basit bir akıllı sözleşmedir. Bu sözleşme cüzdanlarının kendi adresleri vardır (tüm akıllı sözleşmeler gibi).

Kayıtlara aşina değilseniz, bunları bilgi depolayan bireysel akıllı sözleşmeler olarak düşünebilirsiniz. ERC-6551 kayıt defteri şunları içerir: hangi NFT'lerin hangi akıllı sözleşme cüzdanlarıyla eşlendiğini belirten bilgiler ve ayrıca bir akıllı sözleşme cüzdanı oluşturmak için bir proxy kullanır (bunu bilip bilmemeniz önemli değildir).

Kayıt sözleşme kodu?

Örneğin, Azuki #4567, 0x243F4E0d556EFD1006c52E85A6ddFb6748A4C0b7 adresindeki bir akıllı sözleşme cüzdanına eşlenebilir. Bir NFT birden fazla sözleşme hesabını kontrol edebilir, ancak aşağıdaki şekilde gösterildiği gibi her sözleşme hesabı yalnızca bir NFT'ye aittir:

Artık NFT'ler için cüzdan oluşturabilen ve NFT'leri cüzdanlara bağlayabilen bir kayıt defterimiz var ve bu NFT'ye bağlı cüzdan artık normal bir cüzdan olarak kullanılabilir. Bu cüzdan ETH aktarabilir, NFT satın alabilir veya ERC20 tokenlerini takas edebilir, elbette işlem NFT sahibi tarafından başlatılmalıdır.

Bu NFT'ye bağlı cüzdanların akıllı sözleşmeler olduğunu yinelemek istiyorum. Cüzdanın belirli eylemleri gerçekleştirmesi için birisinin sözleşmedeki bir işlevi çağırması gerektiği için çoklu imza cüzdanlarına benzerler. ERC-6551 cüzdanları için, NFT sahibi, işlemi başlatmak için cüzdanda uteCall'ı arayacak.

Peki bu NFT'ye bağlı cüzdanları bu kadar özel yapan ne? NFT'yi kontrol eden sahip değiştiğinde, cüzdanın kontrolü de eş zamanlı olarak değişir. NFT'yi kontrol etmek, NFT'ye bağlı cüzdandaki her şeyi kontrol ettiğiniz anlamına gelir ve NFT, tek bir varlıktan paketlenmiş bir varlık paketine dönüşür.

TL;DR: ERC-6551, tüm NFT'lerin bir kayıt defteri ve akıllı sözleşme cüzdanı kullanarak bir cüzdan sahibi olmasını sağlar. Kayıt defteri bir sözleşme cüzdanı oluşturur ve sözleşme cüzdanını NFT ile ilişkilendirir. Sözleşme cüzdanları diğer varlıkları tutabilir ve yalnızca NFT'nin sahibi bu cüzdan üzerinde işlem yapabilir.

View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Share
Comment
0/400
No comments
  • Pin
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)