انجمن توسعه قرارداد هوشمند

تراکنش در قرار داد هوشمند

سلام وقت بخیر.
بنده میخوام یه مقداری ether تو قرار داد هوشمند بریزم و بعد، از قرار داد با یک تراکنش دیگه اونو به یک آدرس دیگه بفرستم.
کد ارسال از قرار داد رو در ادمه آوردم. جالبیش اینه که تو تراکنشی که باعث خارج شدن اتر از قرار داد میشه اولا که هیج اثری از آدرسی که اتر بهش رفته نیست ثانیا در این تراکنش قرار داد به عنوان گیرنده و کسی که function مربوط به انتقال رو call کرده به عنوان فرستنده هست.
این موضوع من رو یکم گیج کرده. ممنون میشم راهنمایی کنیدCapture

2 Likes

من در ادامه اسکرین تراکنش ها رو هم آوردم.
تراکنشی که value اون 1 ether ثبت شده به مربوط به انتقال اتر به قرار داد هست.
و اونی که مربوط به خروج 1 اتر از قرار داد هست همونی هست که value 0 داره که این صفر بودن value هم خودش عجیبه

جواب کوتاه: در قسمت Internal Transaction در etherscan اگر نگاه کنید اتر خروجی را میبینید.

شما کل این فرایند را می تونید در یک تراکنش انجام بدید٫ فقط کافیه که تابعی که تعریف کردید payable باشه٫ که در یک تراکنش ۱ اتر بفرستید و اون رو به آدرسی که در ورودی تابع هست منتقل کنه.

اگر کاربردی که مد نظرتون هست رو بگین بهتر میشه کمکتون کرد.

1 Likes