EVM SENDER, Metamask kullanmadan işlem gönderip almak

5jeB...Rjjw
4 Jan 2024
124

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!

Get fast shipping, movies & more with Amazon Prime

Start free trial

Enjoy this blog? Subscribe to ahmkah

11 Comments