dht
This commit is contained in:
1 parent
c6c6276fe6
commit
698d0ca3f7
49 files changed
+1118
-53
No files matched your search
@@ -0,0 +1,22 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from sqlalchemy import Column, String, Integer, Float, JSON, DateTime
|
||||
from datetime import datetime
|
||||
|
||||
from .base import AlchemyBase
|
||||
|
||||
|
||||
class DHTRecordRow(AlchemyBase):
|
||||
__tablename__ = 'dht_records'
|
||||
|
||||
# fingerprint = blake3(serialized key)
|
||||
fingerprint = Column(String(128), primary_key=True)
|
||||
key = Column(String(512), nullable=False, index=True)
|
||||
schema_version = Column(String(16), nullable=False, default='v1')
|
||||
logical_counter = Column(Integer, nullable=False, default=0)
|
||||
timestamp = Column(Float, nullable=False, default=0.0)
|
||||
node_id = Column(String(128), nullable=False)
|
||||
signature = Column(String(512), nullable=True)
|
||||
value = Column(JSON, nullable=False, default=dict)
|
||||
updated_at = Column(DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
|
||||
@@ -11,12 +11,12 @@ from app.core._crypto.signer import Signer
|
||||
from app.core._secrets import hot_pubkey, hot_seed
|
||||
from app.core.logger import make_log
|
||||
from app.core.network.dht import (
|
||||
DHTStore,
|
||||
MembershipManager,
|
||||
ReplicationManager,
|
||||
MetricsAggregator,
|
||||
compute_node_id,
|
||||
)
|
||||
from app.core.network.dht.store import PersistentDHTStore
|
||||
|
||||
|
||||
class Memory:
|
||||
@@ -59,7 +59,7 @@ class Memory:
|
||||
# Decentralised storage components
|
||||
self.node_id = compute_node_id(hot_pubkey)
|
||||
self.signer = Signer(hot_seed)
|
||||
self.dht_store = DHTStore(self.node_id, self.signer)
|
||||
self.dht_store = PersistentDHTStore(self.node_id, self.signer)
|
||||
self.membership = MembershipManager(self.node_id, self.signer, self.dht_store)
|
||||
self.replication = ReplicationManager(self.node_id, self.signer, self.dht_store)
|
||||
self.metrics = MetricsAggregator(self.node_id, self.signer, self.dht_store)
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from sqlalchemy import Column, String, Integer, DateTime
|
||||
|
||||
from .base import AlchemyBase
|
||||
|
||||
|
||||
class RdapCache(AlchemyBase):
|
||||
__tablename__ = 'rdap_cache'
|
||||
|
||||
ip = Column(String(64), primary_key=True)
|
||||
asn = Column(Integer, nullable=True)
|
||||
source = Column(String(64), nullable=True)
|
||||
updated_at = Column(DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
|
||||
Reference in new issue
Block a user