قرارداد هوشمند ترون چیست و چگونه کار میکند؟

قرارداد هوشمند ترون (Tron Smart Contract) برنامهای است که روی ماشین مجازی ترون یا TVM اجرا میشود و میتواند منطق توکنها، DAppها، دیفای و تراکنشهای خودکار را مدیریت کند. ازآنجاکه TVM تا حد زیادی با EVM اتریوم سازگار است، بسیاری از قراردادهای Solidity را میتوان با تغییرات محدود و کامپایل مجدد برای شبکه TRON آماده کرد.
ثبتنام سریع در سرمایکس
شماره موبایل خود را وارد کنید...
در این مطلب به بررسی ساختار و نحوه کار قراردادهای هوشمند ترون، اجرای آن با TVM و تفاوت آن با EVM در اتریوم میپردازیم.
قرارداد هوشمند چیست؟ مرور سریع مفهوم پایه
قرارداد هوشمند (Smart Contract) یک برنامه خودکار روی بلاک چین است که با دریافت تراکنش یا برقرارشدن شرایط مشخص، دستورهای از پیش تعیینشده را اجرا میکند. پس از استقرار قرارداد، شما میتوانید از طریق کیف پول یا یک برنامه غیرمتمرکز با توابع آن تعامل کنید. نتیجه هر تعامل معتبر نیز در وضعیت بلاک چین ثبت میشود و همه نودها باید بر سر آن به توافق برسند.
مثلاً میتوان یک قرارداد هوشمند را طوری نوشت که اگر کاربر ۱۰۰ تتر پرداخت کرد، یک توکن برای او ارسال شود. این فرایند طبق کدی انجام میشود که از قبل در قرارداد ثبت شده باشد. در شبکه ترون میز قراردادهای هوشمند عمدتا با زبان سالیدیتی (Solidity) نوشته و سپس کامپایلر (Compiler) آن را به کد قابلفهم برای ماشین مجازی ترون (TVM) تبدیل میکند. در قدم بعدی، TVM این کد را اجرا و نتیجه را روی بلاک چین ثبت میکند.
ماشین مجازی ترون TVM و سازگاری آن با اتریوم
برای اینکه سادهتر بفهمیم ماشین مجازی ترون (TVM) چیست، میتوانید آن را موتور اجرای قراردادهای هوشمند در شبکه Tron در نظر بگیرید. همانطور که گفتیم، قراردادها ابتدا با زبانهایی مثل سالیدیتی نوشته و سپس به بایتکد (Bytecode) تبدیل میشوند؛ سپس TVM این بایتکد را میخواند و اجرا میکند.
هر نود کامل یا فول نود (Full Node) ترون یک نسخه از TVM را اجرا میکند تا نتیجه قرارداد در همه بخشهای شبکه یکسان باشد. مثلاً وقتی قراردادی باعث انتقال توکن میشود، TVM محاسبه میکند موجودی حسابها و اطلاعات ذخیرهشده در قرارداد دقیقاً چگونه تغییر کنند.
تصویر پایین، روند اجرای قرارداد هوشمند در شبکه ترون را نشان میدهد. این قراردادها با سالیدیتی نوشته و روی TVM اجرا میشوند؛ جاوااسکریپت (JS) نیز با کمک ترون وب (TronWeb) ارتباط برنامه با بلاک چین، فراخوانی توابع و ثبت تراکنشها را ممکن میکند. ترونوب (TronWeb) یک کتابخانه جاوااسکریپتی برای ارتباط سایتها و اپلیکیشنها با شبکه ترون است.

مطالعه وایت پیپر ترون و مستندات توسعه آن به شما کمک میکند ساختار فنی شبکه را بهتر بشناسید. مهم است بدانید که این اطلاعات برای تحلیل ترون مفید است، اما بهتنهایی آینده قیمت ترون یا اعتبار یک پروژه ساختهشده روی شبکه را مشخص نمیکند.
زبان برنامه نویسی ترون؛ چرا بسیاری از قراردادهای Solidity اتریوم روی ترون قابل انتقالاند؟
همانطور که پیش از این نیز گفتیم، زبان برنامه نویسی قرارداد هوشمند ترون عمدتا سالیدیتی است؛ همان زبانی که برای توسعه قراردادهای اتریوم استفاده میشود. بههمیندلیل، ماشین مجازی ترون شباهت و سازگاری زیادی به ماشین مجازی اتریوم یا EVM دارد؛ بااینحال، انتقال قرارداد همیشه مستقیم و بدون دردسر نیست.
طبق مستندات رسمی ترون، برای انتقال قرارداد باید کد را با نسخه سازگار کامپایلر solc دوباره کامپایل و سپس در محیط ترون آزمایش کنید. در این مرحله لازم است عملکرد توابع، فرمت آدرسها، APIها، ابزارهای توسعه و نحوه محاسبه هزینه منابع را بررسی کنید. بنابراین، بهتر است انتقال قرارداد از اتریوم به ترون را یک مهاجرت فنی همراه با تست و اصلاح کد درنظر بگیرید.
تفاوت TVM با EVM اتریوم
تفاوت TVM و EVM بیشتر در زیرساخت شبکه و نحوه محاسبه منابع دیده میشود. هر دو ماشین میتوانند قراردادهای سالیدیتی را اجرا کنند، اما اتریوم هزینه را با Gas محاسبه میکند و ترون از انرژی و پهنای باند استفاده میکند.
در جدول زیر تفاوت TVM و EVM را براساس معیارها مهم این حوزه بررسی کردهایم:
| معیار | TVM ترون | EVM اتریوم |
|---|---|---|
| زبان رایج قرارداد | Solidity | Solidity |
| واحد اجرای محاسبات | انرژی | گس |
| هزینه داده تراکنش | پهنای باند | گس |
| تامین منابع | استیک TRX یا سوزاندن TRX | پرداخت کارمزد با ETH |
| فرمت رایج آدرس | آدرس ترون با نمایش Base58 | آدرس هگزادسیمال با 0x |
| ابزارهای شبکه | TronWeb، TronBox و TronLink | Web3، Hardhat و کیف پولهای EVM |
| سازگاری قرارداد | سازگاری زیاد با EVM، همراه با تفاوتهای فنی | محیط اصلی قراردادهای EVM |
برخی آپکدها (Opcode)، یعنی دستورهای سطح پایین ماشین مجازی، در TVM و EVM رفتار متفاوتی دارند. اگر میخواهید یک قرارداد اتریومی را به ترون منتقل کنید، باید این تفاوت را جدی بگیرید؛ چون کامپایل موفق تضمین نمیکند قرارداد در هر دو شبکه یکسان اجرا شود. پس، بخشهای مرتبط با دادههای بلاک، آدرسها، هزینه اجرا و تعامل با قراردادهای دیگر را دوباره آزمایش کنید.
مدل هزینه قرارداد هوشمند در ترون؛ Energy و Bandwidth بهجای Gas
در معماری معرفیشده در وایت پیپر ترون و مستندات فنی این شبکه، هزینه تراکنشها با دو منبع اصلی مدیریت میشود: پهنای باند (Bandwidth) و انرژی (Energy):
- پهنای باند: برای انجام تراکنشهای ساده مانند نقلوانتقال TRX یا توکنهای TRC-10 لازم است. هر آدرس، روزانه ۶۰۰ واحد پهنای باند بهصورت رایگان از سمت شبکه دریافت میکند که برای ارسال ۱ تا ۲ تراکنش کافی است.
- انرژی: قدرت محاسبات لازم برای اجرای قرارداد هوشمند در ماشین مجازی ترون (TVM) و عملیات پیچیدهتر مانند سواپ توکنها یا انتقال توکنهای TRC20 روی این شبکه را پوشش میدهد. برخلاف پهنای باند، شبکه انرژی رایگان به حسابها نمیدهد.
شما میتوانید با استیک TRX که برخی با عنوان اشتباه استخراج ترون آن را میشناسند، بخشی پهنای باند بیشتر و انرژی موردنیاز خود را برای انجام تراکنشها یا تعامل با برنامههای غیرمتمرکز این شبکه تأمین کنید. اگر منابع حساب کافی نباشد، شبکه برای پوشش هزینه، مقداری ارز TRX میسوزاند. بنابراین، هزینه اجرای قرارداد هوشمند به پیچیدگی قرارداد، منابع حساب و پارامترهای شبکه بستگی دارد.
مدل منابع ترون در بسیاری از تعاملات میتواند هزینه مستقیم کاربر را کاهش دهد، اما درست نیست که همه تراکنشها را همیشه ارزانتر از اتریوم بدانیم.
مراحل کلی ساخت قرارداد هوشمند روی ترون
ساخت قرارداد هوشمند روی Tron با نوشتن کد آغاز میشود، اما پیش از استقرار نهایی باید چند مرحله فنی و امنیتی را طی کنید:
تا ۱۵٪ سود سالانه، بدون معامله
در استخر مشارکت سرمایکس، بدون نیاز به ترید یا تحلیل بازار، تا ۱۵٪ سود سالانه دریافت کن و دارایی دیجیتالت رو به جریان بنداز
- منطق قرارداد را با سالیدیتی بنویسید.
- کد را با TronBox تست یا در Tron-IDE کامپایل و بهصورت آزمایشی اجرا کنید.
- قرارداد را با نسخه مناسب کامپایلر سالیدیتی، کامپایل کنید.
- اگر از Tron-IDE استفاده میکنید، یک کیف پول مانند ترونلینک (TronLink) را متصل کنید. در TronBox نیز باید شبکه و حساب استقرار را در تنظیمات پروژه مشخص کنید.
- قرارداد را ابتدا روی یکی از شبکههای آزمایشی Nile یا Shasta مستقر کنید.
- تراکنشها، رویدادها و نتیجه اجرای قرارداد را در نسخه مربوط به همان شبکه در تروناسکن (TronScan) بررسی کنید.
- پس از انجام تستهای لازم و رفع خطاها، قرارداد را روی شبکه اصلی مستقر کنید.
مستندات ترون برای ایجاد، کامپایل، استقرار و تعامل با قرارداد راهنماهای جداگانهای ارائه کرده است. اگر از ترونلینک استفاده میکنید، پیش از دیپلوی مطمئن شوید شبکه درست، یعنی Mainnet، Nile یا Shasta، انتخاب شده است.
برای آزمایش، کیف پول ترون جداگانهای بسازید و کلید خصوصی یا عبارت بازیابی حساب اصلی خود را وارد محیط تست نکنید. توکنهای شبکه آزمایشی ارزش مالی ندارند و فقط برای توسعه و آزمایش قراردادها استفاده میشوند.
کاربردهای رایج قراردادهای هوشمند در اکوسیستم ترون

قراردادهای هوشمند ترون در ساخت توکنهای TRC-20، پروتکلهای دیفای، صرافیهای غیرمتمرکز، بازیها، ان اف تیها و انواع برنامه غیرمتمرکز (Dapp) ترون کاربرد دارند. وقتی از این خدمات استفاده میکنید، قرارداد هوشمند منطق اصلی عملیات را اجرا میکند و کیف پول یا رابط وب فقط مسیر ارتباط شما با قرارداد است.
توکن سازی TRC-20
TRC-20 یک استاندارد فنی برای ایجاد توکنهای مبتنی بر قرارداد هوشمند در شبکه ترون است. قرارداد هوشمند TRC20 توابع پایهای مانند انتقال توکن، مشاهده موجودی و صدور مجوز خرجکردن را با ساختاری مشخص پیادهسازی میکند.
این استاندارد با استاندارد ERC20 اتریوم سازگار است و کیف پولها و صرافیها با شناخت رابط آن میتوانند از توکنهای مختلف پشتیبانی کنند. بسیاری از توکنها و استیبل کوینهای شبکه ترون نیز از همین استاندارد استفاده میکنند.
بیشتر بخوانید: USDT در شبکههای ERC-20 و TRC-20
دیفای JustLend و SunSwap
جاست لند (JustLend) یک پروتکل وامدهی و وامگیری غیرمتمرکز در شبکه ترون است. در جاست لند میتوانید دارایی خود را سپردهگذاری کنید، سود بگیرید، وثیقه قرار دهید یا وام ارز دیجیتال دریافت کنید. قراردادهای هوشمند این پروتکل محاسبه سود، مدیریت وثیقه، وامگیری و تسویه را بهصورت خودکار انجام میدهند.
سان سواپ (SunSwap) نیز یک صرافی غیرمتمرکز برای مبادله توکنها و تأمین نقدینگی محسوب میشود. این پلتفرم قراردادهای هوشمند را برای مبادله توکن، مدیریت استخرهای نقدینگی و مسیریابی معاملات به کار میگیرد.
این دو پروتکل نشان میدهند قرارداد هوشمند چگونه خدمات مالی را بدون اجرای دستی هر تراکنش مدیریت میکند.
بازیها و NFT
در بازیهای بلاک چینی، قرارداد هوشمند میتواند مالکیت آیتمها، خرید و فروش داراییها و پرداخت پاداش به بازیکنان را مدیریت کند. برای ان اف تیها نیز استاندارد TRC-721 چارچوب ساخت و انتقال این توکنها را مشخص میکند.
با استفاده از قرارداد میتوانید مالک هر ان اف تی و شرایط انتقال آن را روی بلاک چین بررسی کنید؛ اما باید در نظر داشته باشید که قرارداد هوشمند بهتنهایی کیفیت بازی، اعتبار پروژه یا ارزش NFT را تضمین نمیکند.
روی دیگر سکه: چرا دسترسی ساده به قراردادهای ترون میتواند ریسک کلاهبرداری را بالا ببرد؟
ساخت قرارداد هوشمند به معنی معتبر بودن پروژه نیست. هر توسعهدهندهای میتواند قراردادی برای ایجاد توکن، دریافت مجوز انتقال یا مدیریت سرمایه کاربران بنویسد و ظاهر فنی قرارداد نمیتواند نیت سازنده را ثابت کند. کلاهبرداران ممکن است توکنهای بیارزش، طرحهای پانزی، قراردادهای دارای دسترسی مخفی یا صفحات جعلی اتصال کیف پول بسازند.
کاهش مانع فنی و هزینه استقرار برای توسعهدهندگان واقعی مفید است، اما ایجاد پروژههای مشکوک را نیز سادهتر میکند. امنیت قرارداد هوشمند ترون به طراحی کد، سطح دسترسیها، آزمایش و ممیزی وابسته است. پیش از خرید ترون یا سرمایهگذاری در توکنهای این شبکه، سطح دسترسی قرارداد، اعتبار تیم، نتایج ممیزی و مجوزهای کیف پول را برای کاهش ریسک کلاهبرداری ترون بررسی کنید.
چگونه یک قرارداد هوشمند مشکوک را قبل از تعامل بررسی کنیم؟
تعامل با یک قرارداد هوشمند میتواند به انتقال دارایی یا صدور مجوز دسترسی به کیف پول شما منجر شود؛ بنابراین، پیش از تأیید هر تراکنش باید مطمئن شوید قرارداد متعلق به پروژه اصلی است و نشانه مشکوکی ندارد. در ادامه، مراحل بررسی اولیه قرارداد در سایت TronScan را میبینید. تروناسکن مرورگر بلاک چین ترون است و اطلاعات قراردادها، تراکنشها، آدرسها و توکنها را نمایش میدهد.
۱. در صفحه اصلی سایت TronScan، آدرس قرارداد را در نوار جستوجو وارد کنید. برای دقیقتر شدن نتیجه، از منوی کنار نوار جستوجو گزینه «Contracts» را انتخاب کنید.

۲. پس از وارد کردن آدرس، قرارداد نمایشدادهشده را انتخاب کنید. نام توکن و آدرس آن را با اطلاعات رسمی پروژه تطبیق دهید تا وارد صفحه قرارداد جعلی یا مشابه نشوید.

۳. در صفحه قرارداد، وارد بخش «Contract» و سپس تب «Code» شوید. عبارت «Contract Source Code Verified» نشان میدهد که کد منتشرشده با بایتکد ثبتشده روی بلاک چین مطابقت دارد. این تأیید بهتنهایی امن یا معتبر بودن پروژه را تضمین نمیکند.

پیش از تایید تراکنش، مقدار مجوز approve، آدرس گیرنده و نوع تابع را بررسی کنید. از اتصال کیف پول به صفحات ناشناخته خودداری کنید و برای آزمایش برنامههای جدید، حسابی با موجودی محدود در نظر بگیرید.
جمعبندی
قرارداد هوشمند ترون برنامهای است که روی TVM اجرا میشود و برای ساخت توکن، DApp، دیفای و ان اف تی کاربرد دارد. این قراردادها معمولاً با سالیدیتی نوشته میشوند و بسیاری از کدهای اتریومی پس از تست و کامپایل مجدد روی ترون قابلاستفادهاند. بااینحال، هر قرارداد هوشمندی معتبر یا امن نیست. پیش از تعامل، آدرس، سطح دسترسی و کد قرارداد را بررسی کنید.
سوالات متداول
قراردادهای هوشمند ترون معمولا با زبان Solidity نوشته میشوند و روی ماشین مجازی ترون اجرا میشوند. پیش از انتشار، باید آنها را با ابزارهای سازگار با TRON تست کنید.
TVM و EVM هر دو از Solidity پشتیبانی میکنند، اما در مدل هزینه، آدرسدهی، برخی دستورها و ابزارهای اتصال به شبکه تفاوت دارند.
هزینه اجرای قرارداد هوشمند ترون به Energy و Bandwidth مصرفی بستگی دارد. با استیک TRX میتوانید بخشی از منابع را تامین کنید؛ در غیر این صورت TRX میسوزد.
ترون از مدل منابع مبتنی بر پهنای باند (Bandwidth) و انرژی (Energy) استفاده میکند که در مقایسه با مدل گس اتریوم، هزینه اجرای تراکنشها و قراردادهای هوشمند را بهطور قابلتوجهی کاهش میدهد.
امنیت هر قرارداد هوشمند به کیفیت کدنویسی و انجام ممیزی امنیتی بستگی دارد، نه صرفاً به بلاکچین میزبان. توضیه میکنیم پیش از تعامل با هر قرارداد ناشناخته، آن را در TronScan بررسی کنید.



