ანგარიშები
ანგარიში არის ავტორიტეტი, რომელსაც შეუძლია ხელი მოაწეროს ტრანზაქციებს და საკუთარი ლიდერული მდგომარეობა. მიმდინარე 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 ინსტრუქციებით. აქტიური მიმდინარეობის ვალიდატორი გადაწყვეტს, თუ ვის შეუძლია შექმნას ანგარიშები და რა ნებართვის ქაღალდები ან როლები საჭიროა.
რეგისტრაციის შემდეგ, ანგარიშს შეუძლია:
- ტრანზაქციების გაფორმება
- ქონება
- საკუთარი დომენები
- მიიღოს როლები და ნებართვის ქაღალდები
- შენახვის მეტა მონაცემები
- მონაწილეობა მიიღოს alias, rekey, აღდგენა და Nexus იდენტობის ნაკადებში, როდესაც ეს მახასიათებლები ჩართულია;
პირადობის პრობლემების აღმოფხვრა
თუ ტრანზაქცია მოულოდნელად უარყოფითია, შეამოწმეთ, თუ:
- კლიენტის საჯარო გასაღები შეესაბამება ხელმოწერისთვის გამოყენებულ პირად გასაღებს
- ანგარიში დარეგისტრირდა გენეზის ან ჩაბარებული ოპერაციის შედეგად.
- ორგანოს აქვს ინსტრუქციის მიერ მოთხოვნილი ნებართვები
- მკაცრი ანგარიშის ველები იყენებენ კანონიკურ I105 ანგარიშს ID, ხოლო წაკითხადი სახელების გადაჭრა ხდება აქტიური ანგარიშის ანალიზის საშუალებით
იხილეთ ასევე: