Hardhat
ہارڈہیٹ: ایتھیریم ڈویلپمنٹ کے لیے ایک جامع گائیڈ
ہارڈہیٹ ایک طاقتور، لچکدار اور ماڈیولر ڈویلپمنٹ ماحول ہے جو ایتھیریم بلاکچین پر سمارٹ کانٹریکٹس کی تعمیر، ٹیسٹنگ اور ڈیپلائمنٹ کے لیے ڈیزائن کیا گیا ہے۔ یہ خاص طور پر ڈویلپرز کے لیے بنایا گیا ہے جو جدید جاوا اسکرپٹ ٹولز اور ایک موڈرن ڈویلپمنٹ ورک فلو کے ساتھ کام کرنا چاہتے ہیں۔ یہ مضمون ابتدائی افراد کے لیے ہے جو ہارڈہیٹ کے بنیادی اصولوں، خصوصیات اور استعمال کے طریقوں کو سمجھنا چاہتے ہیں۔
ہارڈہیٹ کا تعارف
ہارڈہیٹ کو ٹرپل اے ڈویلپمنٹ ٹیم نے بنایا ہے۔ یہ سولیڈیٹی (Solidity) میں لکھے گئے سمارٹ کانٹریکٹس کے لیے ایک مکمل ڈویلپمنٹ ماحول فراہم کرتا ہے۔ ہارڈہیٹ کے اہم فوائد میں شامل ہیں:
- **لوکل ڈویلپمنٹ نیٹ ورک:** ہارڈہیٹ ایک بلٹ ان لوکل ایتھیریم نیٹ ورک فراہم کرتا ہے، جو ڈویلپرز کو اصلی بلاکچین پر ڈیپلائے کیے بغیر اپنے کانٹریکٹس کو تیزی سے اور مؤثر طریقے سے ٹیسٹ کرنے کی اجازت دیتا ہے۔
- **آسان ٹیسٹنگ:** ہارڈہیٹ سمارٹ کانٹریکٹس کی ٹیسٹنگ کو آسان بنانے کے لیے ایک طاقتور ٹیسٹنگ فریم ورک فراہم کرتا ہے۔
- **ڈیبگنگ سپورٹ:** ہارڈہیٹ میں ایک بلٹ ان ڈیبگر ہے جو ڈویلپرز کو ان کے کانٹریکٹس میں موجود مسائل کو تلاش کرنے اور حل کرنے میں مدد کرتا ہے۔
- **پلاگینز:** ہارڈہیٹ ایک ماڈیولر فن تعمیر کا استعمال کرتا ہے جو ڈویلپرز کو نئی خصوصیات اور صلاحیتوں کو شامل کرنے کے لیے پلاگینز انسٹال کرنے کی اجازت دیتا ہے۔
- **جاوا اسکرپٹ سپورٹ:** ہارڈہیٹ جاوا اسکرپٹ پر مبنی ہے، جو ڈویلپرز کے لیے اس سے واقف ہونا اور اس کے ساتھ کام کرنا آسان بناتا ہے۔
ہارڈہیٹ انسٹال کرنا
ہارڈہیٹ انسٹال کرنے کے لیے، آپ کے کمپیوٹر پر Node.js اور npm (Node Package Manager) انسٹال ہونے ضروری ہے۔ انسٹالیشن کے بعد، آپ مندرجہ ذیل کمانڈ کا استعمال کرکے ہارڈہیٹ انسٹال کر سکتے ہیں:
```bash npm install --save-dev hardhat ```
یہ کمانڈ ہارڈہیٹ کو آپ کے پروجیکٹ میں ایک ڈویلپمنٹ ڈیپینڈنسی کے طور پر انسٹال کرے گا۔
ہارڈہیٹ پروجیکٹ بنانا
ہارڈہیٹ انسٹال کرنے کے بعد، آپ مندرجہ ذیل کمانڈ کا استعمال کرکے ایک نیا پروجیکٹ بنا سکتے ہیں:
```bash npx hardhat ```
یہ کمانڈ آپ سے آپ کے پروجیکٹ کے لیے ایک نام اور کچھ دیگر اختیارات کے بارے میں پوچھے گا۔ پروجیکٹ بن جانے کے بعد، ہارڈہیٹ ایک بنیادی پروجیکٹ ڈھانچہ بنائے گا، جس میں شامل ہیں:
- `contracts/`: اس ڈائرکٹری میں آپ کے سمارٹ کانٹریکٹس ہوں گے۔
- `scripts/`: اس ڈائرکٹری میں آپ کے ڈیپلائمنٹ اسکرپٹس ہوں گے۔
- `test/`: اس ڈائرکٹری میں آپ کے ٹیسٹنگ اسکرپٹس ہوں گے۔
- `hardhat.config.js`: یہ ہارڈہیٹ کی کنفیگریشن فائل ہے۔
ہارڈہیٹ کی بنیادی تشکیل
`hardhat.config.js` فائل ہارڈہیٹ کی مرکزی کنفیگریشن فائل ہے۔ اس فائل میں، آپ ہارڈہیٹ کے مختلف پہلوؤں کو کنفیگر کر سکتے ہیں، جیسے کہ:
- **نیٹ ورکس:** آپ مختلف نیٹ ورکس (مثلاً، لوکل ڈویلپمنٹ نیٹ ورک، Ropsten، Rinkeby) کو کنفیگر کر سکتے ہیں اور ہر نیٹ ورک کے لیے مخصوص سیٹنگز (مثلاً، URL، اکاؤنٹ) فراہم کر سکتے ہیں۔
- **کمپائلر:** آپ سمارٹ کانٹریکٹس کو کمپائل کرنے کے لیے استعمال کیے جانے والے سولیڈیٹی کمپائلر کے ورژن کو کنفیگر کر سکتے ہیں۔
- **پلاگینز:** آپ ہارڈہیٹ میں نئی خصوصیات اور صلاحیتوں کو شامل کرنے کے لیے پلاگینز انسٹال اور کنفیگر کر سکتے ہیں۔
سولیڈیٹی کانٹریکٹس لکھنا
ہارڈہیٹ کے ساتھ، آپ سولیڈیٹی میں سمارٹ کانٹریکٹس لکھ سکتے ہیں۔ سولیڈیٹی ایک اعلی سطحی، کنٹریکٹ اورینٹڈ پروگرامنگ زبان ہے جو ایتھیریم بلاکچین پر سمارٹ کانٹریکٹس لکھنے کے لیے ڈیزائن کی گئی ہے۔
ایک سادہ سولیڈیٹی کانٹریکٹ کی مثال:
```solidity // SPDX-License-Identifier: MIT pragma solidity ^0.8.0;
contract SimpleStorage {
uint256 storedData;
function set(uint256 x) public { storedData = x; }
function get() public view returns (uint256) { return storedData; }
} ```
کانٹریکٹس کو کمپائل کرنا
سولیڈیٹی کانٹریکٹس لکھنے کے بعد، آپ انہیں ہارڈہیٹ کا استعمال کرکے کمپائل کر سکتے ہیں۔ کانٹریکٹس کو کمپائل کرنے کے لیے، مندرجہ ذیل کمانڈ چلائیں:
```bash npx hardhat compile ```
یہ کمانڈ آپ کے `contracts/` ڈائرکٹری میں موجود سولیڈیٹی فائلوں کو کمپائل کرے گا اور کمپائل شدہ آؤٹ پٹ کو `artifacts/` ڈائرکٹری میں رکھے گا۔
کانٹریکٹس کو ڈیپلائے کرنا
کانٹریکٹس کو کمپائل کرنے کے بعد، آپ انہیں ہارڈہیٹ کے لوکل ڈویلپمنٹ نیٹ ورک پر ڈیپلائے کر سکتے ہیں۔ کانٹریکٹس کو ڈیپلائے کرنے کے لیے، آپ کو ایک ڈیپلائمنٹ اسکرپٹ لکھنا ہوگا۔
ایک سادہ ڈیپلائمنٹ اسکرپٹ کی مثال:
```javascript async function main() {
const SimpleStorage = await ethers.getContractFactory("SimpleStorage");
// SimpleStorage contract deploy کریں const simpleStorage = await SimpleStorage.deploy();
await simpleStorage.deployed();
console.log("SimpleStorage deployed to:", simpleStorage.address);
}
main()
.then(() => process.exit(0)) .catch((error) => { console.error(error); process.exit(1); });
```
اس اسکرپٹ کو چلانے کے لیے، مندرجہ ذیل کمانڈ چلائیں:
```bash npx hardhat run scripts/deploy.js ```
یہ کمانڈ `scripts/deploy.js` اسکرپٹ کو چلائے گا، جو `SimpleStorage` کانٹریکٹ کو لوکل ڈویلپمنٹ نیٹ ورک پر ڈیپلائے کرے گا۔
کانٹریکٹس کی ٹیسٹنگ
ہارڈہیٹ سمارٹ کانٹریکٹس کی ٹیسٹنگ کو آسان بنانے کے لیے ایک طاقتور ٹیسٹنگ فریم ورک فراہم کرتا ہے۔ آپ Mocha اور Chai جیسے ٹیسٹنگ فریم ورکس کا استعمال کرکے اپنے کانٹریکٹس کے لیے ٹیسٹ لکھ سکتے ہیں۔
ایک سادہ ٹیسٹ کی مثال:
```javascript const { expect } = require("chai");
describe("SimpleStorage", function () {
it("Should set and retrieve the stored data", async function () { const SimpleStorage = await ethers.getContractFactory("SimpleStorage"); const simpleStorage = await SimpleStorage.deploy(); await simpleStorage.deployed();
// Set the stored data await simpleStorage.set(123);
// Retrieve the stored data const storedData = await simpleStorage.get();
// Assert that the stored data is correct expect(storedData).to.equal(123); });
}); ```
اس ٹیسٹ کو چلانے کے لیے، مندرجہ ذیل کمانڈ چلائیں:
```bash npx hardhat test ```
یہ کمانڈ `test/` ڈائرکٹری میں موجود تمام ٹیسٹ فائلوں کو چلائے گا۔
ہارڈہیٹ کے ساتھ ایڈوانسڈ ٹیکنکس
- **ہارڈہیٹ کنسول:** ہارڈہیٹ کنسول ایک انٹرایکٹو ڈیبگنگ ماحول ہے جو آپ کو اپنے کانٹریکٹس کے ساتھ براہ راست تعامل کرنے کی اجازت دیتا ہے۔
- **ہارڈہیٹ ورکشاپ:** ہارڈہیٹ ورکشاپ ایک ایسا ٹول ہے جو آپ کو سمارٹ کانٹریکٹس کے ساتھ تجربہ کرنے اور سیکھنے کے لیے ایک انٹرایکٹو ماحول فراہم کرتا ہے۔
- **ہارڈہیٹ پلاگینز:** ہارڈہیٹ پلاگینز آپ کو نئی خصوصیات اور صلاحیتوں کو شامل کرنے کی اجازت دیتے ہیں۔
ہارڈہیٹ کے متبادل
ہارڈہیٹ کے علاوہ، سمارٹ کانٹریکٹس کی تعمیر، ٹیسٹنگ اور ڈیپلائمنٹ کے لیے دیگر ٹولز بھی دستیاب ہیں، جیسے کہ:
کرپٹو ٹریڈنگ اور ہارڈہیٹ
ہارڈہیٹ براہ راست کرپٹو ٹریڈنگ سے منسلک نہیں ہے، لیکن یہ ٹریڈنگ کے لیے استعمال ہونے والے سمارٹ کانٹریکٹس کے ڈیولپمنٹ اور ٹیسٹنگ میں اہم کردار ادا کرتا ہے۔ مثال کے طور پر، Decentralized Exchanges (DEXs) کے لیے سمارٹ کانٹریکٹس کو ہارڈہیٹ کا استعمال کرکے تیار اور مکمل طور پر جانچ لیا جا سکتا ہے۔ یہ یقینی بناتا ہے کہ ٹریڈنگ کے معاہدے محفوظ ہیں اور توقع کے مطابق کام کرتے ہیں۔
ٹریڈنگ کے لیے ہارڈہیٹ کے استعمال کے چند طریقے:
- **ٹریڈنگ بوتس:** ہارڈہیٹ کا استعمال ٹریڈنگ بوتس کے لیے سمارٹ کانٹریکٹس تیار کرنے اور ٹیسٹ کرنے کے لیے کیا جا سکتا ہے۔
- **آربیٹراژ:** ہارڈہیٹ کا استعمال مختلف DEXs کے درمیان آربیٹراژ کے مواقع تلاش کرنے کے لیے سمارٹ کانٹریکٹس تیار کرنے اور ٹیسٹ کرنے کے لیے کیا جا سکتا ہے۔
- **ڈیفائی پروٹوکول:** ہارڈہیٹ کا استعمال مختلف DeFi (Decentralized Finance) پروٹوکول کے لیے سمارٹ کانٹریکٹس تیار کرنے اور ٹیسٹ کرنے کے لیے کیا جا سکتا ہے۔
فنی تجزیہ اور ہارڈہیٹ
ہارڈہیٹ براہ راست فنی تجزیہ کا ٹول نہیں ہے، لیکن یہ ایسے سمارٹ کانٹریکٹس تیار کرنے میں مدد کر سکتا ہے جو تکنیکی اشارے (Technical Indicators) پر مبنی ٹریڈنگ سگنلز پیدا کرتے ہیں۔ مثال کے طور پر، آپ ہارڈہیٹ کا استعمال ایک ایسا کانٹریکٹ تیار کرنے کے لیے کر سکتے ہیں جو Moving Averages یا Relative Strength Index (RSI) کی بنیاد پر خودکار ٹریڈنگ فیصلے کرتا ہے۔
ٹریڈنگ والیوم تجزیہ اور ہارڈہیٹ
ہارڈہیٹ کا استعمال ٹریڈنگ والیوم کے تجزیہ کے لیے سمارٹ کانٹریکٹس تیار کرنے کے لیے بھی کیا جا سکتا ہے۔ آپ ایک ایسا کانٹریکٹ تیار کر سکتے ہیں جو مختلف اثاثوں (Assets) کے لیے ٹریڈنگ والیوم کے اعدادوشمار کو جمع کرتا ہے اور تجزیہ کرتا ہے، جو تاجروں کو مارکیٹ کے رجحانات کو سمجھنے اور باخبر فیصلے کرنے میں مدد کر سکتا ہے۔
ختم
ہارڈہیٹ ایک طاقتور اور لچکدار ڈویلپمنٹ ماحول ہے جو ایتھیریم بلاکچین پر سمارٹ کانٹریکٹس کی تعمیر، ٹیسٹنگ اور ڈیپلائمنٹ کے لیے ضروری ٹولز فراہم کرتا ہے۔ یہ مضمون نے ہارڈہیٹ کے بنیادی اصولوں، خصوصیات اور استعمال کے طریقوں کا ایک تعارفی جائزہ فراہم کیا ہے۔
تجویز شدہ فیوچرز ٹریڈنگ پلیٹ فارم
پلیٹ فارم | فیوچرز خصوصیات | رجسٹریشن |
---|---|---|
Binance Futures | لیوریج تک 125x، USDⓈ-M معاہدے | ابھی رجسٹر کریں |
Bybit Futures | دائمی معکوس معاہدے | ٹریڈنگ شروع کریں |
BingX Futures | کاپی ٹریڈنگ | BingX سے جڑیں |
Bitget Futures | USDT سے ضمانت شدہ معاہدے | اکاؤنٹ کھولیں |
BitMEX | کرپٹو کرنسی پلیٹ فارم، لیوریج تک 100x | BitMEX |
ہماری کمیونٹی میں شامل ہوں
ٹیلیگرام چینل @strategybin سبسکرائب کریں مزید معلومات کے لیے. بہترین منافع پلیٹ فارمز – ابھی رجسٹر کریں.
ہماری کمیونٹی میں حصہ لیں
ٹیلیگرام چینل @cryptofuturestrading سبسکرائب کریں تجزیہ، مفت سگنلز اور مزید کے لیے!