راهاندازی سریع قراردادهای هوشمند در گاناش با استفاده از Truffle:
ترافل یک محیط توسعه قراردادهای هوشمند در بلاکچین اتریوم است. این ابزار به توسعهدهندگان کمک میکند تا قراردادهای هوشمند خود را بهراحتی و با سرعت بیشتری توسعه و آزمایش کنند.
ترافل دارای مجموعهای از ابزارها و کتابخانههایی است که به برنامهنویسان کمک میکند تا به راحتی قراردادهای هوشمند خود را توسعه، آزمایش و استقرار کنند. این ابزارها شامل مولفههایی مانند:
Truffle Suite: این سوئیت شامل محیط مرکزی ترافل است که امکاناتی مانند کامپایل، مهاجرت و آزمون قراردادهای هوشمند را فراهم میکند. همچنین، این سوئیت ابزارهایی برای توسعه دیاپهای وب مبتنی بر بلاکچین را نیز ارائه میدهد.
:Truffle Contracts این کتابخانه به برنامهنویسان اجازه میدهد قراردادهای هوشمند خود را با استفاده از زبان Solidity توسعه دهند. همچنین، این کتابخانه امکاناتی برای تست و تعامل با قراردادهای هوشمند را فراهم میکند.
:Ganache این ابزار اجرایی شبیهسازی شده است که برای توسعه و آزمون محلی قراردادهای هوشمند استفاده میشود. با استفاده از Ganache، میتوانید شبکههای خصوصی بلاکچین را بر روی کامپیوتر خود ایجاد کنید و با آنها تعامل کنید.
:Truffle Migrate این ابزار به برنامهنویسان کمک میکند تا قراردادهای هوشمند را بین محیطها و شبکههای مختلف انتقال دهند. با استفاده از Truffle Migrate، میتوانید قراردادهای هوشمند خود را بین شبکههای توسعه، آزمایشی و اصلی منتقل کنید.
ترافل به عنوان یک ابزار رایج در جامعه توسعهدهندگان بلاکچین Ethereum شناخته شده است و به طور گسترده در فرآیند توسعه، آزمون و استقرار قراردادهای هوشمند استفاده میشود. این ابزارها به برنامهنویسان امکان میدهند تا قابلیتهای توسعه و مدیریت قراردادهای هوشمند خود را بهبود بخشند و فرآیند توسعه را سریعتر و سادهتر کنند.
ترافل یکی از محبوبترین محیطهای توسعه سالیدیتی است و توسط توسعهدهندگان بسیاری در سراسر جهان استفاده میشود. این ابزار به توسعهدهندگان کمک کرده است تا قراردادهای هوشمند پیچیده و پیشرفتهای را ایجاد کنند که در زمینههای مختلفی از جمله امور مالی، بازی و مدیریت زنجیره تأمین استفاده میشوند.
راهنمای کامل نصب و ایجاد تمپلت ترافل در ادامه توضیح داده میشود.
نیازمندیها:
- Node.js و npm: ترافل بر روی Node.js اجرا میشود، بنابراین باید Node.js و npm را روی سیستم خود نصب داشته باشید. Node.js را میتوانید از سایت https://nodejs.org/en دانلود کنید.
هنگامی که Node.js را نصب میکنید، npm نیز به طور خودکار نصب میشود. بنابراین، اگر قصد دارید برنامههای Node.js بسازید، نیازی به نصب جداگانه npm ندارید.
- ویرایشگر کد: برای نوشتن قراردادهای هوشمند و فایلهای تست، نیاز به یک ویرایشگر کد دارید. ویرایشگرهای کد محبوبی مانند Visual Studio Code ،… برای این کار مناسب هستند. برای دریافت ویژوال استودیو کد، میتوانید آن را از سایت https://visualstudio.microsoft.com/downloads/ دانلود کنید.
- Ganache : میتوانید گاناش GUI را از وبسایت https://trufflesuite.com/ganache/ دانلود کنید.
توضیحات:
دستورات گفته شده برای سیستم عامل ویندوز ارائه شدهاند. Visual Studio Code به عنوان ویرایشگر کد مورد استفاده قرار گرفته است. برای اجرای دستورات، میتوانید از cmd یا ترمینال ویژوال استودیو کد استفاده کنید.
نصب ترافل با استفاده از npm:
ابتدا، یک پوشه ایجاد کنید و با استفاده از Visual Studio Code آن را باز کنید. برای نصب Truffle با استفاده از npm، دستور زیر را در ترمینال اجرا کنید:
npm install -g truffle
این دستور، Truffle را به صورت سراسری نصب میکند، به این معنی که شما میتوانید از آن در هر پوشه از سیستم خود استفاده کنید و تنها یک بار نیاز است که اجرا شود. در ادامه، به بحث در مورد راهاندازی یک پروژه با استفاده ازترافل و گاناش خواهیم پرداخت.
راهاندازی یک پروژه ترافل:
قدم 1: پس از نصب ترافل، میتوانید یک پروژه ترافل جدید ایجاد کنید. برای انجام این کار، دستور زیر را در ترمینال اجرا کنید. این دستور یک ساختار پروژه ترافل جدید ایجاد میکند.
truffle init
این دستور یک پروژه ترافل جدید در دایرکتوری فعلی شما ایجاد میکند. این پروژه شامل ساختار دایرکتوری زیر است:
قدم 2: با اجرای دستورزیر، فایل قرارداد HelloWorld به طور خودکار در دایرکتوری contracts ایجاد میشود.
truffle create contract HelloWorld
توضیحات :
در دستور “truffle create contract HelloWorld”، میتوانید نام فایل قرارداد را پس از اجرای دستور تغییر دهید و نام دلخواه فایل را مستقل از نام قرارداد تعیین کنید. بعد از ایجاد فایل قرارداد، میتوانید کدهای قرارداد مورد نظر خود را در آن بنویسید.
توجه داشته باشید که شما باید ویرژن Solidity را بر اساس نیازهای خودتان تعیین کنید.
قدم 3: با اجرای دستورزیر، فایل migrations به طور خودکار در دایرکتوری migrationsایجاد میشود.
truffle create migration helloworld
توضیحات:
در ابتدای نام فایل مهاجرت ایجاد شده توسط دستور “truffle create migration helloworld”، یک تایم استمپ قرار میگیرد. این تایم استمپ به این منظور است که بتوان فایل مهاجرت را به راحتی با تاریخ و ساعت ایجاد آن شناسایی کرد. اگر میخواهید نام فایل مهاجرت را تغییر دهید یا تایم استمپ را بردارید، میتوانید بعد از ایجاد فایل مهاجرت، نام فایل را به صورت دستی تغییر دهید. با این حال، توجه داشته باشید که یک عدد در ابتدای نام فایل باید قرار بگیرد که نشان دهنده ترتیب اجرای مهاجرتها است. به عنوان مثال، میتوانید نام فایل را با 1، 2، و غیره شروع کنید.
در هر صورت، باید دقت باشید که تغییرات در نام فایل مهاجرت ترتیب اجرای مهاجرتها را تحت تأثیر قرار دهد، بنابراین در هنگام تغییرات باید از آنها آگاه باشید و ترتیب صحیح اجرای مهاجرتها را تضمین کنید.
در دستور “truffle create migration HelloWorld”، اگر نام دلخواه شامل حروف بزرگ باشد، حروف بزرگ به آندرلاین تبدیل میشوند. به عنوان مثال، اگر نام دلخواه را “MyMigration” قرار دهید، فایل مهاجرت با نام ” 1694582605_my_migration.js ” ایجاد میشود.
بعد از ایجاد فایل مهاجرت، شما باید آن را ویرایش کنید تا تغییرات لازم را اعمال کنید. در ادامه، نمونه کد مهاجرت براساس قرارداد مورد نظر آورده شده است.
راهاندازی قرارداد موردنظر در شبکه محلی گاناش:
قدم 4: برای راهاندازی قرارداد موردنظر در شبکه محلی گاناش، باید تنظیمات فایل truffle-config.js را انجام دهیم. این تنظیمات در تصویر زیر نشان داده شده است.
قدم 5: در گاناش، یک فضای کاری جدید ایجاد کنید و فایل truffle-config.js را به آن اضافه کنید. این فایل حاوی تنظیمات برای راهاندازی قرارداد در شبکه محلی گاناش در شبکه اتریوم است.
قدم 6: در این مرحله قرارداد موردنظر را با دستور زیر کامپایل میکنیم.
truffle compile
پس از کامپایل کردن قرارداد در ترافل، خروجی کنسول شبیه تصویر زیر خواهد بود. اگر دستور کامپایل با موفقیت اجرا شود، در انتها پیغام “Compiled successfully using” را میبینید.
قدم 7: در این مرحله، باید با استفاده از دستور “truffle migrate”، قرارداد مورد نظر را دیپلوی کنیم.
truffle migrate
خلاصه:
در ادامه، یک خلاصه ای از مراحل اولیه ایجاد و راه اندازی یک پروژه با ترافل آورده شده است:
1. npm install -g truffle نصب ترافل به صورت سراسری
2. truffle init ایجاد ساختار اولیه پروژه ترافل
3. truffle create contract HelloWorld ایجاد فایل قرارداد
4. truffle create migration helloworld ایجاد فایل مهاجرت
5. truffle compile کامپایل قرارداد
6. truffle migrate دیپلوی قرارداد