مرکزی مواد پر جائیں
Change page

ایتھیریم اکاؤنٹس

صفحہ کی آخری اپ ڈیٹ: 23 فروری، 2026

ایک ایتھیریم اکاؤنٹ ایک ایسی اینٹیٹی (entity) ہے جس میں ایتھر (ETH) کا بیلنس ہوتا ہے اور یہ ایتھیریم پر پیغامات بھیج سکتا ہے۔ اکاؤنٹس کو صارفین کنٹرول کر سکتے ہیں یا انہیں اسمارٹ کانٹریکٹس کے طور پر ڈیپلائے کیا جا سکتا ہے۔

پیشگی شرائط

اس صفحے کو بہتر طور پر سمجھنے میں آپ کی مدد کے لیے، ہم تجویز کرتے ہیں کہ آپ پہلے ہمارا ایتھیریم کا تعارف پڑھیں۔

اکاؤنٹ کی اقسام

ایتھیریم میں اکاؤنٹ کی دو اقسام ہیں:

  • ایکسٹرنلی اونڈ اکاؤنٹ (EOA) – پرائیویٹ کیز (private keys) رکھنے والے کسی بھی شخص کے زیر کنٹرول
  • کانٹریکٹ اکاؤنٹ – نیٹ ورک پر ڈیپلائے کیا گیا ایک اسمارٹ کانٹریکٹ، جو کوڈ کے ذریعے کنٹرول ہوتا ہے۔ اسمارٹ کانٹریکٹس کے بارے میں جانیں

دونوں قسم کے اکاؤنٹس میں یہ صلاحیت ہوتی ہے:

  • ETH اور ٹوکنز وصول کرنا، رکھنا اور بھیجنا
  • ڈیپلائے کیے گئے اسمارٹ کانٹریکٹس کے ساتھ تعامل (interact) کرنا

اہم اختلافات

ایکسٹرنلی اونڈ (Externally-owned)

  • اکاؤنٹ بنانے پر کوئی لاگت نہیں آتی
  • ٹرانزیکشنز شروع کر سکتا ہے
  • ایکسٹرنلی اونڈ اکاؤنٹس کے درمیان ٹرانزیکشنز صرف ETH/ٹوکن کی منتقلی ہو سکتی ہیں
  • کرپٹوگرافک کیز (keys) کے جوڑے پر مشتمل ہوتا ہے: پبلک اور پرائیویٹ کیز جو اکاؤنٹ کی سرگرمیوں کو کنٹرول کرتی ہیں

کانٹریکٹ (Contract)

  • کانٹریکٹ بنانے پر لاگت آتی ہے کیونکہ آپ نیٹ ورک اسٹوریج استعمال کر رہے ہوتے ہیں
  • صرف ٹرانزیکشن موصول ہونے کے جواب میں پیغامات بھیج سکتا ہے
  • کسی بیرونی اکاؤنٹ سے کانٹریکٹ اکاؤنٹ میں ہونے والی ٹرانزیکشنز کوڈ کو متحرک (trigger) کر سکتی ہیں جو کئی مختلف افعال انجام دے سکتا ہے، جیسے ٹوکنز منتقل کرنا یا یہاں تک کہ ایک نیا کانٹریکٹ بنانا
  • کانٹریکٹ اکاؤنٹس کی پرائیویٹ کیز نہیں ہوتیں۔ اس کے بجائے، وہ اسمارٹ کانٹریکٹ کوڈ کی لاجک کے ذریعے کنٹرول ہوتے ہیں

ایک اکاؤنٹ کا جائزہ

ایتھیریم اکاؤنٹس میں چار فیلڈز ہوتی ہیں:

  • nonce – ایک کاؤنٹر جو ایکسٹرنلی اونڈ اکاؤنٹ سے بھیجی گئی ٹرانزیکشنز کی تعداد یا کانٹریکٹ اکاؤنٹ کے ذریعے بنائے گئے کانٹریکٹس کی تعداد کو ظاہر کرتا ہے۔ ہر اکاؤنٹ کے لیے ایک مخصوص نانس (nonce) کے ساتھ صرف ایک ٹرانزیکشن پر عمل درآمد کیا جا سکتا ہے، جو ری پلے حملوں (replay attacks) سے بچاتا ہے جہاں دستخط شدہ ٹرانزیکشنز کو بار بار براڈکاسٹ اور دوبارہ ایگزیکیوٹ کیا جاتا ہے۔
  • balance – اس ایڈریس کی ملکیت میں موجود wei کی تعداد۔ Wei، ETH کی ایک اکائی (denomination) ہے اور فی ETH میں 1e+18 wei ہوتے ہیں۔
  • codeHash – یہ ہیش ایتھیریم ورچوئل مشین (EVM) پر کسی اکاؤنٹ کے کوڈ کا حوالہ دیتا ہے۔ کانٹریکٹ اکاؤنٹس میں کوڈ کے ٹکڑے پروگرام کیے گئے ہوتے ہیں جو مختلف آپریشنز انجام دے سکتے ہیں۔ اگر اکاؤنٹ کو میسج کال موصول ہوتی ہے تو یہ EVM کوڈ ایگزیکیوٹ ہو جاتا ہے۔ اکاؤنٹ کی دیگر فیلڈز کے برعکس، اسے تبدیل نہیں کیا جا سکتا۔ ایسے تمام کوڈ کے ٹکڑے بعد میں بازیافت (retrieval) کے لیے ان کے متعلقہ ہیشز کے تحت اسٹیٹ (state) ڈیٹا بیس میں موجود ہوتے ہیں۔ اس ہیش ویلیو کو codeHash کہا جاتا ہے۔ ایکسٹرنلی اونڈ اکاؤنٹس کے لیے، codeHash فیلڈ ایک خالی اسٹرنگ کا ہیش ہوتی ہے۔
  • storageRoot – اسے بعض اوقات اسٹوریج ہیش بھی کہا جاتا ہے۔ یہ ایک Merkle Patricia Trie کے روٹ نوڈ کا 256-bit ہیش ہے جو اکاؤنٹ کے اسٹوریج کے مواد (256-bit انٹیجر ویلیوز کے درمیان میپنگ) کو انکوڈ کرتا ہے، جسے ٹرائی (trie) میں 256-bit انٹیجر کیز کے Keccak 256-bit ہیش سے RLP-انکوڈ شدہ 256-bit انٹیجر ویلیوز کی میپنگ کے طور پر انکوڈ کیا جاتا ہے۔ یہ ٹرائی اس اکاؤنٹ کے اسٹوریج کے مواد کے ہیش کو انکوڈ کرتی ہے، اور بائی ڈیفالٹ خالی ہوتی ہے۔

A diagram showing the make up of an account یہ خاکہ Ethereum EVM illustrated (opens in a new tab) سے اخذ کیا گیا ہے

ایکسٹرنلی اونڈ اکاؤنٹس اور کلیدی جوڑے (key pairs)

ایک اکاؤنٹ کرپٹوگرافک کیز کے ایک جوڑے پر مشتمل ہوتا ہے: پبلک اور پرائیویٹ۔ یہ ثابت کرنے میں مدد کرتی ہیں کہ ٹرانزیکشن پر واقعی بھیجنے والے نے دستخط کیے تھے اور جعل سازی کو روکتی ہیں۔ آپ کی پرائیویٹ کی وہ چیز ہے جسے آپ ٹرانزیکشنز پر دستخط کرنے کے لیے استعمال کرتے ہیں، لہذا یہ آپ کو آپ کے اکاؤنٹ سے وابستہ فنڈز کی تحویل (custody) فراہم کرتی ہے۔ آپ کبھی بھی حقیقت میں کرپٹو کرنسی نہیں رکھتے، آپ پرائیویٹ کیز رکھتے ہیں – فنڈز ہمیشہ ایتھیریم کے لیجر پر ہوتے ہیں۔

یہ بدنیتی پر مبنی عناصر کو جعلی ٹرانزیکشنز براڈکاسٹ کرنے سے روکتا ہے کیونکہ آپ ہمیشہ ٹرانزیکشن بھیجنے والے کی تصدیق کر سکتے ہیں۔

اگر ایلس (Alice) اپنے اکاؤنٹ سے باب (Bob) کے اکاؤنٹ میں ایتھر بھیجنا چاہتی ہے، تو ایلس کو ایک ٹرانزیکشن کی درخواست بنانی ہوگی اور اسے تصدیق کے لیے نیٹ ورک پر بھیجنا ہوگا۔ ایتھیریم کا پبلک-کی (public-key) کرپٹوگرافی کا استعمال اس بات کو یقینی بناتا ہے کہ ایلس یہ ثابت کر سکے کہ اس نے اصل میں ٹرانزیکشن کی درخواست شروع کی تھی۔ کرپٹوگرافک میکانزم کے بغیر، ایک بدنیتی پر مبنی حریف ایو (Eve) آسانی سے عوامی سطح پر ایک ایسی درخواست براڈکاسٹ کر سکتی ہے جو کچھ یوں نظر آئے "ایلس کے اکاؤنٹ سے ایو کے اکاؤنٹ میں 5 ETH بھیجیں،" اور کوئی بھی اس بات کی تصدیق نہیں کر پائے گا کہ یہ ایلس کی طرف سے نہیں آئی تھی۔

اکاؤنٹ بنانا

جب آپ کوئی اکاؤنٹ بنانا چاہتے ہیں، تو زیادہ تر لائبریریاں آپ کے لیے ایک بے ترتیب (random) پرائیویٹ کی (private key) تیار کریں گی۔

ایک پرائیویٹ کی 64 ہیکس (hex) کریکٹرز پر مشتمل ہوتی ہے اور اسے پاس ورڈ کے ساتھ انکرپٹ کیا جا سکتا ہے۔

مثال:

fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036415f

پبلک کی (public key) کو پرائیویٹ کی سے Elliptic Curve Digital Signature Algorithm (opens in a new tab) کا استعمال کرتے ہوئے تیار کیا جاتا ہے۔ آپ پبلک کی کے Keccak-256 ہیش کے آخری 20 بائٹس لے کر اور شروع میں 0x کا اضافہ کر کے اپنے اکاؤنٹ کے لیے ایک پبلک ایڈریس حاصل کرتے ہیں۔

اس کا مطلب ہے کہ ایک ایکسٹرنلی اونڈ اکاؤنٹ (EOA) کا ایڈریس 42-character کا ہوتا ہے (20-byte کا حصہ جو 40 ہیکسا ڈیسیمل کریکٹرز کے علاوہ 0x کا سابقہ ہے)۔

مثال:

0x5e97870f263700f46aa00d967821199b9bc5a120

درج ذیل مثال دکھاتی ہے کہ نیا اکاؤنٹ بنانے کے لیے Clef (opens in a new tab) نامی سائننگ ٹول (signing tool) کا استعمال کیسے کیا جائے۔ Clef ایک اکاؤنٹ مینجمنٹ اور سائننگ ٹول ہے جو ایتھیریم کلائنٹ، Geth (opens in a new tab) کے ساتھ بنڈل آتا ہے۔ clef newaccount کمانڈ ایک نیا کلیدی جوڑا (key pair) بناتی ہے اور انہیں ایک انکرپٹڈ کی اسٹور (keystore) میں محفوظ کرتی ہے۔

1> clef newaccount --keystore <path>
2
3Please enter a password for the new account to be created:
4> <password>
5
6------------
7INFO [10-28|16:19:09.156] Your new key was generated address=0x5e97870f263700f46aa00d967821199b9bc5a120
8WARN [10-28|16:19:09.306] Please backup your key file path=/home/user/go-ethereum/data/keystore/UTC--2022-10-28T15-19-08.000825927Z--5e97870f263700f46aa00d967821199b9bc5a120
9WARN [10-28|16:19:09.306] Please remember your password!
10Generated account 0x5e97870f263700f46aa00d967821199b9bc5a120
سب دکھائیں

Geth کی دستاویزات (opens in a new tab)

آپ کی پرائیویٹ کی سے نئی پبلک کیز اخذ کرنا ممکن ہے، لیکن آپ پبلک کیز سے پرائیویٹ کی اخذ نہیں کر سکتے۔ اپنی پرائیویٹ کیز کو محفوظ رکھنا انتہائی ضروری ہے اور، جیسا کہ نام سے ظاہر ہے، انہیں پرائیویٹ (PRIVATE) رکھیں۔

آپ کو پیغامات اور ٹرانزیکشنز پر دستخط کرنے کے لیے ایک پرائیویٹ کی کی ضرورت ہوتی ہے جو ایک دستخط (signature) آؤٹ پٹ کرتی ہے۔ پھر دوسرے لوگ آپ کی پبلک کی اخذ کرنے کے لیے اس دستخط کو لے سکتے ہیں، جس سے پیغام کے مصنف کی تصدیق ہوتی ہے۔ اپنی ایپلیکیشن میں، آپ نیٹ ورک پر ٹرانزیکشنز بھیجنے کے لیے جاوا اسکرپٹ (JavaScript) لائبریری کا استعمال کر سکتے ہیں۔

کانٹریکٹ اکاؤنٹس

کانٹریکٹ اکاؤنٹس کا بھی 42 کریکٹرز کا ہیکسا ڈیسیمل ایڈریس ہوتا ہے:

مثال:

0x06012c8cf97bead5deae237070f9587f8e7a266d

کانٹریکٹ کا ایڈریس عام طور پر اس وقت دیا جاتا ہے جب کوئی کانٹریکٹ ایتھیریم بلاک چین پر ڈیپلائے کیا جاتا ہے۔ یہ ایڈریس بنانے والے کے ایڈریس اور اس ایڈریس سے بھیجی گئی ٹرانزیکشنز کی تعداد ("nonce") سے بنتا ہے۔

ویلیڈیٹر کیز (Validator keys)

ایتھیریم میں ایک اور قسم کی کی (key) بھی موجود ہے، جسے اس وقت متعارف کرایا گیا تھا جب ایتھیریم نے پروف آف ورک (proof-of-work) سے پروف آف اسٹیک (proof-of-stake) پر مبنی کنسینسس (consensus) پر منتقلی کی تھی۔ یہ 'BLS' کیز ہیں اور انہیں ویلیڈیٹرز کی شناخت کے لیے استعمال کیا جاتا ہے۔ نیٹ ورک کو کنسینسس تک پہنچنے کے لیے درکار بینڈوتھ کو کم کرنے کے لیے ان کیز کو مؤثر طریقے سے جمع (aggregate) کیا جا سکتا ہے۔ اس کلیدی ایگریگیشن (key aggregation) کے بغیر ایک ویلیڈیٹر کے لیے کم از کم اسٹیک بہت زیادہ ہوتا۔

ویلیڈیٹر کیز کے بارے میں مزید جانیں۔

والٹس پر ایک نوٹ

اکاؤنٹ کوئی والٹ (wallet) نہیں ہوتا۔ والٹ ایک انٹرفیس یا ایپلیکیشن ہے جو آپ کو اپنے ایتھیریم اکاؤنٹ کے ساتھ تعامل (interact) کرنے کی سہولت دیتا ہے، چاہے وہ ایکسٹرنلی اونڈ اکاؤنٹ ہو یا کانٹریکٹ اکاؤنٹ۔

ایک بصری ڈیمو

آسٹن (Austin) کو ہیش فنکشنز اور کلیدی جوڑوں (key pairs) کے بارے میں بتاتے ہوئے دیکھیں۔

مزید مطالعہ

کسی ایسے کمیونٹی وسیلے کے بارے میں جانتے ہیں جس نے آپ کی مدد کی ہو؟ اس صفحے میں ترمیم کریں اور اسے شامل کریں!

کیا یہ مضمون مددگار تھا؟