Cardano-db-sync: تظهر cardano-cli و db-sync عددًا مختلفًا من المكافآت من حقبة 243

تم إنشاؤها على ٢١ يناير ٢٠٢١  ·  7تعليقات  ·  مصدر: input-output-hk/cardano-db-sync

بدءًا من حقبة 243 لبعض عناوين المكافآت تظهر cardano-cli و db-sync عددًا مختلفًا من المكافآت. على سبيل المثال share1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0

كاردانو- CLI

$ cardano-cli query stake-address-info --cardano-mode --mainnet --allegra-era --address stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0
[
    {
        "address": "stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0",
        "delegation": "pool14ku0z9rx9yx34zl00jtxtpyv6ehytfl8fewztavx7qvju7nrtr8",
        "rewardAccountBalance": 13258955846
    }
]

و db- مزامنة

# SELECT SUM(reward.amount)
# FROM stake_address
# LEFT JOIN reward ON reward.addr_id = stake_address.id
# WHERE stake_address.view = 'stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0';
     sum
-------------
 13222415370
(1 row)

الفرق هو 36.540476 ₳ ، وهو ما يعادل تقريبًا مبلغ مكافأة التصويت.

mainnet ، كاردانو كلي 1.24.2 ، كاردانو ديسيبل مزامنة 7.1.0

التعليق الأكثر فائدة

أعتقد أن جزءًا من المشكلة هو أن الجدول المسمى reward يمكن توقعه بشكل معقول أن يحتوي على جميع المكافآت ، لكن هذا ليس هو الحال في الواقع. يحتوي هذا الجدول فقط على مكافآت Staking. قد يكون من المرغوب إعادة تسمية هذا الجدول ليعكس ذلك.

وقد أصبح هذا الأمر أكثر إرباكًا لأن جدول withdrawal يحتوي على جميع عمليات السحب من حساب المكافآت.

ال 7 كومينتر

يبدو أن مكافآت التصويت هذه موجودة في طاولة "الخزانة" الآن

# SELECT treasury.amount
# FROM stake_address
# LEFT JOIN treasury ON treasury.addr_id = stake_address.id
# WHERE stake_address.view = 'stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0';
  amount
----------
 36540476
(1 row)

يبدو أن مكافآت التصويت هذه موجودة في طاولة "الخزانة" الآن

~ عفوًا ، يبدو أن هذا خطأ. ~ على ما يبدو لا.

نحتاج إلى توضيح بطريقة ما (في المخطط و / أو المستندات ذات الصلة) أن هناك أكثر من جدول واحد للأحداث التي تؤثر على حسابات مكافأة الرصيد:

  • مكافآت البلياردو لكل حقبة
  • سحوبات الحساب
  • أحداث MIR الخاصة. تأتي أحداث MIR الخاصة من شهادات MIR ، ولكن تمت جدولتها لحدود الكتلة.

لذا فإن الأشخاص الذين يكتبون استفسارات لتتبع الرصيد الإجمالي سيحتاجون إلى أخذ اتحاد الأحداث.

تم استخدام شهادات MIR لأغراض متنوعة عالية المستوى (ولكن لم يتم نشر الغرض بالطبع على السلسلة) ، بما في ذلك: المكافآت المستحقة لـ ITN ، ومدفوعات الخزانة للمشاريع الفائزة ، ومدفوعات الخزانة للمشاركة في Catalyst.

أعتقد أن جزءًا من المشكلة هو أن الجدول المسمى reward يمكن توقعه بشكل معقول أن يحتوي على جميع المكافآت ، لكن هذا ليس هو الحال في الواقع. يحتوي هذا الجدول فقط على مكافآت Staking. قد يكون من المرغوب إعادة تسمية هذا الجدول ليعكس ذلك.

وقد أصبح هذا الأمر أكثر إرباكًا لأن جدول withdrawal يحتوي على جميع عمليات السحب من حساب المكافآت.

لقد كنت أحاول التوصل إلى أفضل نهج يمكن أن أجده.

أولاً نقوم بإنشاء عرض:

# create view reward_payment_view as
    select addr_id, amount, 'treasury' as source
    from treasury union select addr_id, amount, 'reward_epoch_' || epoch_no as source from reward ; 

يمكننا الاستعلام عن هذا الرأي على النحو التالي:

# select stake_address.view, reward_payment_view.amount, reward_payment_view.source
    from reward_payment_view inner join stake_address on reward_payment_view.addr_id = stake_address.id
    where stake_address.view = 'stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0' ; 
                            view                             |   amount   |      source      
-------------------------------------------------------------+------------+------------------
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |   36540476 | treasury
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  373554942 | reward_epoch_226
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  381550960 | reward_epoch_222
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  394285344 | reward_epoch_225
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  394335813 | reward_epoch_223
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  437204214 | reward_epoch_236
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  442787046 | reward_epoch_233
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  450575175 | reward_epoch_238
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  463125272 | reward_epoch_228
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  481675128 | reward_epoch_224
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  495852458 | reward_epoch_227
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  571559879 | reward_epoch_234
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  599359585 | reward_epoch_232
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  612352961 | reward_epoch_237
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 |  658610556 | reward_epoch_231
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 | 1319746538 | reward_epoch_219
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 | 1342842199 | reward_epoch_218
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 | 1374758087 | reward_epoch_216
 stake1u9z07jwyrlyh57dsvhmmdlt555vpvwdrky0ykf4le4k7zuc3pvuy0 | 2428239213 | reward_epoch_220
(19 rows)

هل هذا view يجب أن أشحنه محددًا مسبقًا بـ db-sync ؟

dmitrystas هل يمكن إغلاق هذا الآن؟

أعتقد ذلك ، شكرا

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

erikd picture erikd  ·  3تعليقات

erikd picture erikd  ·  10تعليقات

alexqrid picture alexqrid  ·  11تعليقات

rcmorano picture rcmorano  ·  6تعليقات

johnalotoski picture johnalotoski  ·  15تعليقات