Skip to main contentA-REX Core

आरेख · 04

transform से वंशावली

transform बैच से बैच बनाने का एकमात्र तरीका है। यह इनपुट बर्न करता है, आउटपुट मिंट करता है और पैरेंट दर्ज करता है; BatchTransformed एक-से-एक EPCIS 2.0 TransformationEvent से मैप होता है।

विभाजन, मर्ज और प्रसंस्करण एक ही ऑपरेशन हैं

flowchart LR
    subgraph SPLIT["री-बैच (विभाजन) · किसी भूमिका की आवश्यकता नहीं · समान कमोडिटी और इकाई · मात्रा संरक्षित"]
        W1["#1 गेहूँ 250 t"] --> W2["#2 गेहूँ 60 t"]
        W1 --> W3["#3 गेहूँ 40 t"]
    end
    subgraph MERGE["री-बैच (मर्ज)"]
        M1["#4 कॉफ़ी 10 t"] --> M3["#6 कॉफ़ी 25 t"]
        M2["#5 कॉफ़ी 15 t"] --> M3
    end
    subgraph PROC["प्रसंस्करण · TRANSFORMER_ROLE · कमोडिटी या मात्रा बदलती है"]
        P1["#2 गेहूँ 60 t"] --> P2["#7 आटा 45 t"]
    end

पैरेंट ऑन-चेन क्वेरी-योग्य हैं

flowchart TB
    F7["parentsOf(7) → [2]"] --> F2["parentsOf(2) → [1]"] --> F1["parentsOf(1) → []"]

रिकॉल उद्गम तक पीछे की ओर parentsOf और प्रत्येक व्युत्पन्न लॉट तक आगे की ओर BatchTransformed इवेंट खंगालता है। मास-बैलेंस ऑडिट प्रत्येक प्रसंस्करण चरण की इनपुट और आउटपुट मात्राओं की तुलना प्रमाणित अनुपात से करता है।

संदर्भ कार्यान्वयन द्वारा लागू नियम

नियमकहाँ
इनपुट का मौजूद होना, रिटायर न होना, और from (या from द्वारा अनुमोदित कॉलर) द्वारा धारित होना अनिवार्य हैtransform, _update
री-बैच (समान कमोडिटी, समान इकाई, Σ in = Σ out) के लिए किसी भूमिका की आवश्यकता नहींisRebatch जाँच
इसके अलावा किसी भी चीज़ के लिए TRANSFORMER_ROLE आवश्यक हैtransform
प्रत्येक आउटपुट parents = inputIds और issuer = msg.sender दर्ज करता हैस्टोरेज
हुक इनपुट और आउटपुट के लिए OP_TRANSFORM देखते हैं_update संदर्भ