اکاؤنٹس
ایک اکاؤنٹ ایک ایسی اتھارٹی ہے جو لین دین پر دستخط کرسکتی ہے اور اپنی لیجر کی حیثیت رکھتی ہے۔ موجودہ Iroha 3 ڈیٹا ماڈل میں ، AccountId کینیکل اور ڈومینلیس ہے: یہ اکاؤنٹ کنٹرولر سے اخذ کیا جاتا ہے اور کینیکل طور پر I105 کے طور پر کوڈ ہوتا ہے۔ انسانی پڑھنے کے قابل ڈومین اور ڈیٹا اسپیس کا تناظر علیحدہ اکاؤنٹ عرفی پابندیاں سے تعلق رکھتا ہے۔
ڈھانچہ
ایک رجسٹرڈ Account میں شامل ہیں:
id: کینونیکلAccountIdmetadata: تعمیری اکاؤنٹ میٹا ڈیٹاlabel: ایک اختیاری مستحکم عرفuaid: ایک اختیاری یونیورسل اکاؤنٹ ID جو Nexus کے بہاؤ میں استعمال ہوتا ہے۔opaque_ids: اکاؤنٹ کے UAID سے منسلک غیر شفاف شناخت کنندہ
اکاؤنٹ بنانے کے لئے استعمال ہونے والے لین دین کا فائدہ مند بوجھ NewAccount ہے۔ اس میں شناختی ، میٹا ڈیٹا ، لیبل ، UAID ، اور غیر شفاف ID فیلڈز شامل ہیں جو رجسٹرڈ اکاؤنٹ کے ذریعہ استعمال ہوتے ہیں۔
uaid کینیکل AccountId کی تکمیل کرتا ہے۔ یہ اس کی جگہ نہیں لیتا ہے۔ جب Nexus خدمات کو ڈیٹا اسپیس ، رازداری کو برقرار رکھنے والے اندراج ، یا سروس کی صلاحیت تلاش میں مستحکم صارف یا تنظیم کے انتظام کی ضرورت ہو تو اسے استعمال کریں۔ رن ٹائم ایک سے ایک UAID کے اکاؤنٹ انڈیکس کو برقرار رکھتا ہے ، اس کی ضرورت ہوتی ہے کہ غیر شفاف شناخت کنندگان کو UAID کے ذریعہ منسلک کیا جائے ، اور ڈپلیکیٹ یا ٹکرانے والے غیر شفاف شناخت کنندہ کو مسترد کرتا ہے۔ FHE اور UAID کے لئے ملاحظہ کریں Nexus سروس پرت بہاؤ۔
اکاؤنٹ کنٹرولرز
کنٹرولر بیان کرتا ہے کہ اکاؤنٹ کس طرح کارروائیوں کی اجازت دیتا ہے۔ ڈیفالٹ کلائنٹ فلو ایک Ed25519 کلیدی جوڑی کا استعمال کرتا ہے ، لیکن ڈیٹا ماڈل بھی زیادہ بھرپور کنٹرولرز جیسے ملٹی دستخط پالیسی کنٹرولر کی حمایت کرتا ہے۔
کلائنٹ کی ترتیب دستخط کرنے والی اتھارٹی کو پیئر ترتیب سے الگ اسٹور کرتی ہے:
[account]
public_key = "ed0120..."
private_key = { digest_function = "ed25519", payload = "..." }موجودہ کلیدی فارمیٹس کے لئے کلائنٹ ترتیب اور کیج جنریشن دیکھیں.
Taira پر آزمائیں
چند صحیفوں کی فہرست بنائیں IDs عوام سے Taira ٹیسٹ نیٹ:
curl -fsS 'https://taira.sora.org/v1/accounts?limit=5' \
| jq -r '.items[] | [.id, (.primary_alias // "-")] | @tsv'اکاؤنٹ اثاثوں کا معائنہ کرنے کے لئے، پہلی کال سے ایک اکاؤنٹ ID کو کاپی کریں اور اسے راستے میں ڈالنے سے پہلے URL کوڈ کریں۔ یہ Python ٹکڑا پہلے درج کردہ اکاؤنٹ کے لئے ایسا کرتا ہے:
python3 - <<'PY'
import json
import urllib.parse
import urllib.request
root = "https://taira.sora.org"
accounts = json.load(urllib.request.urlopen(f"{root}/v1/accounts?limit=1"))["items"]
account_id = accounts[0]["id"]
encoded = urllib.parse.quote(account_id, safe="")
assets = json.load(
urllib.request.urlopen(f"{root}/v1/accounts/{encoded}/assets?limit=5")
)
print(json.dumps({"account_id": account_id, "assets": assets["items"]}, indent=2))
PYیہ عوامی پڑھنے ہیں۔ اکاؤنٹ بنانا یا اپ ڈیٹ کرنا ایک دستخط شدہ لین دین ہے اور Taira سیٹ اپ کی ضرورت ہوتی ہے جو میں بیان کیا گیا ہے۔ SORA Nexus ڈیٹا بیسوں سے رابطہ کریں.
رجسٹریشن اور اجازت
اکاؤنٹس عام Register اور Unregister ہدایات کے ساتھ رجسٹرڈ اور غیر رجسٹر شدہ ہیں۔ فعال رن ٹائم کی توثیق کرنے والا فیصلہ کرتا ہے کہ کون اکاؤنٹ تشکیل دے سکتا ہے اور کن اجازت ٹوکن یا کرداروں کی ضرورت ہے۔
رجسٹریشن کے بعد، ایک اکاؤنٹ:
- لین دین پر دستخط کریں
- ملکیت کے اثاثے
- اپنے ڈومینز
- رولز اور اجازت ٹوکن وصول کریں
- ذخیرہ شدہ میٹا ڈیٹا
- Nexus شناخت کے بہاؤ میں حصہ لیں جب ان خصوصیات کو فعال کیا جائے۔
شناخت کے مسائل کو حل کرنا
اگر کسی ٹرانزیکشن کو غیر متوقع طور پر مسترد کیا جائے تو، چیک کریں کہ:
- کلائنٹ عوامی کلید دستخط کرنے کے لئے استعمال ہونے والی نجی کلید سے ملتی ہے
- اکاؤنٹ ابتداء میں یا ایک پابند ٹرانزیکشن کے ذریعے رجسٹرڈ کیا گیا تھا
- حکام کے پاس ہدایات کی ضرورت کی اجازت ہے
- سخت اکاؤنٹس فیلڈز کینیکل I105 اکاؤنٹ ID کا استعمال کرتے ہیں، جبکہ پڑھنے کے قابل نام ایک فعال اکاؤنٹ-alias بائنڈنگ کے ذریعے حل کیے جاتے ہیں۔
یہ بھی ملاحظہ کریں: