1. Anasayfa
  2. 100 Günde Solidity

🧵 #100GündeSolidity 008 : Ether & Wei

🧵 #100GündeSolidity 008 : Ether & Wei
Ether & Wei
0

Ether & Wei : Kullanımı, Solidity Örnekleri ve Değerlendirmesi

#100GündeSolidity Blockchain ağının para birimi olan Ether’in nasıl kullanılacağını ve Ether’in temel birimi olan Wei ile nasıl çalışacağını anlamak için Solidity dilinde örnekler ve değerlendirmeler.

#100GündeSolidity bülteninin bugünkü konusu “Ether & Wei” . Bültenin 8.gününde Ether & Wei hakkında örneklerle açıklamlarda bulunacağız.

Ether, Ethereum ağında kullanılan ana para birimidir. Ethereum ağının işlemlerini gerçekleştirdiğinizde, bu işlemler için bir miktar Ether ödemek gerekir. Örneğin, bir smart contract’ı çalıştırmak veya bir ürün satın almak için Ether ödemek gerekir.

Wei ise Ether’in en küçük birimidir. 1 Ether, 1,000,000,000,000,000,000 Wei’e eşittir. Wei biriminin kullanılması, Ethereum ağında işlemlerin daha hassas bir şekilde takip edilmesine yardımcı olur. Örneğin, bir smart contract’ta belirli bir miktar Ether ödemesi gerektiğinde, bu miktar Wei olarak belirtilebilir.

Başlangıç yapmak için, Ethereum ağında işlemlerin nasıl gerçekleştirileceğini ve Ether ve Wei birimlerinin nasıl kullanılacağını öğrenmeniz gerekiyor. Bu bilgileri öğrenmek için Ethereum dokümantasyonlarını ve Solidity dökümantasyonlarını okuyabilirsiniz. Ayrıca, Ethereum ağında işlemler gerçekleştirirken dikkat etmeniz gereken bazı kurallar ve işlem ücretleri hakkında bilgi sahibi olmanız da faydalı olacaktır.

Ether & Wei

Ether, Ethereum ağında kullanılan ana para birimidir. Ethereum ağının işlemlerini gerçekleştirdiğinizde, bu işlemler için bir miktar Ether ödemek gerekir. Örneğin, bir smart contract’ı çalıştırmak veya bir ürün satın almak için Ether ödemek gerekir. Ayrıca, Ethereum ağında bir node çalıştırmak ve bu node’a veri depolamak için de Ether ödemek gerekir.

Wei ise Ether’in en küçük birimidir. 1 Ether, 1,000,000,000,000,000,000 Wei’e eşittir. Wei biriminin kullanılması, Ethereum ağında işlemlerin daha hassas bir şekilde takip edilmesine yardımcı olur. Örneğin, bir smart contract’ta belirli bir miktar Ether ödemesi gerektiğinde, bu miktar Wei olarak belirtilebilir.

Ethereum ağında işlemler gerçekleştirirken dikkat etmeniz gereken bazı kurallar vardır. Örneğin, işlemlerin gerçekleştirilebilmesi için bir miktar Ether ödemesi gerekir. Bu ödeme, işlemin gerçekleştirilmesi için kullanılan kaynakların karşılanması amacıyla yapılır. Ayrıca, işlemlerin gerçekleştirilebilmesi için bir işlem ücreti de ödemek gerekir. Bu ücret, işlemin Ethereum ağında gerçekleştirilmesi için node’ların harcadıkları enerji ve kaynakların karşılanması amacıyla alınır.

Ethereum ağında işlemlerin gerçekleştirilmesi için Ether ve Wei birimlerinin kullanılması, ağın güvenli ve etkin bir şekilde çalışmasını sağlar. Bu birimlerin anlaşılması ve doğru bir şekilde kullanılması, Ethereum ağında işlemler gerçekleştirirken önemlidir.

Örneklerle Anlatım Ether & Wei

Aşağıda, Ether ve Wei birimlerinin Solidity dilinde nasıl kullanılabileceğini gösteren birkaç örnek veriyorum:

pragma solidity ^0.6.0;

contract SimpleContract {
    uint public balance;

    function deposit() public payable {
        // Ether ödemesi alınıyor
        balance += msg.value;
    }

    function withdraw(uint amount) public {
        // Ether ödemesi yapılıyor
        require(amount <= balance, "Not enough balance.");
        (bool success, ) = msg.sender.call.value(amount)("");
        require(success, "Withdraw failed.");
        balance -= amount;
    }
}
pragma solidity ^0.6.0;

contract ComplexContract {
    uint public balance;

    function deposit() public payable {
        // Ether ödemesi alınıyor ve Wei olarak depolanıyor
        balance += msg.value;
    }

    function withdraw(uint amount) public {
        // Wei olarak depolanan miktar Ether olarak ödeme yapılıyor
        require(amount <= balance, "Not enough balance.");
        (bool success, ) = msg.sender.call.value(amount)("");
        require(success, "Withdraw failed.");
        balance -= amount;
    }

    function getBalanceInEther() public view returns (uint) {
        // Wei olarak depolanan miktar Ether cinsine çevriliyor
        return balance / 1 ether;
    }
}

Bu örneklerde, deposit fonksiyonu ile Ether ödemesi alınır ve withdraw fonksiyonu ile Ether ödemesi yapılır. Ayrıca, getBalanceInEther fonksiyonu ile Wei olarak depolanan miktar Ether cinsine çevrilir.

Bu örneklerde kullanılan msg.value ve 1 ether ifadeleri, Ether ve Wei birimlerini kullanımını gösterir. msg.value ifadesi, işleme yapılan Ether ödemesi miktarını temsil eder. 1 ether ifadesi ise 1 Ether’i temsil eder. Bu ifadeyi kullanarak, Ethereum ağında işlemlerde Ether ve Wei birimlerini kolayca kullanabilirsiniz.

Örneklerin işlevsellik, güvenlik, kullanım ve verimlilik açısından değerlendirmesi

İşlevsellik: Vermiş olduğum örneklerde, Ether ödemesi alınması ve yapılması işlevleri gerçekleştirilmiştir. Ayrıca, Wei olarak depolanan miktarın Ether cinsine çevrilmesi işlevi de yer almaktadır. Bu örneklerde, bu işlevlerin düzgün bir şekilde gerçekleştirilebileceği gösterilmiştir.

Güvenlik: Vermiş olduğum örneklerde, güvenlik açısından bazı kontroller yapılmıştır. Örneğin, withdraw fonksiyonu ile Ether ödemesi yapılmadan önce, yapılacak ödeme miktarının kullanıcının mevcut bakiyesinin altında olup olmadığı kontrol edilir. Bu sayede, aşırı ödemelerin önüne geçilmiş olur. Ancak, bu örneklerin güvenlik açısından daha fazla iyileştirilebileceği düşünülebilir. Örneğin, Ether ödemesi yapılırken kullanıcının adresinin doğruluğunun kontrol edilmesi veya Ether ödemesi yapılırken bir süre zarfının belirlenmesi gibi önlemler alınabilir.

Kullanım: Vermiş olduğum örnekler, kullanım açısından basit ve anlaşılır bir yapıya sahiptir. Örneklerde yer alan fonksiyonların adları ve parametreleri, işlevlerinin ne olduğunu açık bir şekilde göstermektedir. Ayrıca, örneklerde yer alan kodlar da kullanım açısından basit ve anlaşılır bir şekildedir.

Verimlilik:

Vermiş olduğum örneklerde, bir işlemin gerçekleştirilmesi için gerekli olan kaynakların düşük bir miktarda kullanılması hedeflenmiştir. Örneğin, getBalanceInEther fonksiyonu ile Wei olarak depolanan miktarın Ether cinsine çevrilmesi işleminde, sadece bir bölme işlemi gerçekleştirilerek çevrim yapılmıştır. Bu sayede, işlemin gerçekleştirilmesi için gerekli olan kaynakların düşük bir miktarda kullanılması sağlanmıştır.

Ancak, vermiş olduğum örneklerin verimliliği açısından daha iyileştirilebilecek yerler de olabilir. Örneğin, deposit ve withdraw fonksiyonlarında gerçekleştirilen Ether ödemesi işlemlerinin verimliliği açısından incelenebilir. Bu işlemlerin gerçekleştirilmesi sırasında kullanılan kaynakların daha etkin bir şekilde kullanılması için önlemler alınabilir.

Örnek Akıllı Sözleşme Kod Parçası İncelemesi

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

contract EtherUnits {
    uint public oneWei = 1 wei;
    // 1 wei is equal to 1
    bool public isOneWei = 1 wei == 1;

    uint public oneEther = 1 ether;
    // 1 ether is equal to 10^18 wei
    bool public isOneEther = 1 ether == 1e18;
}

İşlevsellik: Bu sözleşme, Wei ve Ether birimleri arasındaki dönüşümleri göstermek için kullanılır. Sözleşmede, oneWei ve oneEther değişkenleri ile sırasıyla 1 Wei ve 1 Ether’in ne kadar olduğu gösterilir. Ayrıca, isOneWei ve isOneEther değişkenleri ile 1 Wei ve 1 Ether arasındaki eşitliğin doğruluğu sorgulanır. Bu sayede Ether ve Wei birimleri arasındaki ilişkilerin açık bir şekilde görülebildiği bir sözleşme oluşmuştur.

Güvenlik: Bu sözleşme sadece Ether ve Wei birimleri arasındaki dönüşümleri göstermek için kullanılır, bu nedenle içerisinde güvenlik açısından risk taşıyan işlemler yoktur.

Kullanım: Bu sözleşme, kullanım açısından basit ve anlaşılır bir yapıya sahiptir. Değişken isimleri ve kullanılan sözdizimler sezgisel olarak anlaşılabilir ve Ether ve Wei birimleri arasındaki dönüşümlerin kullanımı hakkında bilgi sağlar.

Verimlilik: Bu sözleşmenin amacı Ether ve Wei birimleri arasındaki dönüşümleri göstermek olduğu için, verimlilik açısından bir değerlendirme yapmak pek mümkün değil. Çünkü sözleşmede gerçekleştirilen işlemler kabul edilebilir verimlilikte çalışan bir işlem olabilir.

Sonuç Bağlamı : Ether & Wei

Ether & Wei konulu bültenin 8. gününde, Ether ve Wei birimlerinin Solidity dilinde nasıl kullanılabileceğini gösteren örnekler verilmiştir. Bu örnekler aracılığıyla, Ether ve Wei birimleri arasındaki dönüşümlerin nasıl gerçekleştirilebileceği gösterilmiştir. Ayrıca, vermiş olduğunuz örneklerin işlevsellik, güvenlik, kullanım ve verimlilik açısından değerlendirilmesi yapılmıştır.

Genel olarak, Ethereum blockchain ağında yapılacak işlemlerde Ether ve Wei birimlerinin kullanımı oldukça önemlidir. Bu nedenle, Solidity dili ile yazılacak smart contractların bu birimleri düzgün bir şekilde kullanması önemlidir. Vermiş olduğunuz örnekler bu konuda fikir verebilir ve ileride yazacağınız smart contractların geliştirilmesine yardımcı olabilir.

Solidity Programlama Dili Öğrenme yolculuğunuz hakkında daha iyi rehberlik almak için Solidity nedir? Ethereum Akıllı Sözleşmelerinin Dili Rehberi içeriğimize göz atın. Dilerseniz Yeni Başlayanlar için Solidity – Akıllı Sözleşme Geliştirme Hızlandırılmış Kursuna katılın.

Çalışmaya nereden başlayacağım diyenler için Blockchain ​​Developer Olmak İçin Yol Haritası içeriğine de muhakkak bakın.

Gelin aklınızdaki soruları SUPERPEER sohbetinde cevaplayalım.

Bu makaleyi okuduğunuz için teşekkürler! Bana destek olmak isterseniz;

Beni TwitterLinkedin ve YouTube‘da takip edin.

Kısa bir yorum bırakmayı UNUTMAYIN!

solidity101 - Solidity, 2015 yılında Christian Reitwiessner liderliğinde piyasaya sürülen, büyük harf kullanımına göre ikinci en büyük kripto para piyasası olan Ethereum tarafından oluşturulan yepyeni bir programlama dilidir.

Yazarın Profili
İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir