1. Anasayfa
  2. 100 Günde Solidity

🧵 #100GündeSolidity 047 : Ether Cüzdanı Uygulaması

🧵 #100GündeSolidity 047 : Ether Cüzdanı Uygulaması
Ether Cüzdanı Uygulaması - Solidity Dilinde Kodlama Aşamaları ve Akıllı Sözleşme Yayınlama
0

Ether Cüzdanı Uygulaması – Solidity Dilinde Kodlama Aşamaları ve Akıllı Sözleşme Yayınlama

Ether cüzdanı, Ethereum blok zincirindeki Ether tokenlarını saklamak ve yönetmek için kullanılan bir yazılımdır. Bir çevrimiçi hesap gibi düşünebilirsiniz. Bu cüzdanlar, kullanıcılara dijital para birimlerinin kontrolünü verir ve bu nedenle özel anahtarları güvenli bir şekilde saklamak çok önemlidir. Ether cüzdanları, Ethereum ağına katılan kullanıcılara ETH almak, göndermek veya depolamak için gereklidir.

Ether Cüzdanı Uygulaması

Bir Ether cüzdanı uygulaması, kullanıcılara Ether tokenlarını saklamak ve yönetmek için bir arayüz sağlayan bir yazılımdır. Bu uygulamalar, Ethereum ağına bağlanarak kullanıcılara özel anahtarları ile erişim sağlarlar.

Örneğin, MetaMask gibi bir Ether cüzdanı uygulaması, bir web tarayıcısı eklentisi olarak kullanılabilir ve kullanıcıların Ethereum tabanlı uygulamalar ile etkileşime girmesine olanak tanır. Bu cüzdanlar ayrıca mobil uygulama olarak da kullanılabilir.

Bu uygulamalar ayrıca, kullanıcılara Ethereum ağında gerçekleştirilen işlemleri izleme, gönderme ve alma gibi işlevler de sağlar. Kullanıcılar, Ether cüzdanlarına Ether tokenları gönderebilir ve aldıkları tokenları yönetebilirler.

Kodlama Aşamaları

Bir Ether cüzdanı uygulaması geliştirmek için genel olarak izlenebilecek kodlama aşamaları şunlardır:

  1. Projenin kurulumu: İlk olarak, geliştirme yapmak için gereken araçları ve kütüphaneleri kurmanız gerekir. Bu, Solidity programlama dili, Ethereum blok zinciri, bir geliştirme ortamı (örneğin Remix) ve bir test ağı gibi araçları içerebilir.
  2. Tasarım: Cüzdanın nasıl çalışacağına, hangi işlevlere sahip olacağına ve nasıl görüneceğine karar verilir. Bu, kullanıcı arayüzü (UI) tasarımını ve cüzdan işlevlerini belirlemeyi içerir.
  3. Kodlama: Tasarımın ardından, cüzdan uygulaması için Solidity programlama dili kullanılarak akıllı sözleşme kodu yazılır. Bu, Ether tokenlarını saklamak, göndermek ve alma işlemlerini yönetmek için gereken akıllı sözleşmeleri içerir.
  4. Test etme: Akıllı sözleşmelerinizi test etmek için bir test ağı kullanmanız gerekir. Bu, akıllı sözleşmelerin doğru şekilde çalıştığından emin olmanızı sağlar. Bu aşamada hatalar düzeltilebilir ve kodda iyileştirmeler yapılabilir.
  5. Cüzdan işlevleri ve arayüzü: Akıllı sözleşmeler oluşturulduktan sonra, bir kullanıcı arayüzü (UI) tasarlanır ve geliştirilir. Bu arayüz, kullanıcılara cüzdan işlevlerini kullanma imkanı verir. Bu aşamada, kullanıcıların Ether tokenları gönderme, alma ve saklama işlemlerini gerçekleştirmeleri için bir arayüz tasarlanır ve geliştirilir.
  6. Test etme ve Geliştirme: Arayüz tasarımı tamamlandıktan sonra, kullanıcıların cüzdan işlevlerini doğru şekilde kullanıp kullanamadığını kontrol etmek için uygulama test edilir. Uygulamanın performansı test edilir ve hatalar düzeltildikten sonra son sürüm hazırlanır.
  7. Yayınlama: Uygulama, Ethereum blok zinciri üzerindeki bir test ağı veya ana ağ üzerinde yayınlanır. Bu sayede kullanıcılar, cüzdanı kullanarak Ether tokenlarını saklayabilir, gönderebilir ve alabilirler.

Solidity ile Kodlama

Ether cüzdanı uygulamasını Solidity ile kodlamak için, Solidity programlama dilini kullanarak akıllı sözleşme kodları yazmanız gerekir. Aşağıda, bir Ether cüzdanı uygulaması için temel Solidity kod yapısının bir örneği verilmiştir:

pragma solidity ^0.8.0;

contract EtherWallet {
    
    address public owner;

    constructor() {
        owner = msg.sender;
    }

    function sendEther(address payable to, uint256 amount) public {
        require(msg.sender == owner, "Only the owner can send Ether.");
        to.transfer(amount);
    }

    function withdrawEther() public {
        require(msg.sender == owner, "Only the owner can withdraw Ether.");
        msg.sender.transfer(address(this).balance);
    }
}

Bu Solidity kodu, EtherWallet adlı bir akıllı sözleşme oluşturur ve sözleşmenin sahibini (owner) saklamak için bir değişken tanımlar. Bu sözleşme, iki fonksiyona sahiptir: sendEther ve withdrawEther.

sendEther fonksiyonu, yalnızca sahibi tarafından kullanılabilen bir fonksiyondur. Bu fonksiyon, Ether tokenlarını belirtilen adrese gönderir.

withdrawEther fonksiyonu, yalnızca sahibi tarafından kullanılabilen bir fonksiyondur ve sözleşmedeki tüm Ether tokenlarını sahibinin hesabına geri gönderir.

Bu Solidity kodu, örnek bir Ether cüzdanı uygulaması için sadece bir örnek kod yapısıdır. Bir Ether cüzdanı uygulaması, farklı işlevlere ve gereksinimlere sahip olabileceğinden, kod yapısı ve fonksiyonları daha karmaşık olabilir.

Akıllı Sözleşme Yayınlama

Akıllı sözleşme yayınlama işlemi, Solidity kodlarının bir Ethereum ağına yüklenmesini ve akıllı sözleşme olarak kullanılabilir hale getirilmesini içerir. Bu işlem, bir dizi adımı içerir:

  1. Solidity kodlarınızı bir derleyici kullanarak derleyin. Bu, Solidity kodlarınızı makine koduna dönüştürür ve Ethereum ağı tarafından yürütülebilir hale getirir.
  2. Derlenmiş kodları Ethereum ağına yükleyin. Bu, bir Ethereum cüzdanı veya Ethereum ağını yöneten bir araç kullanarak yapılabilir. Bu işlem, bir akıllı sözleşme adresi oluşturacak ve sözleşmenin kullanılabilir hale gelmesini sağlayacaktır.
  3. Yayınlanan akıllı sözleşmeyi test edin. Bu, sözleşmenin işlevlerini test ederek ve Ethereum ağı üzerinde gerçekleştirdiği işlemleri doğrulayarak yapılır.

Akıllı sözleşme yayınlama işlemi, Solidity ile kodlanmış birçok farklı uygulama için kullanılabilir. Bu işlem, Ethereum ağı üzerinde işlem yapmak isteyen geliştiriciler ve kullanıcılar için önemlidir.

Ether Cüzdanının Kullanımı

Bir Ether cüzdanı kullanmak, Ethereum ağındaki Ether tokenlarına erişmek ve işlem yapmak için gereklidir. İşte bir Ether cüzdanının kullanımı için genel adımlar:

  1. Bir Ether cüzdanı edinin. Bu, birçok farklı seçeneğe sahiptir, örneğin web tabanlı cüzdanlar, masaüstü uygulamaları ve donanım cüzdanları gibi.
  2. Cüzdanınızı ayarlayın ve hesap oluşturun. Bu, cüzdanınızı yapılandırmak, Ether tokenlarına erişmek için gerekli kimlik bilgilerinizi girin ve bir şifre oluşturmak gibi adımları içerir.
  3. Cüzdanınıza Ether tokenları yükleyin. Bu, bir borsa veya başka bir cüzdandan Ether tokenlarınızı transfer etmek suretiyle yapılabilir.
  4. Ether tokenlarıyla işlem yapın. Bu, Ether tokenlarıyla başka bir kullanıcıya transfer yapmak, akıllı sözleşme işlemleri gerçekleştirmek veya Ethereum ağı üzerindeki herhangi bir uygulamada Ether tokenlarını kullanmak gibi adımları içerir.

Ether cüzdanları, Ethereum ağındaki birçok farklı işlem için kullanılabilir. Örneğin, bir Ether cüzdanı ile diğer kullanıcılara Ether tokenları gönderebilir, ICO’lar gibi crowdsale işlemlerine katılabilir veya akıllı sözleşmeleri çalıştırabilirsiniz. Ancak, Ether cüzdanı kullanımı ile ilgili bazı güvenlik riskleri olabilir, bu nedenle cüzdanınızı güvende tutmak için bazı önlemler almanız önemlidir.

Test Etme ve Geliştirme

Solidity ile kodlama yaptığınızda, kodlarınızı test etmek ve geliştirmek için bir dizi adım izlemeniz gerekebilir. İşte Solidity kodlarınızı test etmek ve geliştirmek için bazı adımlar:

  1. Solidity kodlarınızı derleyin. Bu, kodlarınızın makine diline dönüştürülmesini sağlar.
  2. Test ağına bağlanın veya yerel Ethereum ağı kurun. Bu, kodlarınızı test etmek için bir ortam sağlar.
  3. Akıllı sözleşmenizi test edin. Bu, sözleşmenizin işlevlerini test etmenizi ve olası hataları tespit etmenizi sağlar.
  4. Geliştirme yapın. Kodunuzdaki hataları düzeltin ve yeni özellikler ekleyin.
  5. Yeniden derleyin ve tekrar test edin. Bu, değişikliklerinizin doğru çalıştığından emin olmak için gereklidir.
  6. Sözleşmenizi yayınlayın. Sözleşmenizin işlevlerini test ettikten sonra, Ethereum ağına yayınlayarak sözleşmenizi kullanıma hazır hale getirebilirsiniz.

Test etme ve geliştirme işlemi, Solidity ile kodlama yaparken oldukça önemlidir. Bu işlem, kodlarınızın doğru çalıştığından emin olmanızı ve olası hataları önlemenizi sağlar. Ayrıca, kodlarınızın performansını ve güvenliğini artırmak için de bu adımları takip etmeniz önerilir.

Akıllı Sözleşme Örneği İNCELEME

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

contract EtherWallet {
    address payable public owner;

    constructor() {
        owner = payable(msg.sender);
    }

    receive() external payable {}

    function withdraw(uint _amount) external {
        require(msg.sender == owner, "caller is not owner");
        payable(msg.sender).transfer(_amount);
    }

    function getBalance() external view returns (uint) {
        return address(this).balance;
    }
}

Bu akıllı sözleşme, basit bir Ether cüzdanı uygulamasıdır ve sadece sahibinin Ether çekmesine izin verir. İşlevleri şunlardır:

  1. constructor(): Bu işlev, EtherWallet sözleşmesi oluşturulduğunda çağrılır ve sözleşmenin sahibini belirler. msg.sender değişkeni, sözleşmenin çağrıldığı adresi içerir.
  2. receive(): Bu işlev, sözleşmeye ETH gönderildiğinde çağrılır ve gönderilen ETH sözleşmenin bakiyesine eklenir.
  3. withdraw(): Bu işlev, sözleşmenin sahibinin belirli bir miktar ETH çekmesine olanak tanır. msg.sender değişkeni, sözleşmeyi çağıran adresi içerir ve sadece sözleşmenin sahibi bu işlevi çağırabilir.
  4. getBalance(): Bu işlev, sözleşmenin bakiyesini döndürür.

Güvenlik açısından, sözleşmenin withdraw() işlevinde require() kullanarak sahibin kimliği kontrol edilir. Bu, yalnızca sözleşmenin sahibinin çekebileceği ETH’yi garanti altına alır.

Alternatif olarak, sözleşmeye farklı kullanıcılar tarafından çekilebilen bir withdraw() işlevi eklenebilir veya sözleşmeye bir onaylama işlemi eklenerek sadece sahibin değil, belirli kişilerin de çekebileceği bir yapı oluşturulabilir. Ayrıca, sözleşmenin withdraw() işlevi yerine sözleşmeden ETH çekmek için farklı bir mekanizma da kullanılabilir, örneğin bir Ethereum cüzdanı aracılığıyla.

Sonuç Bağlamı

Bu e-bültende, basit bir Ether cüzdanı uygulaması üzerinden Solidity dilinde kodlama aşamaları incelendi. EtherWallet adlı akıllı sözleşmenin işlevleri, güvenlik özellikleri ve alternatifleri hakkında bilgi verildi.

Solidity dilini öğrenmek ve web3 alanında kariyer yapmak isteyenlerin SolidityÖğren serisine katılmaları ve @solidity101tr hesabını takip etmeleri önerildi.

Solidity dilini öğrenmek, akıllı sözleşmelerin oluşturulması ve Ethereum blok zinciri ile ilgili uygulamaların geliştirilmesi için temel bir gerekliliktir. Bu nedenle, SolidityÖğren serisi, bu konularda kariyer yapmak isteyenlere büyük faydalar sağlayacaktır.

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