рдореИрдВ рдХрд╛рд░реНрдбрд╛рдиреЛ-рд╕рдмрдорд┐рдЯ-рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЗрди-рджреЗрди рдирд╣реАрдВ рднреЗрдЬ рд╕рдХрд╛, рдЗрд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ "рд╡рд┐рджрдбреНрд░реЙрдЕрд▓реНрд╕рдиреЙрдЯрдЗрдирд░рд┐рд╡рд╛рд░реНрдбреНрд╕рдбреАрдИрдПрд▓рдЬреАрдПрд╕", рдЧрд▓рдд рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХрд╛ рдЕрд░реНрде рд╣реИ, рдпрд╛ рд╕рднреА рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд╕рднреА рднрд╛рдЧреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА, рдЬрд╣рд╛рдБ рдпрд╣ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рдерд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдбреАрдмреА-рд╕рд┐рдВрдХ рдФрд░ рдпреЛрд░реЛрдИ рдПрдкреАрдЖрдИ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрддреЗ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреАред рдпреЗ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдмреЗрдореЗрд▓ рд╣реИрдВ (рд▓рд╡рд▓реЗрд╕ рдореЗрдВ):
рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдЗрд╕ SQL тАЛтАЛтАЛтАЛрд╕реЗ рдбреАрдмреА-рд╕рд┐рдВрдХ рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИ:
SELECT
(SELECT COALESCE(SUM(rewards.amount), 0) FROM
(
SELECT amount FROM reward WHERE addr_id=$1
UNION ALL
SELECT amount FROM reserve WHERE addr_id=$1
) rewards
) - (
SELECT COALESCE(SUM(amount), 0) FROM withdrawal WHERE addr_id=$1
)
AS "remainingRewards"
рдпреЛрд░реЛрдИ рдПрдкреА рд╕реЗ рдорд╛рдЗрдирд╕ рд░рд┐рд╡рд╛рд░реНрдбреНрд╕ред
@erikd рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпреЛрд░реЛрдИ рдЗрд╕реЗ рдбреАрдмреА-рд╕рд┐рдВрдХ рд╕реЗ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпреЗ рд╕рдВрднрд╡рддрдГ рджреЛ рдЧрд▓рдд рдорд╛рдиреЛрдВ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, рддреНрд░реБрдЯрд┐ рдбреАрдмреА-рд╕рд┐рдВрдХ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ
рд╣рдордиреЗ рдЗрд╕реЗ рдпреЛрд░реЛрдИ рдореЗрдВ рднреА рджреЗрдЦрд╛ рд╣реИ
рдХрд╛рд░реНрдбрд╛рдиреЛ-рдбреАрдмреА-рд╕рд┐рдВрдХ рдХреЗ 7 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп 30428426 рд╣реИ
backend#1 30428424
backend#2 30428424
backend#3 30428424
backend#4 30428423
backend#5 30428430
backend#6 30428424
backend#7 30428426
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ 1/7 рдмреИрдХрдПрдВрдб рдХреЛ рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛
рд╣рдордиреЗ рдбрдмрд▓-рдЪреЗрдХ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдпреЗ рдЧрд▓рдд рдорд╛рди SQL рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реНрдЯреИрдХ рдХреЗ рд╣рдорд╛рд░реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ
@SebastienGllmt рдХреНрдпрд╛? рдЕрд▓рдЧ-рдЕрд▓рдЧ db-sync
рдЙрджрд╛рд╣рд░рдг рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рджреЗрддреЗ рд╣реИрдВ ??? рдХреНрдпрд╛ рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ?
@xdzurman рдХреНрдпрд╛ рдЖрдк рдЙрд╕ SQL тАЛтАЛтАЛтАЛрдХреНрд╡реЗрд░реА рдХреЛ рд╕рд░рд▓ рдмрдирд╛ рдкрд╛рдПрдВрдЧреЗ? рддреАрди рдХреЙрд▓рдо, рдЗрдирд╛рдо, рд░рд┐рдЬрд░реНрд╡ рдФрд░ рдЕрдВрддрд░ рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреНрд╡реЗрд░реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд▓рдд рд╣реИред рдкреБрд░рд╕реНрдХрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ (рдореЗрд░рд╛ рдЙрджрд╛рд╣рд░рдг рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдордиреНрд╡рдпрд┐рдд рдирд╣реАрдВ рд╣реИ):
cexplorer=# select * from reward ;
id | addr_id | amount | epoch_no | pool_id | block_id
----+---------+--------+----------+---------+----------
(0 rows)
рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдпреБрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдирд╛рдо рд░рд╛рд╢рд┐ рд╣реЛрддреА рд╣реИ (рдпрд╛рдиреА рдпреБрдЧ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рд╕реНрдиреИрдкрд╢реЙрдЯ) рдФрд░ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдЦреЛрдЬреЗ рдмрд┐рдирд╛, рдореБрдЭреЗ рдпрд╣ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ reserve
рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреНрдпрд╛ рд╣реИред
@erikd рдпрд╣ рд╡рд╣ рдХреНрд╡реЗрд░реА рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ 7 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреИрдХрдПрдВрдб рдкрд░ рдЪрд▓рд╛рдпрд╛, рдЬрд┐рд╕рдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рджрд┐рдПред рд╡реЗ рдХрд╛рд░реНрдбрд╛рдиреЛ-рдбреАрдмреА-рд╕рд┐рдВрдХ рдХреЗ рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╕рдорд╛рди рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ
select stake_address.hash_raw as "stakeAddress"
, "totalReward".*
from stake_address
left outer join (
SELECT addr_id, amount
FROM reward
) as "totalReward" on stake_address.id = "totalReward".addr_id
where encode(stake_address.hash_raw, 'hex') = 'e1567298bc998d188d936f105f9e9e616f1980adacc06fc5732a57f9cc'
рдЗрд╕ SQL тАЛтАЛтАЛтАЛрдХреНрд╡реЗрд░реА рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрддреЗ рдиреЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдкреБрд░рд╕реНрдХрд╛рд░ рдЕрд░реНрдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреНрд╡реЗрд░реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд▓рдд рд╣реИред рдкреБрд░рд╕реНрдХрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ (рдореЗрд░рд╛ рдЙрджрд╛рд╣рд░рдг рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдордиреНрд╡рдпрд┐рдд рдирд╣реАрдВ рд╣реИ):
cexplorer=# select * from reward ; id | addr_id | amount | epoch_no | pool_id | block_id ----+---------+--------+----------+---------+---------- (0 rows)
рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдпреБрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдирд╛рдо рд░рд╛рд╢рд┐ рд╣реЛрддреА рд╣реИ (рдпрд╛рдиреА рдпреБрдЧ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рд╕реНрдиреИрдкрд╢реЙрдЯ) рдФрд░ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдЦреЛрдЬреЗ рдмрд┐рдирд╛, рдореБрдЭреЗ рдпрд╣ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐
reserve
рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреНрдпрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ - рд░рд┐рдЬрд░реНрд╡ рдореЗрдВ рдЖрдИрдЯреАрдПрди рдкреБрд░рд╕реНрдХрд╛рд░ рд╣реИрдВред рдкреБрд░рд╕реНрдХрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рдЙрд╕ рдпреБрдЧ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреА рд╣реИред рддреЛ рд╢реЗрд╖ рдкреБрд░рд╕реНрдХрд╛рд░ рд╕рднреА рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХрд╛ рдпреЛрдЧ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдирд┐рдХрд╛рд╕реА рдШрдЯрд╛ рд╣реИред
рд╣рдордиреЗ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдХреА рдЦреЛрдЬ рдХреАред 137 рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдиреЗ рдареАрдХ 500 рдПрдбреАрдП рд╡рд╛рдкрд╕ рд▓реЗ рд▓рд┐рдпрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рдирд┐рдХрд╛рд╕реА рдореЗрдВ рдбреАрдмреА-рд╕рд┐рдВрдХ рдбреАрдмреА рдХреЗ рдЕрдВрджрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рдЙрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрддреБрд▓рди рдорд┐рд▓рд╛ред рдпрд╛ рддреЛ рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ рдпрд╛ рд╣рдо рдЕрдкрдиреА рдУрд░ рд╕реЗ рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдПрдХ рдиреЗ 500 рдПрдбреАрдП рд╡рд╛рдкрд╕ рд▓реЗ рд▓рд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдбреАрдмреА-рд╕рд┐рдВрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЗрд╡рд▓ 200 рдПрдбреАрдП рдорд┐рд▓рд╛ рд╣реИред рдореЗрд░рд╛ рдЙрджрд╛рд╣рд░рдг 214 рдкрд░ рдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рдж рдпреБрдЧ рдХреЗ рд▓рд┐рдП рд╣реИ
рдХреНрдпрд╛ https://github.com/input-output-hk/cardano-db-sync/pull/413 рдЗрд╕реЗ рднреА рдареАрдХ рдХрд░рддрд╛ рд╣реИ?
@mmahut рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИред #413 рдкрд░ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдмрдЧ рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рднреА рдмрди рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдореБрджреНрджреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред @xdzurman ?
@mmahut рдпрд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╣реИ? рдореБрдЭреЗ рдЗрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╣реЛрдирд╛ рдЖрд╕рд╛рди рдкреНрд░рдЬрдирди рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдерд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЧрдИ рд╣реИ, рдореИрдВ рдЗрд╕рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдареАрдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реЛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдЖрддреА рд╣реИ рддреЛ рдмреЗрдЭрд┐рдЭрдХ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдерд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЧрдИ рд╣реИ, рдореИрдВ рдЗрд╕рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ред