Skip to content

ክስተት አስነሳሽነት ምሳሌ

ይህ ምሳሌ በ Iroha 3 የውሂብ ሞዴል ውስጥ ካኖኒካዊ የጎራ የሌለው ሂሳብ IDs እና የታቀዱ የንብረት ትርጉሞችን ይጠቀማል.

አንድ አውታረ መረብ የሚከተሉትን ይኑራቸው:

  • በአሊስ ቁልፍ ቁጥጥር የሚደረግበት የካኖኒክ መለያ
  • በተቆጣጣሪው ቁልፍ ቁጥጥር የሚደረግበት የካኖኒክ መለያ
  • wonderland.universal ስር tea ተብሎ የሚተነብይ የንብረት ትርጉም
  • በእያንዳንዱ ሂሳብ የተያዘው የዚያ ንብረት ቀሪ ገንዘብ

ግቡ የአሊስ የሻይ ሚዛን የሚከታተል እና ተዛማጅ መረጃ ክስተት በሚወጣበት ጊዜ ከ ‹Mad Hatter› መለያ ላይ ማስተላለፍን የሚያቀርብ ማስነቃቂያ መመዝገብ ነው ።

1. ሂሳቦችንና ንብረቶችን ማዘጋጀት

በመጀመሪያ ተሳታፊ ሂሳቦችን እና የንብረት ውስንነትን ይመዝገቡ። በአሁኑ Iroha ውስጥ ፣ ሂሳቡ IDs ከሂሳብ ተቆጣጣሪዎች የሚመጣ ሲሆን የታቀዱት ጎራዎች domain.dataspace ቅጹን ይጠቀማሉ-

text
domain: wonderland.universal
asset definition projection: tea in wonderland.universal
holder accounts: AccountId(controller=alice_key), AccountId(controller=mad_hatter_key)

የንብረቱ ትርጉም አሁንም ቀኖናዊ ያልታየ አድራሻ አለው ። ያንን አድራሻ ከመዝገብ በኋላ ያከማቹ ወይም ይጠይቁ እና በሚያስነሳው እርምጃ ውስጥ ይጠቀሙበት።

2. የማስነሳት ስልጣንን ይምረጡ

በተቻለ መጠን የመነቃቂያውን ቴክኒካዊ መለያ ለልዩ መለያ ያዘጋጁ። አንድ የተወሰነ መለያ ለመነቃቂያው አፈፃፀም የትኞቹ ፈቃዶች እንደሚያስፈልጉ ግልፅ ያደርገዋል እንዲሁም የመነቃቂውን ከኦፕሬተሩ የግል ፊርማ ቁልፍ ጋር ከማያያዝ ይርቃል ።

የቴክኒካዊ ሂሳቡ ቀድሞውኑ መኖር አለበት እና መመሪያዎቹን በማስፈፀም ላይ ለማቅረብ ፈቃድ ሊኖረው ይገባል.

3. አስፈፃሚውን መወሰን

ሊፈፀም የሚችለው የዝግጅት ማጣሪያ በሚስማማበት ጊዜ አስነሳው የሚያስተላልፈው የትእዛዝ ቅደም ተከተል ነው። ለዚህ ምሳሌ አንድ ማስተላለፍ ይ containsል:

text
Transfer(
  source = AssetId(tea_definition, mad_hatter_account),
  value = Numeric(1),
  destination = AssetId(tea_definition, alice_account)
)

የመጨረሻውን የግብይት ጥቅማጥቅሞች ለመገንባት SDK የአሁኑን የተጻፉ ገንቢዎችን ይጠቀሙ። አስጀማሪ ኮድ ውስጥ አሮጌውን ጽሑፋዊ IDs በሃርድ-ኮድ ከመገንባቱ በፊት ያስወግዱ; ማጣሪያ ወይም መጠይቅ ቀኖናዊ IDs ።

4. የክስተት ማጣሪያውን ይግለጹ

ክስተቶችን ከሚያስቡት ነገር ጋር የሚቀንስ የውሂብ ክስተቶች ማጣሪያ ይጠቀሙ:

text
EventFilterBox::Data(
  DataEventFilter for asset changes involving
  AssetId(tea_definition, alice_account)
)

አንድ AcceptAll ማጣሪያ ለ debugging ጠቃሚ ነው, ነገር ግን እያንዳንዱ ተዛማጅ ክስተት የማስነሳት ግምገማ ወጪ እንዲከፍል ያደርጋል.

5. መቆጣጠሪያውን ያስገቡ።

መቆጣጠሪያውን በ:

  • አንድ ቋሚ TriggerId
  • ሊፈፀም የሚችል የትእዛዝ ቅደም ተከተል
  • Repeats::Indefinitely ወይም Repeats::Exactly(n)
  • የቴክኒክ ሂሳብ
  • የዝግጅት ማጣሪያ
  • አማራጭ ሜታዳታ

አስጀማሪ ምዝገባ በራሱ መደበኛ ግብይት ነው ፣ ስለሆነም የመመዝገብ ሂሳቡ አስጀማሪዎችን ለመመዝገብ ፈቃድ ይፈልጋል ። ቴክኒካዊው ሂሳብ አስጀማሪውን ለማስፈፀም የሚያስፈልጉትን ፈቃዶች ይፈልጋል።

የፍርድ ትዕዛዝ

አንድ ብሎክ ሲፈፀም:

  1. መደበኛ የግብይት መመሪያዎች በመጀመሪያ ይሰራሉ.
  2. በእነዚህ መመሪያዎች የተፈጠሩ መረጃ ክስተቶች ይሰበሰባሉ።
  3. ማጣሪያዎቻቸው ከነዚህ ክስተቶች ጋር የሚዛመዱባቸው አስነሳሾች መርሐግብር ተይዘዋል ።
  4. ተነሳሽነት የሚመነጩ ውጤቶች በብሎክ አፈፃፀም ቧንቧ ውስጥ ያልተገደበ ሪኩረሲቭ ተነሳሽነትን ይፈጽማሉ.

አንድ አስነሳሽ Repeats::Exactly(n) የሚጠቀም ከሆነ, መቁጠሪያው ሲጨርስ እና ተመሳሳይ ባህሪ እንደገና አስፈላጊ በሚሆንበት ጊዜ አዲስ አስነሳሽነት ይመዝገቡ.