Bu proje, belirli bir zkSync cüzdanına gelen tokenları otomatik olarak başka bir cüzdana transfer eden bir bottur. Proje, ethers.js ve Node.js kullanılarak geliştirilmiştir ve Dockerize edilmiştir.
- Bu depoyu klonlayın:
git clone https://github.com/codeesura/zk-transfer-bot.git
- Proje dizinine gidin:
cd zk-transfer-bot
- Gerekli Node.js bağımlılıklarını yükleyin:
npm install
Projenin kök dizininde config
klasörü altında iki yapılandırma dosyası bulunmaktadır: tokens.json
ve wallets.json
. Tokens.json zaten yapılandırılmış bir dosyadır.
Bu dosya, cüzdan bilgilerini ve transfer edilecek adresleri içerir. Örneğin:
{
"providerUrl": "https://zksync-rpc.felinaprotocol.io/",
"wallets": [
{
"privateKey": "YOUR_PRIVATE_KEY_1",
"transferToAddress": "ADDRESS_TO_TRANSFER_TO_1"
},
{
"privateKey": "YOUR_PRIVATE_KEY_2",
"transferToAddress": "ADDRESS_TO_TRANSFER_TO_2"
}
]
}
- Projeyi başlatın:
npm i && npm start
- Docker imajını oluşturun:
docker build -t my-node-app .
- Docker konteynerini çalıştırın:
docker run my-node-app
Bu dosya, token transferlerini izler ve transfer işlemlerini gerçekleştirir. transferTokens
fonksiyonu, bir cüzdanın bakiyesini kontrol eder ve belirli bir adrese transfer eder. monitorWallet
fonksiyonu ise belirli bir cüzdanı izler ve transfer olaylarını dinler.
Kodda, ağ hataları durumunda işlemleri tekrar denemek için bir retry mekanizması bulunmaktadır. Bu mekanizma, belirli bir deneme sayısına kadar işlemleri tekrar dener ve her başarısız denemede belirli bir süre bekler.
Bu proje MIT lisansı altında lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına bakın.