Cardano-db-sync: рдЗрдирд╛рдо рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рдмреНрд▓реЙрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдмреАрдЪ рд╡рд┐рд╖рдо рдмреЗрдореЗрд▓

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдирд╡ре░ 2020  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: input-output-hk/cardano-db-sync

рдпрд╣ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ #361 рдХреЗ рд╕рдорд╛рди рд╣реИред

рдореЗрдирдиреЗрдЯ рдкрд░:

cexplorer=# select reward.* from pool_hash
              inner join reward on reward.pool_id = pool_hash.id
              where pool_hash.hash_raw = '\x964d8d35d91603e0dcfbc64891ee8ffeba0e503ca96bf627bc8bcb55' ; 
   id   | addr_id |    amount    | epoch_no | pool_id | block_id 
--------+---------+--------------+----------+---------+----------
 452424 |   92628 | 133076705980 |      222 |    1250 |  4832319
 508325 |   92628 | 126562664576 |      223 |    1250 |  4853643
(2 rows)

рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдпреЗ рдкреБрд░рд╕реНрдХрд╛рд░ pool_id == 1250 рджреНрд╡рд╛рд░рд╛ рдЕрд░реНрдЬрд┐рдд рдХрд┐рдП рдЧрдП рдереЗред

рд╣рд╛рд▓рд╛рдБрдХрд┐:

cexplorer=# select block.block_no, slot_leader.pool_hash_id
              from block inner join slot_leader on block.slot_leader_id = slot_leader.id
              where pool_hash_id = 1250 ;
 block_no | pool_hash_id 
----------+--------------
(0 rows)

рдпрджрд┐ рдпреЗ # 361 рдореЗрдВ рд╣рд▓ рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рдирд┐рдХрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рддреНрдпрд╛рдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@erikd рдЬреЛ рдореИрдВрдиреЗ рдХрд▓ рдЖрдкрдХреЛ рдмрддрд╛рдпрд╛ рд╡рд╣ рдЧрд▓рдд рдерд╛, рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЖрдЬ рдХрд▓реНрдкрдирд╛ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЛрдиреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА, рдЬреЛ рд╕рд╣рдордд рд╣реИрдВ рдФрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рд╕реНрдЯреЗрдХ рдкреВрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдореЗрдВ рдЗрдирд╛рдо рдЦрд╛рддреЗ:

  • рдкрдВрдЬреАрдХреГрдд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
  • рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рджреЛ рдкреВрд▓ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЗрдирд╛рдо рдЦрд╛рддреЗ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЦрд╛рддреЗ рдХреЛ рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХрд╛ рдпреЛрдЧ рдорд┐рд▓рддрд╛ рд╣реИред

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ #361 рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдКрдкрд░ рд╕реЗ addr_id рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП:

cexplorer=# select * from delegation where addr_id = 92628 ;
 id | addr_id | cert_index | pool_hash_id | active_epoch_no | tx_id 
----+---------+------------+--------------+-----------------+-------
(0 rows)

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ addr_id рдкреВрд▓ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдЗрдирд╛рдо рдХрд╛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреБрдЪреНрдЫ рд╣реИ:

cexplorer=# select id, hash_id, pledge, margin, fixed_cost, active_epoch_no, reward_addr_id
              from pool_update where reward_addr_id = 92628 ;
  id  | hash_id | pledge | margin | fixed_cost | active_epoch_no | reward_addr_id 
------+---------+--------+--------+------------+-----------------+----------------
 4621 |    1245 |      0 |      1 |  340000000 |             218 |          92628
 4622 |    1246 |      0 |      1 |  340000000 |             218 |          92628
 4623 |    1247 |      0 |      1 |  340000000 |             218 |          92628
 4624 |    1248 |      0 |      1 |  340000000 |             218 |          92628
 4625 |    1249 |      0 |      1 |  340000000 |             218 |          92628
 4626 |    1250 |      0 |      1 |  340000000 |             218 |          92628
 5683 |    1245 |      0 |      1 |  340000000 |             224 |          92628
 5684 |    1246 |      0 |      1 |  340000000 |             224 |          92628
 5685 |    1247 |      0 |      1 |  340000000 |             224 |          92628
(9 rows)

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдкрддрд╛ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреВрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдирд╛рдо рдХрд╛ рдкрддрд╛ рд╣реИред рдпрд╣ рдореБрджреНрджрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдкреЗрдЪреАрджрд╛ рд╣реИ. рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдПрдХ рдзрд╛рд░рдгрд╛ рдереА рдХрд┐ рдПрдХ рдПрдХрд▓ stake_address рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкреВрд▓ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИ, рдПрдХ рдПрдХрд▓ stake_address рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреВрд▓ рдХреЗ рд▓рд┐рдП рдЗрдирд╛рдо рдХреЗ рдкрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдпрджрд┐ stake_address рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛ рдкреВрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдирд╛рдо рдХреЗ рдкрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрдирд╛рдо рдХреА рд░рд╛рд╢рд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреВрд▓ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХрд╛ рдпреЛрдЧ рд╣реЛрдЧреАред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдЕрдВрдбреЗ рдХреЛ рдмрд┐рдирд╛ рдЫреАрд▓реЗ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рд╕рд┐рд░реНрдл рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХреАрдбрд╝реЛрдВ рдХрд╛ рдкреВрд░рд╛ рдбрд┐рдмреНрдмрд╛ рд╣реИред

@JaredCorduan рдХреЗ рд╕рд╛рде IOHK рдЗрдВрдЯрд░рдирд▓ рд╕реНрд▓реИрдХ рдкрд░ рдЪреИрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдСрди-рдЪреЗрди рдбреЗрдЯрд╛ рдХрд╛ db-sync рдХрд╛ рдЙрдкрдЪрд╛рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рдерд╛ рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ SPO рдиреЗ рдЕрдкрдиреЗ рдкреВрд▓ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реЛред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрджрд┐ рдХреЛрдИ рдкреВрд▓ рдПрдХ рд╕реНрдЯреЗрдХ/рдЗрдирд╛рдо рдкрддреЗ рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрд╡рдпрдВ рдХрднреА рднреА рд╕реНрдЯреЗрдХ рдкрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╢реЗрд▓реА рдбрд┐рдЬрд╝рд╛рдЗрди рд╕реНрдкреЗрдХ рдХреЗ рдЦрдВрдб 3.3.4 рдХреЗ рдмрд┐рдВрджреБ 3 рдХреЗ рдЕрдиреБрд╕рд╛рд░:

рдХреНрдпрд╛ рдЗрдирд╛рдо рдХрд╛ рдкрддрд╛ рдЕрдкрдВрдЬреАрдХреГрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реНрдЯреЗрдХ рдкреВрд▓ рдСрдкрд░реЗрдЯрд░ рдкреБрд░рд╕реНрдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реЛрдЧрд╛ред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреЛрдИ рднреА рдкреБрд░рд╕реНрдХрд╛рд░ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рджреЗрдп рд╣реЛрдЧрд╛, рдмрджрд▓реЗ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рднрдВрдбрд╛рд░ рдореЗрдВ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рд╕реНрдЯреЗрдХ рдкреВрд▓ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рдЕрднреА рднреА рдЙрдирдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдкреБрд░рд╕реНрдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗ)ред

рджреВрд╕рд░реЗ, рдпрджрд┐ рджреЛ рдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдкреВрд▓ рдПрдХ рд╣реА рд╣рд┐рд╕реНрд╕реЗрджрд╛рд░реА/рдЗрдирд╛рдо рдкрддреЗ рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд рд╣реИрдВ рдФрд░ рджреЛ рдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдкреВрд▓ рдкреБрд░рд╕реНрдХрд╛рд░ рдЕрд░реНрдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╕реНрдХрд╛рд░ ("рдкрд╣рд▓реЗ" рдХреИрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?) рдкреВрд▓ рдкрддреЗ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдХреА рд╕рднреА рдХреЛ рдЬрд╛рддрд╛ рд╣реИ рд░рд┐рдЬрд░реНрд╡ / рдЯреНрд░реЗрдЬрд░реАред рдореБрдЭреЗ рдЕрднреА рддрдХ рдЗрд╕ рдкрд░ рдЙрдЪрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рдорд┐рд▓реЗ рд╣реИрдВред

@erikd рдЬреЛ рдореИрдВрдиреЗ рдХрд▓ рдЖрдкрдХреЛ рдмрддрд╛рдпрд╛ рд╡рд╣ рдЧрд▓рдд рдерд╛, рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЖрдЬ рдХрд▓реНрдкрдирд╛ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЛрдиреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА, рдЬреЛ рд╕рд╣рдордд рд╣реИрдВ рдФрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рд╕реНрдЯреЗрдХ рдкреВрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдореЗрдВ рдЗрдирд╛рдо рдЦрд╛рддреЗ:

  • рдкрдВрдЬреАрдХреГрдд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
  • рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рджреЛ рдкреВрд▓ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЗрдирд╛рдо рдЦрд╛рддреЗ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЦрд╛рддреЗ рдХреЛ рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХрд╛ рдпреЛрдЧ рдорд┐рд▓рддрд╛ рд╣реИред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред @JaredCorduan рдЗрд╕реЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реИред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЪреАрдЬреЗрдВ рдмрджрд▓ рдЧрдИред

> select * from pool_hash
      where pool_hash.hash_raw = '\x964d8d35d91603e0dcfbc64891ee8ffeba0e503ca96bf627bc8bcb55' ;
  id  |                          hash_raw                          |                           view                           
------+------------------------------------------------------------+----------------------------------------------------------
 4626 | \x964d8d35d91603e0dcfbc64891ee8ffeba0e503ca96bf627bc8bcb55 | pool1jexc6dwezcp7ph8mceyfrm50l6aqu5pu494lvfau309422t9c6z

рд▓реЗрдХрд┐рди:

> select reward.* from pool_hash
      inner join reward on reward.pool_id = pool_hash.id
      where pool_hash.hash_raw = '\x964d8d35d91603e0dcfbc64891ee8ffeba0e503ca96bf627bc8bcb55' ;
 id | addr_id | amount | epoch_no | pool_id | block_id | type 
----+---------+--------+----------+---------+----------+------
(0 rows)

рдпреЗ рдкреНрд░рд╢реНрди master рдкреНрд░рддрд┐рдмрджреНрдз f7ee30a245131255f816d6952ef6f0b938e61b94 . рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдЪрд▓рд╛рдП рдЧрдП рдереЗ

рдЖрд╣, рд▓реЗрдХрд┐рди рдЗрдирд╛рдо рддрд╛рд▓рд┐рдХрд╛ рдХреА рдХреНрд╡реЗрд░реА (рдЬреЛ рд╢реВрдиреНрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд▓реМрдЯрд╛рддреА рд╣реИ) рд╕рд╣реА рд╣реИ:

> select block.block_no, slot_leader.pool_hash_id
              from block inner join slot_leader on block.slot_leader_id = slot_leader.id
              where pool_hash_id = 4626 ;
 block_no | pool_hash_id 
----------+--------------
(0 rows)

рддреЛ рд╡рд┐рд╖рдо рдмреЗрдореЗрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЯрд┐рдХрдЯ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

rhyslbw picture rhyslbw  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rcmorano picture rcmorano  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kzka90 picture kzka90  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

johnalotoski picture johnalotoski  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

xdzurman picture xdzurman  ┬╖  18рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ