در این نسخه بهبود هایی داشته که سعی میکنم در زیر کامل توضبح داده بشن ، این توضیحات برای بقیه برنامه هاتون هم به درد میخوره و میتونید از انها برای برنامه های دیگه ای هم که مینویسید استفاده کنید.
استفاده از (async): سرعت درخواستهای HTTP رو بیشتر شد. از کتابخونههایی مثل aiohttp برای درخواستهای HTTP و asyncio برای مدیریت وظایف ناهمگام استفاده شده
کاهش تعداد درخواستهای HTTP: اطلاعات مربوط به قیمت اتریوم و توکنها رو کش میکنه و فقط زمانی که لازم باشه دوباره بهروزرسانی میکنه. این کار تعداد درخواستهای HTTP رو کم میکنه.
بهینهسازی عملیات ارسال تراکنش: مدیریت گس بهتر شد و تراکنش ها دسته ای هم میتونن انجام بشن
استفاده از چندنخی (multi-threading): استفاده از threading برای اجرای همزمان وظایف میتونه عملکرد کلی رو کمی بهتر کنه
افزایش امنیت: مطمئن بشید که کلیدهای خصوصی و اطلاعات حساس به درستی مدیریت و محافظت میشن. مثلاً میتونید از متغیرهای محیطی (environment variables) برای ذخیره کلیدهای خصوصی استفاده کنید.
استفاده از os.getenv برای خواندن متغیرهای محیطی به جای نوشتن مستقیم اطلاعات حساس در کد
استفاده از aiohttp برای درخواستهای HTTP به صورت ناهمگام
استفاده از asyncio برای مدیریت وظایف ناهمگام
بازسازی تابع schedule_task برای اجرا در یک حلقه جدید asyncio
فایل پروفایل کاربر مانند ~/.bashrc یا ~/.bash_profile یا ~/.zshrc را باز کنید متغیرهای خود را به این فایل اضافه کنید، مانند:
export INFURA_URL="https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID"
export WALLET_ADDRESS="YOUR_WALLET_ADDRESS"
export PRIVATE_KEY="YOUR_PRIVATE_KEY"
export RECIPIENT_WALLET_ADDRESS="RECIPIENT_WALLET_ADDRESS"
export ETHERSCAN_API_KEY="YOUR_ETHERSCAN_API_KEY"
export IFTTT_EVENT_NAME="YOUR_EVENT_NAME"
export IFTTT_KEY="YOUR_IFTTT_KEY"
فایل را ذخیره کنید و دستور source ~/.bashrc یا source ~/.zshrc را اجرا کنید تا تغییراتی که دادین براتون اجرا بشه
حالا مثل همون دایکیومنت اصلی از کد استفاده کنید