EVM SENDER, Metamask kullanmadan işlem gönderip almak
Rues Community olarak birçok node ve platform testnete katılıyoruz. Bu testnetlerin bir kısmı EVM uyumlu projelere aittir. EVM, Ethereum Virtual Machine'in (Ethereum Sanal Makinesi) kısaltmasıdır ve Ethereum blok zinciri üzerinde çalışan akıllı sözleşmeleri yürütmek ve uygulamaları çalıştırmak için kullanılır. EVM, Ethereum ağında etkileşimli ve programlanabilir uygulamalar oluşturmak için kullanılan bir sanal makinedir. Yasal sözleşmeleri veya programları içeren akıllı sözleşmelerin otomatik olarak yürütülmesini sağlar.
Hangi ağlar EVM destekler?
Kısacası Metamask Wallet kullanarak işlem yaptığımız tüm ağlar. Örneğin, Binance Smart Chain (BSC), Avalanche (AVAX), Harmony (ONE), Polygon (MATIC), Optimism (OP), Arbitrum (ARB), Zksync Era, Scroll, Base vb.. adını sayamadığım kadar EVM uyumlu birçok blockchain projeleri bulunmaktadır.
Bugün sizlere anlatacağım konu EVM destekleyen projeler için bilhassa testnetlerde ağı test etmek ve yüksek adette token gönderim-alma yapabileceğiniz bir uygulama. Bunu yapabilmek için herhangi bir özellikte sanal sunucu ve geth (GoEthereum) fonksiyonunu kullandığı için go kullanacağız. Ayrıca birbirleri arasında gönderim yapacağınız iki adet wallet privatekeyleri, ağa ait herhangi bir RPC ile test tokene ihtiyacınız olacaktır.
Sunucumuzu güncelleyelim:
sudo apt-get update sudo apt-get upgrade -y
Gerekli dosyaları yükleyip kuruyoruz:
sudo apt install git curl wget tar lz4 unzip jq build-essential pkg-config clang bsdmainutils make ncdu -y
Go Yüklüyoruz:
cd $HOME version="1.20.4" wget "https://golang.org/dl/go$version.linux-amd64.tar.gz" sudo rm -rf /usr/local/go sudo tar -C /usr/local -xzf "go$version.linux-amd64.tar.gz" rm "go$version.linux-amd64.tar.gz" echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile source $HOME/.bash_profile
Aşağıdaki Repoyu Klonluyoruz:
git clone https://github.com/ahmkah/evm-sender.git
Binary Kuruyoruz:
cd evm-sender make install
Kullanım Komutları:
ETH Sender Usage: evm-sender [flags] evm-sender [command] Available Commands: help Help about any command init Initialize config start Start sender version Print the CLI version Flags: -h, --help help for evm-sender
İlk olarak /root/.evm-sender/config.toml içine girerek yapmak istediğimiz işlem aralıklarını ve cüzdanlarımızı tanımlıyoruz. Aşağıdaki örnek şablonu kopyalayıp config.toml içine yapıştırıyoruz.
[DEFAULT] rpc = "https://rpc:443" /Buraya işlem yapacağınız ağa ait RPC'yi " " içine yazın. private_key = "" /ilk wallet privatekey " " içine yazın. recipient = "" /işlemi göndereceğiniz adresi " " içine yazın. fixedValue = 0 / göndereceğiniz token miktarı 10^18 olarak yazın gas_limit = 22000 /işlemlerin gas limitlerini ağa göre ayarlayınız memo = "" /Ağa ait scanner sayfasında gözükmesini istediğiniz açıklama txcount = 3 /inTime süresi içinde yapmasını istediğiniz işlem sayısı inTime = "60" /60sn ile tanımlı ama süreyi sn cinsinden ayarlayabilirsiniz min = 1000000000000000000 max = 2000000000000000000 [SEND-BACK] enable = false /true yazarsanız etkinleştirirsiniz tek taraflı işlem yapar private_key = "" /ikinci wallet privatekey " " içine yazın. recipient = "" /bu cüzdandan işlemi göndereceğiniz adresi " " içine yazın. fixedValue = 1000000000000000000 /göndereceğiniz token miktarı 10^18 olarak yazın gas_limit = 22000 memo = "" txCount = 1 /inTime süresi içinde yapmasını istediğiniz işlem sayısı inTime = "60" /60sn ile tanımlı ama süreyi sn cinsinden ayarlayabilirsiniz
Gerekli tüm değişiklikleri yaptıktan sonra CTRL+X y enter yapıp kaydedip kapatmayı unutmayın.
nano /root/.evm-sender/config.toml
Aşağıdaki örnekte EVM uyumlu bir testnette ağda işlem yoğunluğu oluşturmak için kendi sunucumdan paylaştığım RPC'mi kullandım. 1dakika içinde 34 adet A cüzdanımdan B cüzdanıma 0,18ATN test token iletip, aynı süre içinde B cüzdanımdan A cüzdanıma 0,18ATN test token ilettim. Yani 1 dakika içinde toplam ağda 68işlem yaptım.
Yapılandırma yollarını evm-sender içinde tanımlamak :
evm-sender init
İşlemi başlatmak:
Öncelikle bir screen açıp bu komudu içinde başlatmanızı öneriyorum çıktı olarak txhash ilettiği için ana konsol ekranda çalıştırmanızı önermem. Screen içinden çıkmak için CTRL+A bekle D
tekrar screene girmek için "screen -r -d send" kullanabilirsiniz.
screen -S send evm-sender start
Ağ bilgilerini RPC üstünden aldığı için hangi ağda olduğumuzu tanımlamamıza gerek yok bu versiyonda RPC'den veri çektiği için sadece ağın işlem ücretlerinde fee olarak kullanılan token gönderebiliyoruz yeni yayınlanacak versiyonlar ile farklı bir token göndermek için akıllı kontrat yazarak bunu yapabileceğiz.
Kaynak: https://github.com/Staketab
Başarılar dilerim!