-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(cannon): Canonical Beacon Committees (#351)
* feat(cannon): Canonical Beacon Committees * feat(cannon): Canonical Beacon Committees * Update deploy/migrations/clickhouse/045_canonical_beacon_committee.up.sql Co-authored-by: Andrew Davis <[email protected]> Signed-off-by: Sam Calder-Mason <[email protected]> --------- Signed-off-by: Sam Calder-Mason <[email protected]> Co-authored-by: Andrew Davis <[email protected]>
- Loading branch information
Showing
40 changed files
with
1,934 additions
and
1,374 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
deploy/migrations/clickhouse/045_canonical_beacon_committee.down.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
DROP TABLE IF EXISTS default.canonical_beacon_committee ON CLUSTER '{cluster}' SYNC; | ||
DROP TABLE IF EXISTS default.canonical_beacon_committee_local ON cluster '{cluster}' SYNC; |
53 changes: 53 additions & 0 deletions
53
deploy/migrations/clickhouse/045_canonical_beacon_committee.up.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
CREATE TABLE default.canonical_beacon_committee_local ON CLUSTER '{cluster}' ( | ||
`updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), | ||
`event_date_time` DateTime64(3) COMMENT 'When the sentry received the event from a beacon node' CODEC(DoubleDelta, ZSTD(1)), | ||
`slot` UInt32 COMMENT 'Slot number in the beacon API committee payload' CODEC(DoubleDelta, ZSTD(1)), | ||
`slot_start_date_time` DateTime COMMENT 'The wall clock time when the slot started' CODEC(DoubleDelta, ZSTD(1)), | ||
`committee_index` LowCardinality(String) COMMENT 'The committee index in the beacon API committee payload', | ||
`validators` Array(UInt32) COMMENT 'The validator indices in the beacon API committee payload' CODEC(ZSTD(1)), | ||
`epoch` UInt32 COMMENT 'The epoch number in the beacon API committee payload' CODEC(DoubleDelta, ZSTD(1)), | ||
`epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), | ||
`meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', | ||
`meta_client_id` String COMMENT 'Unique Session ID of the client that generated the event. This changes every time the client is restarted.' CODEC(ZSTD(1)), | ||
`meta_client_version` LowCardinality(String) COMMENT 'Version of the client that generated the event', | ||
`meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client that generated the event', | ||
`meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client that generated the event', | ||
`meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client that generated the event' CODEC(ZSTD(1)), | ||
`meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client that generated the event' CODEC(ZSTD(1)), | ||
`meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client that generated the event' CODEC(ZSTD(1)), | ||
`meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client that generated the event' CODEC(ZSTD(1)), | ||
`meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client that generated the event' CODEC(ZSTD(1)), | ||
`meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client that generated the event' CODEC(ZSTD(1)), | ||
`meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client that generated the event' CODEC(ZSTD(1)), | ||
`meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'Autonomous system number of the client that generated the event' CODEC(ZSTD(1)), | ||
`meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'Autonomous system organization of the client that generated the event' CODEC(ZSTD(1)), | ||
`meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), | ||
`meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', | ||
`meta_consensus_version` LowCardinality(String) COMMENT 'Ethereum consensus client version that generated the event', | ||
`meta_consensus_version_major` LowCardinality(String) COMMENT 'Ethereum consensus client major version that generated the event', | ||
`meta_consensus_version_minor` LowCardinality(String) COMMENT 'Ethereum consensus client minor version that generated the event', | ||
`meta_consensus_version_patch` LowCardinality(String) COMMENT 'Ethereum consensus client patch version that generated the event', | ||
`meta_consensus_implementation` LowCardinality(String) COMMENT 'Ethereum consensus client implementation that generated the event', | ||
`meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) | ||
) ENGINE = ReplicatedReplacingMergeTree( | ||
'/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', | ||
'{replica}', | ||
updated_date_time | ||
) PARTITION BY toStartOfMonth(slot_start_date_time) | ||
ORDER BY | ||
( | ||
slot_start_date_time, | ||
meta_network_name, | ||
committee_index, | ||
) COMMENT 'Contains canonical beacon API /eth/v1/beacon/committees data.'; | ||
|
||
CREATE TABLE default.canonical_beacon_committee ON CLUSTER '{cluster}' AS default.canonical_beacon_committee_local ENGINE = Distributed( | ||
'{cluster}', | ||
default, | ||
canonical_beacon_committee_local, | ||
cityHash64( | ||
slot_start_date_time, | ||
meta_network_name, | ||
committee_index | ||
) | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.