1. Anasayfa
  2. Akıllı Sözleşme

Ethereum Akıllı Sözleşme Nasıl Kolayca Dağıtılır

Ethereum Akıllı Sözleşme Nasıl Kolayca Dağıtılır
Ethereum Akıllı Sözleşme Nasıl Kolayca Dağıtılır
0

Ethereum Akıllı Sözleşme Nasıl Kolayca Dağıtılır

Akıllı sözleşme oluşturmak ve dağıtmak önemli bir süreçtir. Dağıtıldıktan sonra, Ethereum ağı tarafından kullanılabilir hale gelir. Bu makale, Ethereum yazılım geliştirme sırasında akıllı bir sözleşme dağıtmak için ihtiyacınız olan tüm adımları size sunar.

Ondan önce, akıllı sözleşmelerden biraz bahsedelim.

Akıllı Sözleşme nedir?

Akıllı sözleşme, blok zincirinde bulunan bir yazılım programıdır. Bu bir koleksiyonveri ve işlevler (kod) Ethereum blok zincirinde belirli bir adreste kalır. Akıllı sözleşmeler, herhangi bir normal sözleşme gibi kural ve koşulları tanımlar ve kod aracılığıyla otomatik olarak çalışır. Akıllı sözleşme dağıtıldığında, Ethereum ağında bir örnek oluşturur. Dağıtım işlemi, bir bayt kodu ile bir işlem gönderilerek gerçekleştirilir.

Yerel Ağ ve Ethereum Ağı Üzerinde Akıllı Sözleşme Dağıtma

Yerel ağda akıllı sözleşme dağıtma yöntemi, Ethereum ağındakinden farklıdır. Yerel bir ağda, bir öykünücü ör. Ganache-cli kullanılır. Tüm işlevleri otomatik olarak işler ve yürütür. İşlemler yerel test ağında yapıldığından, kullanıcıların gaz miktarını manuel olarak takip etmesine veya güvenlik konusunda endişelenmesine gerek yoktur. Öte yandan, Ethereum ağında akıllı bir sözleşme dağıtmak söz konusu olduğunda, kullanıcıların bazı hususlara dikkat etmesi gerekiyor.

Akıllı sözleşme dağıtmadan önce Ethereum ağınızın içinde bir miktar ether olduğundan emin olun çünkü dağıtım süreci bir işlem gibi davranır ve yürütülmesi için bir miktar gaza ihtiyaç duyar. Genellikle, Ethereum ağındaki işlemler 15 saniye ila 15 dakika sürer. Yerel ve Ethereum ağlarının ortak bir yanı vardır, her ikisi de js uygulaması ile blok zinciri ağı arasında bir bağlantı kurmak için Web3’ü kullanır. Bunun için Ethereum ağına bağlanan bir düğüm oluşturulur. Infura, kendi başınıza oluşturmak yerine bir düğüm oluşturmak için kullanılabilecek genel bir API’dir.

Basitçe Infura‘ya kaydolun ve yeni bir proje oluşturun. Uç noktayı değiştirin ve URL’yi istediğiniz herhangi bir konuma kaydedin. Bundan sonra, tam bir düğüm yüklemeniz gerekmeyecek.

Ethereum Akıllı Sözleşme Dağıtma Adımları

İster halka açık ister özel bir Ethereum blok zinciri üzerinde çalışıyor olun veya Ethereum DApp geliştirme sürecinde çalışıyor olun, akıllı sözleşmeleri dağıtmak önemli bir adımdır. Ethereum ortamlarını destekleyen birçok bağımlılığa ve araca dikkat etmeniz gerekiyor.

Akıllı sözleşmenizi dağıtmak için aşağıdaki adımları izleyin.

1. Gerekli tüm araçları ve bağımlılıkları yükleyin

Başlamak için bazı temel araçlara ihtiyacımız olacak. Aşağıdaki işletim sistemlerinden herhangi birini kullandığınızı varsayarsak.

  • Windows
  • Mac OS X
  • Linux

Şimdi Node.js‘yi indirin (tercihen son sürüm). Ethereum istemcisini çalıştırmak için aşağıdaki Truffle komutunu çalıştırın. Standart JSON RPC API için destek sağlar.

npm i -g truffle

2. Akıllı Sözleşme Oluştur

Solidity‘de Ethereum akıllı sözleşme geliştirme için güvenliği sağlamanıza ve riskleri en aza indirmenize yardımcı olan OpenZeppelin kitaplığını kullanabilirsiniz. OpenZeppelin, ERC standartlarının yerleşik bir uygulamasına sahiptir.

Benzer şekilde, akıllı sözleşmeler yazmak için bir araç görevi gören Remix entegre geliştirme ortamını (IDE) kullanabilirsiniz. Herhangi bir araç yüklemeden erişebileceğiniz web tabanlı bir DApp‘dir.

3. Dağıtmak / Deploy

Akıllı sözleşmeleri dağıtmak için üç farklı yaklaşıma bakacağız.

3.1. Ganache kullanan kişisel bir blok zincirinde

3.2. Herkese açık bir test ağında, yani Rinkeby

3.3. Ethereum ana ağında

Öyleyse her birine tek tek bakalım.

3.1. Ganache kullanarak Kişisel Blok Zincirinde

Akıllı sözleşmeleri yerel blok zincirinde dağıtmak için Ganache‘yi kullanacağız. Akıllı sözleşmeleri çalıştırmanıza, test etmenize ve yürütmenize ve blok zinciri operasyonlarını yönetmenize olanak tanır.

  • Ganache’yi masaüstünüze indirin
  • Tarayıcıda Remix IDE’yi açın. “+” simgesine tıklayın ve dosya adını yazın
  • Test etmek ve derlemek için kod yazın
  • Derleme tamamlandıktan sonra masaüstünüzde Ganache’yi açın ve ‘Quickstart Ethereum’a tıklayın.
  • Artık blok zinciri ağınızda yerel RPC sunucusunda barındırılan 10 varsayılan hesabınız var (HTTP://127.0.0.1:7545)
  • Tarayıcınızda Dağıtım bölümüne gidin ve açılır menüden Web3 Sağlayıcı’yı seçin.
  • GirmekHTTP://127.0.0.1:7545Web3 Provider Endpoint’te ‘Dağıt’ düğmesine tıklayın
  • Şimdi sözleşmeyi genişletin ve akıllı sözleşmenizin çıktısını almak için get_output() işlevine tıklayın.
  • İşlemlerinizi görmek için Ganache -> İşlemler’i açın

3.2. Açık Test Ağı üzerinde, yani Rinkeby

Bu, akıllı sözleşmelerin Rinkeby‘deki Geth ve Solidity derleyicisini kullanarak genel bir test ağında konuşlandırılacağı ikinci yaklaşımdır. Solidity, akıllı sözleşmeler için Ethereum programlama dilidir.

  • npm install -g solc kullanarak solc’yi (Solidity derleyicisi) kurun. Ethereum Virtual Machine’in (EVM) çevirebileceği işlem kodları oluşturmanıza yardımcı olur.
  • Node.js’yi yükleyin
  • Geth’i Mac veya Windows Geth kurulumlarını kullanarak kurun. Tam bir Ethereum düğümünü çalıştırmak için bir komut satırı arabirimidir (CLI). JSON RPC sunucusu, CLI alt komutları ve konsol dahil olmak üzere bir dizi arabirim sunar.
  • CLI’yi Ethereum Komut satırı araçları web sayfasından yükleyin
  • Akıllı sözleşmeleriniz için kod yazmaya başlayın ve kaydedin
  • Terminal penceresini açın ve blok zincirinde dağıtmak için Uygulama İkili Arayüzü (ABI) ve bayt kodundaki kodu derleyin. Dosyaların içeriğini göster
  • Rinkeby testnet’te bir hesap oluşturun. Madeni para baz adresi ve veri dizini gibi bilgileri konsolda görebilirsiniz.
  • Geth’ten akıllı bir sözleşme dağıtmak için parolanızı kullanarak bir hesap açın ve konsolda görüntülenen bilgileri kullanarak ABI ve bayt kodunu ayarlayın.

3.3. Ethereum Mainnet’te

Üçüncü yaklaşım, aşağıdaki araçları kullanarak Ethereum ana ağında akıllı sözleşmeler dağıtmaktır.

  • Web3js: IPC, HTTP veya WebSocket kullanarak bir Ethereum düğümü ile bağlantı kurmanıza izin veren bir dizi kitaplık sunar.
  • Truffle: EVM kullanarak blok zincirler için akıllı sözleşmeler dağıtmak için bir test çerçevesi ve geliştirme ortamıdır.
  • Testrpc: Herhangi bir ek yük olmadan blockchain ile etkileşime girmenizi sağlayan bir blockchain emülatörüdür. Ayrıca, sabit bir miktarda Ether başlatmanıza, geri dönüştürmenize veya sıfırlamanıza olanak tanır.

Gerçek Ethereum ağına akıllı sözleşme dağıtmak için hesabınızda Ether olması gerekir. İki tür Ethereum hesabı vardır. Birincisi, tamamen akıllı sözleşme tabanlı ve kodla kontrol edilen ‘Sözleşme hesabı‘. Diğeri ise insanların ağa katıldığı ‘EOA’dır.

  • Web3js, Truffle ve testrpc’yi yükleyin
  • Testrpc’yi açın ve bir örnek çalıştırın. eth-lightwallet’tan genel ve özel anahtarların bilgilerini alın ve config.js dosyanızda güncelleyin
  • Akıllı sözleşmeleri dağıtmak için Truffle kullanacağız. Dağıtım işlemi için Ethereum hesabınızda sadece bir miktar ether bulunduğunu unutmayın.
  • Terminali açın, Truffle dizininize gidin ve şu komutu çalıştırın: “truffle deploy”
  • Akıllı bir sözleşme dağıtılacak ve adresini alacaksınız

Umarım bu makale, akıllı sözleşmelerinizi Ethereum blok zincirinde dağıtmanıza yardımcı olacak kadar yararlı olmuştur.

Akıllı sözleşme geliştirme 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.

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!

Hasan YILDIZ, Girişimci. Doktora Öğrencisi. Yazmayan YAZILIMCI. Veri Şeysi. Eğitmen...

Yazarın Profili
İlginizi Çekebilir

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