ساخت نخستین اپلیکیشن dApp در ۵ دقیقه — از صفر تا صد
بلاک چینهایی مانند «اتریوم» (Ethereum) هم اینک شاهد رشد روزافزونی هستند، اما همه چیز بسیار پیچیده است. زبانهای جدید برنامهنویسی و ابزارهای نوین توسعهدهندگان، موجب پدید آمدن اکوسیستمی کاملاً مدرن شده است. در این مقاله با روش ساخت نخستین اپلیکیشن dApp در 5 دقیقه آشنا خواهیم شد.
چنان که گفتیم اکوسیستم توسعه بلاک چین بسیار پیچیده شده است، اما تلاشهایی در جریان است که از شدت این پیچیدگی بکاهند و صرفاً با استفاده از جاوا اسکریپت محض بتوانیم نخستین اپلیکیشن dApp یعنی «اپلیکیشن نامتمرکز» (decentralized application) را در طی زمان اندکی بنویسیم. این dApp به کاربر امکان درخواست برای یک وام را روی بلاک چین از طریق یک فرم وب ساده میدهد. در ادامه راهنمای عملی آن را مشاهده میکنید.
تنظیم پروژه
ابتدا باید این ریپوی گیتهاب (+) را که شامل کد آغازین پروژه است کلون کنید:
git clone https://github.com/dharmaprotocol/dharma-tutorial-1
اینک به دایرکتوری ریشه پروژه میرویم:
cd dharma-tutorial-1
و وابستگیهای پروژه را نصب میکنیم:
npm install
زمانی که این موارد نصب شدند، دستور زیر را اجرا میکنیم تا بک بلاک چین لوکال را بالا بیاوریم:
npm run blockchain
زمانی که بلاک چین بالا آمد، باید یک پنجره جدید ترمینال باز کنیم تا اپلیکیشن فرانتاند را از دایرکتوری ریشه پروژه عرضه کنیم:
cd dharma-tutorial-1 && npm start
اینک در مرورگر باید یک فرم وب مانند زیر ببینید:
گام 1
نخستین دستور تجاری ما در اپلیکیشن به وهلهسازی Dharma.js مربوط است.
شیء Dharma یک آرگومان میگیرد که نشانی بلاک چین است. در این مورد میزبان بلاک چین لوکال را که در مرحله تنظیمات اولیه بالا آوردیم و به صورت پیشفرض روی پورت 8545 اجرا میشود تعیین میکنیم. به این منظور خط 13 فایل App/App.jsx کد زیر را اضافه کنید:
const dharma = new Dharma("http://localhost:8545");
گام 2
سپس باید کاربر dApp خود را شناسایی کنیم. به این منظور از Dharma میپرسیم چه حسابهایی موجود هستند. در خط 39 فایل App/App.jsx کد زیر را اضافه کنید:
const accounts = await dharma.blockchain.getAccounts();
گام 3
سپس باید کد مربوط به دکمه فرم را بنویسیم تا در زمان تحویل فرم عملاً عمل یک درخواست وام Dharma ایجاد شود. این کار در یک فراخوانی منفرد تابع قابل اجرا است. به این منظور در خط 55 فایل App/App.jsx باید اقدام به فراخوانی LoanRequest.create با کد زیر بکنیم:
1const loanRequest = await LoanRequest.create(dharma, {
2 principalAmount: principal,
3 principalToken: "WETH",
4 collateralAmount: collateral,
5 collateralToken: "REP",
6 interestRate: interestRate,
7 termDuration: termLength,
8 termUnit: "months",
9 debtorAddress: debtorAddress,
10 expiresInDuration: 1,
11 expiresInUnit: "weeks"
12});
گام 4
از آنجا که این یک «اثبات مفهوم» (proof of concept) است، آخرین گام این خواهد بود که بازنمایی JSON درخواست وام Dharma را در کنسول مرورگر لاگ کنیم تا مطمئن شویم که دستور در عمل ایجاد شده است. به این منظور در خط 65 فایل App/App.jsx کد زیر را اضافه کنید:
1console.log(loanRequest.serialize());
اکنون اگر فرم را پر کرده و روی Submit کلیک کنید، باید یک بازنمایی JSON از درخواست وام ببینید که در کنسول توسعه مرورگر لاگ شده است.
سخن پایانی
به آن ترتیب شما موفق شدید نخستین dApp خود را در طی مدت زمان بسیار کوتاهی بنویسید. چنان که میبینید توسعه اپلیکیشنهای نامتمرکز کار چندان دشواری نیست.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- مجموعه آموزشهای دروس علوم و مهندسی کامپیوتر
- آموزش ساخت بلاک چین (Blockchain) با پایتون — راهنمای کاربردی
- دستگاه ماینر بیت کوین چیست و چگونه کار می کند؟ | گام به گام و به زبان ساده
- بلاک چین چگونه کار میکند؟ — به زبان ساده
- برنامه نویسی بلاک چین برای توسعه دهندگان تازه کار
==