Ethereum blok zincirinde ERC-20 tokenleri nasıl oluşturulur ve uygulanır?

Ethereum'daki ERC Tokenları Hakkında Bilmeniz Gereken Her Şey - AAX Akademisi

Nasıl oluşturulur ve uygulanır? ERC-20 belirteçleri Ethereum blok zincirinde. Mevcut gelişme hızıyla blockchain yavaş yavaş dünyayı fethediyor. Bitcoin'in en popüleri cryptocurrency, dünyanın ilk ve en bilinen blockchain teknolojisinin ürünüdür. Ethereum, blockchainin bir yan ürünüdür ve Bitcoin gelişmeye başladığında doğmuştur.

eter

Bitcoin yalnızca bir para birimine doğru ilerlerken, Ethereum, kullanıcıların ağ üzerinde token oluşturmasına olanak tanıyan sanal makineler (EVM'ler) ve akıllı sözleşmeler sağlama vizyonuyla daha da ileri gitti.

Tokenlar parayı, altını, piyango biletlerini temsil edebilir… Ethereum blok zincirinde her tür tokeni geliştirebilirsiniz, ancak bu eğitim ERC-20 tokenlerini oluşturmaya ve dağıtmaya odaklanacaktır.

Bir token oluşturmadan önce, en azından blockchain teknolojisi, sağlamlık dili ve Ethereum'un nasıl çalıştığı hakkında temel bir anlayışa sahip olmanız gerekir.

Blockchain nedir ve yöntem Nasıl Çalışır?

Kısaca blockchain, birçok ağ katılımcısı için dağıtılmış bir defter veya veri tabanındaki işlemlerin kaydıdır. Bu defter ağda gerçekleştirilen işlemlerin kaydını içerir.

İşlem, belirli bir para biriminin veya tutarın ağdaki bir kullanıcıdan diğerine aktarılması işlemidir. Alice'in Bob'a 30BLC ilettiğini varsayalım. Bu işlem, ağdaki belirli bir düğüm tarafından kriptografik olarak hashlenir ve defteri kebire kaydedilir.

Bu düğüm, işlemi ağdaki diğer düğümlere gönderir, yani işlemi ağa yayar. Diğer düğümler işlemi alır, standart yöntemi kullanarak inceler ve ardından deftere ekler.

Ağdaki düğümler ağda yeni iletilen işlemi alır ve ardından işlemi deftere ekler. Ağdaki her düğüm, defterin bir kopyasına sahiptir veya sahibidir. Bu, blok zincirinin merkezi olmayan karakteriyle sonuçlanır.

“Blockchain” kelimesi, bir defterdeki işlemlerin veya kayıtların bir zincir oluşturacak şekilde birbirine bağlanmasından türetilmiştir. Hepimizin bildiği gibi işlem, düğümdeki iki taraf arasındaki para birimi değişimini temsil eder ve JSON'da şu şekilde temsil edilebilir:

{
  "Den": "0xalice",
  "Adresinden": "0xbob",
  "Miktar": "30BLC"
}

Bu basit bir kayıt veya işlemdir. Bob 30BLC'yi Alice'e transfer etti.

Bu işlem, aşağıdaki JSON veri formatı kullanılarak yazılan bir bloğa kaydedilir:

[
  {
    "Den": "0xalice",
    "Adresinden": "0xbob",
    "Miktar": "30BLC"
  }
]

Bir blok, birçok işlem nesnesini içeren bir diziye benzer. Dolayısıyla bu blok birkaç işlem içerebilir:

[
  {
    "Den": "0xalice",
    "Adresinden": "0xbob",
    "Miktar": "30BLC"
  },
  {
    "Den": "0xtheresa",
    "Adresinden": "0xarinze",
    "Miktar": "5BLC"
  }
]

İşlemin ekleneceği bloğun konumunu görebilirsiniz. Zincirler birbirine bağlı bloklardan oluşur. Her blockchain, yaratıcının ağa eklediği ve dağıttığı bir Genesis bloğuyla başlar.

Her bloğun ayrıca ağda benzersiz bir tanımlayıcı görevi gören bir şifreleme karması vardır. Hiçbir iki blok aynı hash değerine sahip değildir.

Bir blok, düğümler tarafından doğrulanıp ağa eklendiğinde, ağdaki son bloğun karma değerini gösteren bir işaretçi bulunur.

[
  {
    "doğramak": "0x0",
    "öncekiHash": "",
    "txns": [
      {
        "Den": "0xalice",
        "Adresinden": "0xbob",
        "Miktar": "30BLC"
      },
      {
        "doğramak": "0x1",
        "öncekiHash": "0x0",
        "Den": "0xtheresa",
        "Adresinden": "0xarinze",
        "Miktar": "5BLC"
      }
    ]
  },
  {
    "doğramak": "0x1",
    "öncekiHash": "0x0",
    "txns": [
      {
        "Den": "0xalice",
        "Adresinden": "0xbob",
        "Miktar": "30BLC"
      },
      {
        "Den": "0xtheresa",
        "Adresinden": "0xarinze",
        "Miktar": "5BLC"
      }
    ]
  }
]

Karması 0x0 olan ilk blok orijinal bloktur. 0x1 karma değerine sahip bir sonraki blok, 0x0'a, yani ağdaki ilk bloğa işaret eden bir prevHash'a sahiptir.

Bu şekilde ağa eklenen her yeni blok, önce bitişikteki en yeni bloğu işaret eder. Bu, blockchainde bir “zincir” yaratır.

ethereum nedir

Ethereum, ETH adı verilen kendi dijital para birimine sahip bir blockchaindir. Diğer blockchainlerde olduğu gibi işlemler de bir defterde saklanır.

Ethereum'u diğer blockchainlerden ayıran şey esnekliğidir. Birçok blockchain platformu yalnızca para transferlerini desteklerken, Ethereum tüm verilerin blockchain üzerinden aktarılmasına ve ücretlerin ETH olarak ödenmesine olanak tanıyor.

Ethereum nasıl çalışır?

Yukarıda da bahsettiğimiz gibi Ethereum blok zincirindeki her türlü veriyi aktarabilir ve ETH'de ücret ödeyebiliriz.

Yukarıdaki örnekte yer alan BLC işlemi gibi, Ethereum blok zinciri de ETH işlemlerini desteklemektedir. Alice'in Bob'a 1 ETH aktardığını varsayalım. Bu işlem ağdaki düğümler tarafından doğrulanır ve blok zincirindeki bloğa eklenir.

Ayrıca Ethereum'da, ETH elde etmek için çalışma gerektiren madencilik vardır. Bu görev, doğru cevabı bulana kadar birçok farklı yolu deneyerek zor bir hesaplamayı çözmeyi içerir. Ağdaki herhangi bir düğüm katılabilir. Hesaplamayı başarıyla çözen düğüm belirli miktarda ETH ile ödüllendirilir. İşlemler azaldıkça hesaplamanın zorluğu artar.

Ethereum blok zincirinde ne zaman bir işlem tetiklense, ağdaki bir madencilik düğümü bu işlemi basar. İşlemin göndericisinin bu düğüme belirli bir ETH tutarı ödemeyi kabul etmesi gerekir. Buna gaz fiyatı denir.

Akıllı sözleşme nedir?

Akıllı sözleşme, Ethereum blok zincirinde çalışan kodu içeren bir araçtır. Akıllı sözleşmeler Solidity dilinde yazılır ve ABI kodunda derlenir. Bu ABI kodu Ethereum blok zincirinde sağlanır. Akıllı sözleşme, gönderenin harici adresini alır ve bunu bir nonce (benzersiz numara) ile karıştırarak Ethereum blok zincirinde bir adres oluşturur.

Akıllı sözleşmeler dijital sözleşmelerin oluşturulmasını sağlar. Gerçek sözleşmeler gibi dijital sözleşmeler de Ethereum blok zincirinde iki veya daha fazla taraf arasında işlem yapılmasına yardımcı olur.

Akıllı sözleşme, Ethereum'daki bir hesap türüdür; bu, kullanıcı tarafından kontrol edilmediği ve blockchain üzerinde işlem gönderebildiği anlamına gelir. Hesap olduğu için akıllı sözleşmenin bakiyesi vardır ve EVM kodunu içerir.

ERC-20 belirteçleri nelerdir?
ERC20 Token Eğitimi | Toplam

Ethereum Sanal Makinesi (EVM), derlenmiş Solidity ABI kodunu çalıştıran bir sanal makinedir. Ethereum'daki akıllı sözleşmeler, çeşitli tokenlar oluşturmak için küresel standart haline geldi. Bu standartlar Ethereum Yorum İsteği (ERC) standardı olarak bilinir.

Ethereum'un birçok özelliği var varsayılan, ancak en yaygın kullanılan ve yaygın olarak kullanılanlar ERC-20 ve ERC-721'dir. Token üretimi için ERC-20, NFT geliştirme için ERC-721 kullanılıyor.

ERC-20, bir dizi API içeren akıllı bir sözleşme olan Fabian Vogelsteller tarafından önerilen standarttır. ERC20, ERC-20 standardını seçen tüm tokenlar için geçerli olan bir kurallar dizisidir.

Yukarıda belirtildiği gibi ERC-20, Bitcoin ve ETH gibi sanal para birimleri oluşturmak için kullanılabilir. ERC-20 standardına göre oluşturulan en ünlü tokenlerden bazıları Binance Coin (BNB) ve Shiba Shabu'dur (KOBE).

Kullanıcılar ERC-20 tokenlerini gönderip alabilir. Bu tokenler değiştirilebilir, yani değerleri blok zincirinin her yerinde aynı.

takip et Blockchain.comCüzdanlar ve borsalar, çeşitli ERC-20 tokenlerini platforma entegre etmek ve bunların değişimini ve diğer birçok kripto para birimini kolaylaştırmak için bu standardı kullanır.

Artık ERC-20 standardının ne olduğunu anladığımıza göre ERC-20 tokeninin içeriğine bir göz atalım.

Tokenin içeriği ERC-20

ERC-20 tokenı, bir ERC-20 tokeninin sahip olması gereken yöntemleri ve olayları içerir.

ERC-20 tokenleri şunları yapabilmelidir:

  • Tokenları bir hesaptan diğerine aktarın
  • Hesap bakiyesini iade edin
  • Belirteçlerde bulunan toplam belirteç sayısını döndürür
  • Jetonları hesabınıza aktarın

Aslında Solidity'de yazılmış olsaydı ERC-20 şöyle görünürdü:

işlev isim() halka açık görünüm İade (dizi)

işlev sembol() halka açık görünüm İade (dizi)

işlev ondalık sayılar() halka açık görünüm İade (uint8)

işlev toplam tedarik() halka açık görünüm İade (uint256)

işlev dengesi(adres _owner) halka açık görünüm İade (uint256 dengesi)

işlev transfer(adres _to, uint256 _değer) halka açık İade (bool başarı)

işlev transfer Kimden(adres _from, adres _to, uint256 _değer) halka açık İade (bool başarı)

işlev onaylamak(adres _spender, uint256 _değer) halka açık İade (bool başarı)

işlev ödenek(adres _owner, adres _spender) halka açık görünüm İade (uint256 kaldı)

Bir ERC-20 tokenı aşağıdaki yöntemlere sahip olabilir:

  • name – tokenin adını döndürür (örn. Binance Coin)
  • sembol – tokenin sembolünü döndürür (örn. BNB)
  • Ondalık Basamaklar – Belirteç tarafından kullanılan ondalık basamakların sayısını döndürür
  • totalSupply – tokenın ilk stoğunun tamamını döndürür
  • BalanceOf – hesap bakiyesini döndürür
  • transfer – belirli miktarda jetonu bir adrese aktarın
  • transferFrom – belirli sayıda jetonu alıcı adresinden alıcı adresine aktarır
  • onaylama – belirli sayıda jetona kadar jetonları sahibinin adresinden çeker
  • Muafiyet – sahibinin hesabından çekilebilecek token miktarını döndürür

Bir sinyal gönderildiğinde zamanında yakalanmak için olaylar da belirteç üzerine kaydedilebilir. ERC-20 tokenleri aşağıdaki olaylara sahiptir:

Olay aktarımı (adres indekslenmiş _from, adres indekslenmiş _to, uint256 _value)

Etkinlik onayı (adres dizine eklendi _owner, adres dizine eklendi _spender, uint256 _value)

  • Transfer – jetonları aktarırken etkinleştirilir
  • Onay – hesabın belirli sayıda token alması onaylandığında etkinleştirilir

ERC 20 belirteci oluşturun

Bu bölümde anlaşılmasını kolaylaştırmak için makale, basit bir tokenın nasıl yazılacağını ve ona ND Coin adının nasıl verileceğini göstermektedir.

// SPDX-Lisans-Tanımlayıcı: GPL-3.0
Pragma sağlamlığı >=0.7.0 <0.9.0;

sözleşme NDCoinERC20 {

    olay Transfer(adres indekslendi itibaren, adres indekslendi, uint  token kazanabilirsiniz.);
    olay onay(adrese endeksli tokenOwner, adrese endeksli harcama yapan, uint  token kazanabilirsiniz.);

    dizi halka açık sabit ad = "ND Parası";
    dizi halka açık sabit sembol = "NDN";
    uint8 halka açık sabit ondalıklar = 18;

    haritalama(adres => uint256) bakiyeler;

    haritalama(adres => haritalama (adres => uint256)) izin;

    uint256 toplamTedarik_;

    inşaatçı(uint256 toplam) {
      toplamTedarik_ = Genel Toplam;
      bakiyeler[msg.gönderici] = toplamTedarik_;
    }

    işlev toplam tedarik() halka açık görünüm İade (uint256) {
      dönüş toplamTedarik_;
    }

    işlev dengesi(adres belirteciSahibi) halka açık görünüm İade (uint) {
        dönüş bakiyeler[tokenSahibi];
    }

    işlev transfer(adres alıcısı, uint numTokens) halka açık İade (bool) {
        gerektirir(numTokens <= bakiyeler[msg.gönderici]);
        bakiyeler[msg.gönderici] -= numTokens;
        bakiyeler[alıcı] += numTokens;
        yaymak Transfer(msg.gönderici, alıcı, numTokens);
        dönüş gerçek;
    }

    işlev onaylamak(adres temsilci, uint numTokens) halka açık İade (bool) {
        izin verildi\[mesaj.gönderen\][temsilci] = numTokens;
        yaymak onay(msg.gönderici, temsilci, numTokens);
        dönüş gerçek;
    }

    işlev ödenek(adres sahibi, adres temsilci) halka açık görünüm İade (uint) {
        dönüş izin verildi\[sahip\][temsilci];
    }

    işlev transfer Kimden(adres sahibi, alıcının adresi, uint numTokens) halka açık İade (bool) {
        gerektirir(numTokens <= bakiyeler[sahip]);
        gerektirir(numTokens <= izin verildi\[sahip\][msg.gönderici]);

        bakiyeler[sahip] -= numTokens;
        izin verildi\[sahip\][msg.gönderici] -= numTokens;
        bakiyeler[alıcı] += numTokens;
        yaymak Transfer(sahip, alıcı, numTokens);
        dönüş gerçek;
    }
}

Ethereum blok zincirinde ERC-20 tokenleri nasıl oluşturulur ve uygulanır?

Ethereum'daki ERC Tokenları Hakkında Bilmeniz Gereken Her Şey - AAX Akademisi

Nasıl oluşturulur ve uygulanır? ERC-20 belirteçleri Ethereum blok zincirinde. Mevcut gelişme hızıyla blockchain yavaş yavaş dünyayı fethediyor. Bitcoin'in en popüleri cryptocurrency, dünyanın ilk ve en bilinen blockchain teknolojisinin ürünüdür. Ethereum, blockchainin bir yan ürünüdür ve Bitcoin gelişmeye başladığında doğmuştur.

eter

Bitcoin yalnızca bir para birimine doğru ilerlerken, Ethereum, kullanıcıların ağ üzerinde token oluşturmasına olanak tanıyan sanal makineler (EVM'ler) ve akıllı sözleşmeler sağlama vizyonuyla daha da ileri gitti.

Tokenlar parayı, altını, piyango biletlerini temsil edebilir… Ethereum blok zincirinde her tür tokeni geliştirebilirsiniz, ancak bu eğitim ERC-20 tokenlerini oluşturmaya ve dağıtmaya odaklanacaktır.

Bir token oluşturmadan önce, en azından blockchain teknolojisi, sağlamlık dili ve Ethereum'un nasıl çalıştığı hakkında temel bir anlayışa sahip olmanız gerekir.

Blockchain nedir ve yöntem Nasıl Çalışır?

Kısaca blockchain, birçok ağ katılımcısı için dağıtılmış bir defter veya veri tabanındaki işlemlerin kaydıdır. Bu defter ağda gerçekleştirilen işlemlerin kaydını içerir.

İşlem, belirli bir para biriminin veya tutarın ağdaki bir kullanıcıdan diğerine aktarılması işlemidir. Alice'in Bob'a 30BLC ilettiğini varsayalım. Bu işlem, ağdaki belirli bir düğüm tarafından kriptografik olarak hashlenir ve defteri kebire kaydedilir.

Bu düğüm, işlemi ağdaki diğer düğümlere gönderir, yani işlemi ağa yayar. Diğer düğümler işlemi alır, standart yöntemi kullanarak inceler ve ardından deftere ekler.

Ağdaki düğümler ağda yeni iletilen işlemi alır ve ardından işlemi deftere ekler. Ağdaki her düğüm, defterin bir kopyasına sahiptir veya sahibidir. Bu, blok zincirinin merkezi olmayan karakteriyle sonuçlanır.

“Blockchain” kelimesi, bir defterdeki işlemlerin veya kayıtların bir zincir oluşturacak şekilde birbirine bağlanmasından türetilmiştir. Hepimizin bildiği gibi işlem, düğümdeki iki taraf arasındaki para birimi değişimini temsil eder ve JSON'da şu şekilde temsil edilebilir:

{
  "Den": "0xalice",
  "Adresinden": "0xbob",
  "Miktar": "30BLC"
}

Bu basit bir kayıt veya işlemdir. Bob 30BLC'yi Alice'e transfer etti.

Bu işlem, aşağıdaki JSON veri formatı kullanılarak yazılan bir bloğa kaydedilir:

[
  {
    "Den": "0xalice",
    "Adresinden": "0xbob",
    "Miktar": "30BLC"
  }
]

Bir blok, birçok işlem nesnesini içeren bir diziye benzer. Dolayısıyla bu blok birkaç işlem içerebilir:

[
  {
    "Den": "0xalice",
    "Adresinden": "0xbob",
    "Miktar": "30BLC"
  },
  {
    "Den": "0xtheresa",
    "Adresinden": "0xarinze",
    "Miktar": "5BLC"
  }
]

İşlemin ekleneceği bloğun konumunu görebilirsiniz. Zincirler birbirine bağlı bloklardan oluşur. Her blockchain, yaratıcının ağa eklediği ve dağıttığı bir Genesis bloğuyla başlar.

Her bloğun ayrıca ağda benzersiz bir tanımlayıcı görevi gören bir şifreleme karması vardır. Hiçbir iki blok aynı hash değerine sahip değildir.

Bir blok, düğümler tarafından doğrulanıp ağa eklendiğinde, ağdaki son bloğun karma değerini gösteren bir işaretçi bulunur.

[
  {
    "doğramak": "0x0",
    "öncekiHash": "",
    "txns": [
      {
        "Den": "0xalice",
        "Adresinden": "0xbob",
        "Miktar": "30BLC"
      },
      {
        "doğramak": "0x1",
        "öncekiHash": "0x0",
        "Den": "0xtheresa",
        "Adresinden": "0xarinze",
        "Miktar": "5BLC"
      }
    ]
  },
  {
    "doğramak": "0x1",
    "öncekiHash": "0x0",
    "txns": [
      {
        "Den": "0xalice",
        "Adresinden": "0xbob",
        "Miktar": "30BLC"
      },
      {
        "Den": "0xtheresa",
        "Adresinden": "0xarinze",
        "Miktar": "5BLC"
      }
    ]
  }
]

Karması 0x0 olan ilk blok orijinal bloktur. 0x1 karma değerine sahip bir sonraki blok, 0x0'a, yani ağdaki ilk bloğa işaret eden bir prevHash'a sahiptir.

Bu şekilde ağa eklenen her yeni blok, önce bitişikteki en yeni bloğu işaret eder. Bu, blockchainde bir “zincir” yaratır.

ethereum nedir

Ethereum, ETH adı verilen kendi dijital para birimine sahip bir blockchaindir. Diğer blockchainlerde olduğu gibi işlemler de bir defterde saklanır.

Ethereum'u diğer blockchainlerden ayıran şey esnekliğidir. Birçok blockchain platformu yalnızca para transferlerini desteklerken, Ethereum tüm verilerin blockchain üzerinden aktarılmasına ve ücretlerin ETH olarak ödenmesine olanak tanıyor.

Ethereum nasıl çalışır?

Yukarıda da bahsettiğimiz gibi Ethereum blok zincirindeki her türlü veriyi aktarabilir ve ETH'de ücret ödeyebiliriz.

Yukarıdaki örnekte yer alan BLC işlemi gibi, Ethereum blok zinciri de ETH işlemlerini desteklemektedir. Alice'in Bob'a 1 ETH aktardığını varsayalım. Bu işlem ağdaki düğümler tarafından doğrulanır ve blok zincirindeki bloğa eklenir.

Ayrıca Ethereum'da, ETH elde etmek için çalışma gerektiren madencilik vardır. Bu görev, doğru cevabı bulana kadar birçok farklı yolu deneyerek zor bir hesaplamayı çözmeyi içerir. Ağdaki herhangi bir düğüm katılabilir. Hesaplamayı başarıyla çözen düğüm belirli miktarda ETH ile ödüllendirilir. İşlemler azaldıkça hesaplamanın zorluğu artar.

Ethereum blok zincirinde ne zaman bir işlem tetiklense, ağdaki bir madencilik düğümü bu işlemi basar. İşlemin göndericisinin bu düğüme belirli bir ETH tutarı ödemeyi kabul etmesi gerekir. Buna gaz fiyatı denir.

Akıllı sözleşme nedir?

Akıllı sözleşme, Ethereum blok zincirinde çalışan kodu içeren bir araçtır. Akıllı sözleşmeler Solidity dilinde yazılır ve ABI kodunda derlenir. Bu ABI kodu Ethereum blok zincirinde sağlanır. Akıllı sözleşme, gönderenin harici adresini alır ve bunu bir nonce (benzersiz numara) ile karıştırarak Ethereum blok zincirinde bir adres oluşturur.

Akıllı sözleşmeler dijital sözleşmelerin oluşturulmasını sağlar. Gerçek sözleşmeler gibi dijital sözleşmeler de Ethereum blok zincirinde iki veya daha fazla taraf arasında işlem yapılmasına yardımcı olur.

Akıllı sözleşme, Ethereum'daki bir hesap türüdür; bu, kullanıcı tarafından kontrol edilmediği ve blockchain üzerinde işlem gönderebildiği anlamına gelir. Hesap olduğu için akıllı sözleşmenin bakiyesi vardır ve EVM kodunu içerir.

ERC-20 belirteçleri nelerdir?
ERC20 Token Eğitimi | Toplam

Ethereum Sanal Makinesi (EVM), derlenmiş Solidity ABI kodunu çalıştıran bir sanal makinedir. Ethereum'daki akıllı sözleşmeler, çeşitli tokenlar oluşturmak için küresel standart haline geldi. Bu standartlar Ethereum Yorum İsteği (ERC) standardı olarak bilinir.

Ethereum'un birçok özelliği var varsayılan, ancak en yaygın kullanılan ve yaygın olarak kullanılanlar ERC-20 ve ERC-721'dir. Token üretimi için ERC-20, NFT geliştirme için ERC-721 kullanılıyor.

ERC-20, bir dizi API içeren akıllı bir sözleşme olan Fabian Vogelsteller tarafından önerilen standarttır. ERC20, ERC-20 standardını seçen tüm tokenlar için geçerli olan bir kurallar dizisidir.

Yukarıda belirtildiği gibi ERC-20, Bitcoin ve ETH gibi sanal para birimleri oluşturmak için kullanılabilir. ERC-20 standardına göre oluşturulan en ünlü tokenlerden bazıları Binance Coin (BNB) ve Shiba Shabu'dur (KOBE).

Kullanıcılar ERC-20 tokenlerini gönderip alabilir. Bu tokenler değiştirilebilir, yani değerleri blok zincirinin her yerinde aynı.

takip et Blockchain.comCüzdanlar ve borsalar, çeşitli ERC-20 tokenlerini platforma entegre etmek ve bunların değişimini ve diğer birçok kripto para birimini kolaylaştırmak için bu standardı kullanır.

Artık ERC-20 standardının ne olduğunu anladığımıza göre ERC-20 tokeninin içeriğine bir göz atalım.

Tokenin içeriği ERC-20

ERC-20 tokenı, bir ERC-20 tokeninin sahip olması gereken yöntemleri ve olayları içerir.

ERC-20 tokenleri şunları yapabilmelidir:

  • Tokenları bir hesaptan diğerine aktarın
  • Hesap bakiyesini iade edin
  • Belirteçlerde bulunan toplam belirteç sayısını döndürür
  • Jetonları hesabınıza aktarın

Aslında Solidity'de yazılmış olsaydı ERC-20 şöyle görünürdü:

işlev isim() halka açık görünüm İade (dizi)

işlev sembol() halka açık görünüm İade (dizi)

işlev ondalık sayılar() halka açık görünüm İade (uint8)

işlev toplam tedarik() halka açık görünüm İade (uint256)

işlev dengesi(adres _owner) halka açık görünüm İade (uint256 dengesi)

işlev transfer(adres _to, uint256 _değer) halka açık İade (bool başarı)

işlev transfer Kimden(adres _from, adres _to, uint256 _değer) halka açık İade (bool başarı)

işlev onaylamak(adres _spender, uint256 _değer) halka açık İade (bool başarı)

işlev ödenek(adres _owner, adres _spender) halka açık görünüm İade (uint256 kaldı)

Bir ERC-20 tokenı aşağıdaki yöntemlere sahip olabilir:

  • name – tokenin adını döndürür (örn. Binance Coin)
  • sembol – tokenin sembolünü döndürür (örn. BNB)
  • Ondalık Basamaklar – Belirteç tarafından kullanılan ondalık basamakların sayısını döndürür
  • totalSupply – tokenın ilk stoğunun tamamını döndürür
  • BalanceOf – hesap bakiyesini döndürür
  • transfer – belirli miktarda jetonu bir adrese aktarın
  • transferFrom – belirli sayıda jetonu alıcı adresinden alıcı adresine aktarır
  • onaylama – belirli sayıda jetona kadar jetonları sahibinin adresinden çeker
  • Muafiyet – sahibinin hesabından çekilebilecek token miktarını döndürür

Bir sinyal gönderildiğinde zamanında yakalanmak için olaylar da belirteç üzerine kaydedilebilir. ERC-20 tokenleri aşağıdaki olaylara sahiptir:

Olay aktarımı (adres indekslenmiş _from, adres indekslenmiş _to, uint256 _value)

Etkinlik onayı (adres dizine eklendi _owner, adres dizine eklendi _spender, uint256 _value)

  • Transfer – jetonları aktarırken etkinleştirilir
  • Onay – hesabın belirli sayıda token alması onaylandığında etkinleştirilir

ERC 20 belirteci oluşturun

Bu bölümde anlaşılmasını kolaylaştırmak için makale, basit bir tokenın nasıl yazılacağını ve ona ND Coin adının nasıl verileceğini göstermektedir.

// SPDX-Lisans-Tanımlayıcı: GPL-3.0
Pragma sağlamlığı >=0.7.0 <0.9.0;

sözleşme NDCoinERC20 {

    olay Transfer(adres indekslendi itibaren, adres indekslendi, uint  token kazanabilirsiniz.);
    olay onay(adrese endeksli tokenOwner, adrese endeksli harcama yapan, uint  token kazanabilirsiniz.);

    dizi halka açık sabit ad = "ND Parası";
    dizi halka açık sabit sembol = "NDN";
    uint8 halka açık sabit ondalıklar = 18;

    haritalama(adres => uint256) bakiyeler;

    haritalama(adres => haritalama (adres => uint256)) izin;

    uint256 toplamTedarik_;

    inşaatçı(uint256 toplam) {
      toplamTedarik_ = Genel Toplam;
      bakiyeler[msg.gönderici] = toplamTedarik_;
    }

    işlev toplam tedarik() halka açık görünüm İade (uint256) {
      dönüş toplamTedarik_;
    }

    işlev dengesi(adres belirteciSahibi) halka açık görünüm İade (uint) {
        dönüş bakiyeler[tokenSahibi];
    }

    işlev transfer(adres alıcısı, uint numTokens) halka açık İade (bool) {
        gerektirir(numTokens <= bakiyeler[msg.gönderici]);
        bakiyeler[msg.gönderici] -= numTokens;
        bakiyeler[alıcı] += numTokens;
        yaymak Transfer(msg.gönderici, alıcı, numTokens);
        dönüş gerçek;
    }

    işlev onaylamak(adres temsilci, uint numTokens) halka açık İade (bool) {
        izin verildi\[mesaj.gönderen\][temsilci] = numTokens;
        yaymak onay(msg.gönderici, temsilci, numTokens);
        dönüş gerçek;
    }

    işlev ödenek(adres sahibi, adres temsilci) halka açık görünüm İade (uint) {
        dönüş izin verildi\[sahip\][temsilci];
    }

    işlev transfer Kimden(adres sahibi, alıcının adresi, uint numTokens) halka açık İade (bool) {
        gerektirir(numTokens <= bakiyeler[sahip]);
        gerektirir(numTokens <= izin verildi\[sahip\][msg.gönderici]);

        bakiyeler[sahip] -= numTokens;
        izin verildi\[sahip\][msg.gönderici] -= numTokens;
        bakiyeler[alıcı] += numTokens;
        yaymak Transfer(sahip, alıcı, numTokens);
        dönüş gerçek;
    }
}
70 kez ziyaret edildi, bugün 2 ziyaret yapıldı

Yorum bırak