fix: update .gitignore to exclude tracked runtime files
- Added cli/config/ to gitignore (CLI configuration files) - Added dev/cache/logs/ to gitignore (development logs) - Added dev/config/ to gitignore (development config) - Added dev/test-nodes/*/data/ to gitignore (test node data) - Removed tracked runtime files from git index - Kept apps/coordinator-api/src/app/data/ (contains application code) - Removed contracts/artifacts/**/*.dbg.json (debug artifacts) - Removed dev/test-nodes/brother_node/data/*.db (database files) - Removed dev/cache/logs/*.log (log files) - Removed dev/config/* (development config files)
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@@ -46,6 +46,11 @@ htmlcov/
|
||||
*.db-shm
|
||||
data/
|
||||
apps/blockchain-node/data/
|
||||
cli/config/
|
||||
dev/cache/logs/
|
||||
dev/config/
|
||||
dev/test-nodes/*/data/
|
||||
# Keep coordinator-api data directory (contains application code)
|
||||
!apps/coordinator-api/src/app/data/
|
||||
|
||||
# ===================
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
"""Configuration management for AITBC CLI"""
|
||||
|
||||
import os
|
||||
import yaml
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
from dataclasses import dataclass, field
|
||||
from dotenv import load_dotenv
|
||||
|
||||
|
||||
@dataclass
|
||||
class Config:
|
||||
"""Configuration object for AITBC CLI"""
|
||||
coordinator_url: str = "http://127.0.0.1:8000"
|
||||
api_key: Optional[str] = None
|
||||
role: Optional[str] = None # admin, client, miner, etc.
|
||||
config_dir: Path = field(default_factory=lambda: Path.home() / ".aitbc")
|
||||
config_file: Optional[str] = None
|
||||
blockchain_rpc_url: str = "http://127.0.0.1:8006"
|
||||
wallet_url: str = "http://127.0.0.1:8002"
|
||||
|
||||
def _validate_localhost_urls(self):
|
||||
"""Validate that all service URLs point to localhost"""
|
||||
localhost_prefixes = ["http://localhost:", "http://127.0.0.1:", "https://localhost:", "https://127.0.0.1:"]
|
||||
|
||||
urls_to_check = [
|
||||
("coordinator_url", self.coordinator_url),
|
||||
("blockchain_rpc_url", self.blockchain_rpc_url),
|
||||
("wallet_url", self.wallet_url)
|
||||
]
|
||||
|
||||
for url_name, url in urls_to_check:
|
||||
if not any(url.startswith(prefix) for prefix in localhost_prefixes):
|
||||
# Force to localhost if not already
|
||||
if url_name == "coordinator_url":
|
||||
self.coordinator_url = "http://localhost:8000"
|
||||
elif url_name == "blockchain_rpc_url":
|
||||
self.blockchain_rpc_url = "http://localhost:8006"
|
||||
elif url_name == "wallet_url":
|
||||
self.wallet_url = "http://localhost:8002"
|
||||
|
||||
def __post_init__(self):
|
||||
"""Initialize configuration"""
|
||||
# Load environment variables
|
||||
load_dotenv()
|
||||
|
||||
# Set default config file based on role if not specified
|
||||
if not self.config_file:
|
||||
if self.role:
|
||||
self.config_file = str(self.config_dir / f"{self.role}-config.yaml")
|
||||
else:
|
||||
self.config_file = str(self.config_dir / "config.yaml")
|
||||
|
||||
# Load config from file if it exists
|
||||
self.load_from_file()
|
||||
|
||||
# Override with environment variables
|
||||
if os.getenv("AITBC_URL"):
|
||||
self.coordinator_url = os.getenv("AITBC_URL")
|
||||
if os.getenv("AITBC_API_KEY"):
|
||||
self.api_key = os.getenv("AITBC_API_KEY")
|
||||
if os.getenv("AITBC_ROLE"):
|
||||
self.role = os.getenv("AITBC_ROLE")
|
||||
if os.getenv("AITBC_BLOCKCHAIN_RPC_URL"):
|
||||
self.blockchain_rpc_url = os.getenv("AITBC_BLOCKCHAIN_RPC_URL")
|
||||
if os.getenv("AITBC_WALLET_URL"):
|
||||
self.wallet_url = os.getenv("AITBC_WALLET_URL")
|
||||
|
||||
# Validate and enforce localhost URLs
|
||||
self._validate_localhost_urls()
|
||||
|
||||
def load_from_file(self):
|
||||
"""Load configuration from YAML file"""
|
||||
if self.config_file and Path(self.config_file).exists():
|
||||
try:
|
||||
with open(self.config_file, 'r') as f:
|
||||
data = yaml.safe_load(f) or {}
|
||||
|
||||
self.coordinator_url = data.get('coordinator_url', self.coordinator_url)
|
||||
self.api_key = data.get('api_key', self.api_key)
|
||||
self.role = data.get('role', self.role)
|
||||
self.blockchain_rpc_url = data.get('blockchain_rpc_url', self.blockchain_rpc_url)
|
||||
self.wallet_url = data.get('wallet_url', self.wallet_url)
|
||||
except Exception as e:
|
||||
print(f"Warning: Could not load config file: {e}")
|
||||
|
||||
# Validate and enforce localhost URLs after file loading
|
||||
self._validate_localhost_urls()
|
||||
|
||||
def save_to_file(self):
|
||||
"""Save configuration to YAML file"""
|
||||
if not self.config_file:
|
||||
return
|
||||
|
||||
# Ensure config directory exists
|
||||
Path(self.config_file).parent.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
data = {
|
||||
'coordinator_url': self.coordinator_url,
|
||||
'api_key': self.api_key,
|
||||
'blockchain_rpc_url': self.blockchain_rpc_url,
|
||||
'wallet_url': self.wallet_url
|
||||
}
|
||||
|
||||
if self.role:
|
||||
data['role'] = self.role
|
||||
|
||||
with open(self.config_file, 'w') as f:
|
||||
yaml.dump(data, f, default_flow_style=False)
|
||||
|
||||
|
||||
def get_config(config_file: Optional[str] = None, role: Optional[str] = None) -> Config:
|
||||
"""Get configuration instance with optional role"""
|
||||
return Config(config_file=config_file, role=role)
|
||||
@@ -1,29 +0,0 @@
|
||||
description: Genesis configuration for AITBC Development Network
|
||||
genesis:
|
||||
accounts:
|
||||
- address: "aitbc1genesis"
|
||||
balance: "1000000000000000000000000"
|
||||
type: "regular"
|
||||
- address: "aitbc1faucet"
|
||||
balance: "100000000000000000000000"
|
||||
type: "faucet"
|
||||
chain_type: main
|
||||
consensus:
|
||||
algorithm: poa
|
||||
authorities:
|
||||
- "ait1devproposer000000000000000000000000000000"
|
||||
block_time: 5
|
||||
max_validators: 100
|
||||
contracts: []
|
||||
description: Development network for AITBC multi-chain testing
|
||||
name: AITBC Development Network
|
||||
parameters:
|
||||
block_reward: "2000000000000000000"
|
||||
max_block_size: 1048576
|
||||
max_gas_per_block: 10000000
|
||||
min_gas_price: 1000000000
|
||||
privacy:
|
||||
access_control: open
|
||||
require_invitation: false
|
||||
visibility: public
|
||||
purpose: development
|
||||
@@ -1,22 +0,0 @@
|
||||
description: Genesis template for multi-chain-dev
|
||||
genesis:
|
||||
accounts: []
|
||||
chain_type: topic
|
||||
consensus:
|
||||
algorithm: pos
|
||||
authorities: []
|
||||
block_time: 5
|
||||
max_validators: 100
|
||||
contracts: []
|
||||
description: A multi-chain-dev chain for AITBC
|
||||
name: Multi-Chain-Dev Chain
|
||||
parameters:
|
||||
block_reward: '2000000000000000000'
|
||||
max_block_size: 1048576
|
||||
max_gas_per_block: 10000000
|
||||
min_gas_price: 1000000000
|
||||
privacy:
|
||||
access_control: open
|
||||
require_invitation: false
|
||||
visibility: public
|
||||
purpose: multi-chain-dev
|
||||
@@ -1,31 +0,0 @@
|
||||
chain:
|
||||
type: "topic"
|
||||
purpose: "healthcare"
|
||||
name: "Healthcare AI Chain"
|
||||
description: "A specialized chain for healthcare AI applications"
|
||||
|
||||
consensus:
|
||||
algorithm: "pos"
|
||||
block_time: 5
|
||||
max_validators: 21
|
||||
min_stake: 1000000000000000000 # 1 ETH
|
||||
authorities: []
|
||||
|
||||
privacy:
|
||||
visibility: "public"
|
||||
access_control: "open"
|
||||
require_invitation: false
|
||||
encryption_enabled: false
|
||||
|
||||
parameters:
|
||||
max_block_size: 1048576 # 1MB
|
||||
max_gas_per_block: 10000000
|
||||
min_gas_price: 20000000000 # 20 gwei
|
||||
block_reward: "5000000000000000000" # 5 ETH
|
||||
difficulty: 1000000
|
||||
|
||||
limits:
|
||||
max_participants: 1000
|
||||
max_contracts: 100
|
||||
max_transactions_per_block: 500
|
||||
max_storage_size: 1073741824 # 1GB
|
||||
@@ -1,26 +0,0 @@
|
||||
# Multi-chain configuration for AITBC CLI
|
||||
nodes:
|
||||
default-node:
|
||||
id: default-node
|
||||
endpoint: http://localhost:8545
|
||||
timeout: 30
|
||||
retry_count: 3
|
||||
max_connections: 10
|
||||
|
||||
aitbc-main:
|
||||
id: aitbc-main
|
||||
endpoint: http://localhost:8546
|
||||
timeout: 30
|
||||
retry_count: 3
|
||||
max_connections: 10
|
||||
|
||||
chains:
|
||||
default_gas_limit: 10000000
|
||||
default_gas_price: 20000000000
|
||||
max_block_size: 1048576
|
||||
backup_path: ./backups
|
||||
max_concurrent_chains: 100
|
||||
|
||||
logging_level: INFO
|
||||
enable_caching: true
|
||||
cache_ttl: 300
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../../../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/c3c3dff059b2d1b75090cf2368c4753b.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_format": "hh-sol-dbg-1",
|
||||
"buildInfo": "../../build-info/9733ae384af13e1bc5099101cffcb80a.json"
|
||||
}
|
||||
124
dev/cache/logs/host_gpu_miner.log
vendored
124
dev/cache/logs/host_gpu_miner.log
vendored
@@ -1,124 +0,0 @@
|
||||
2026-02-24 01:18:03,341 - INFO - Starting Real GPU Miner Client on Host...
|
||||
2026-02-24 01:18:03,358 - INFO - GPU detected: NVIDIA GeForce RTX 4060 Ti (16380MB)
|
||||
2026-02-24 01:18:03,400 - INFO - HTTP Request: GET http://localhost:11434/api/tags "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:18:03,400 - INFO - Ollama running with models: ['lauchacarro/qwen2.5-translator:latest', 'gemma3:1b']
|
||||
2026-02-24 01:18:03,401 - INFO - Ollama models available: lauchacarro/qwen2.5-translator:latest, gemma3:1b
|
||||
2026-02-24 01:18:03,409 - INFO - HTTP Request: GET http://127.0.0.1:18000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:18:03,409 - INFO - Coordinator is available!
|
||||
2026-02-24 01:18:03,478 - INFO - HTTP Request: POST http://127.0.0.1:18000/v1/miners/register?miner_id=${MINER_API_KEY} "HTTP/1.1 401 Unauthorized"
|
||||
2026-02-24 01:18:03,478 - ERROR - Registration failed: 401 - {"detail":"invalid api key"}
|
||||
2026-02-24 01:18:03,478 - ERROR - Failed to register, exiting
|
||||
2026-02-24 01:26:21,106 - INFO - Starting Real GPU Miner Client on Host...
|
||||
2026-02-24 01:26:21,122 - INFO - GPU detected: NVIDIA GeForce RTX 4060 Ti (16380MB)
|
||||
2026-02-24 01:26:21,166 - INFO - HTTP Request: GET http://localhost:11434/api/tags "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:26:21,166 - INFO - Ollama running with models: ['lauchacarro/qwen2.5-translator:latest', 'gemma3:1b']
|
||||
2026-02-24 01:26:21,166 - INFO - Ollama models available: lauchacarro/qwen2.5-translator:latest, gemma3:1b
|
||||
2026-02-24 01:26:21,183 - INFO - HTTP Request: GET http://127.0.0.1:18000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:26:21,183 - INFO - Coordinator is available!
|
||||
2026-02-24 01:26:21,225 - INFO - HTTP Request: POST http://127.0.0.1:18000/v1/miners/register?miner_id=${MINER_API_KEY} "HTTP/1.1 401 Unauthorized"
|
||||
2026-02-24 01:26:21,226 - ERROR - Registration failed: 401 - {"detail":"invalid api key"}
|
||||
2026-02-24 01:26:21,226 - ERROR - Failed to register, exiting
|
||||
2026-02-24 01:30:07,020 - INFO - Starting Real GPU Miner Client on Host...
|
||||
2026-02-24 01:30:07,039 - INFO - GPU detected: NVIDIA GeForce RTX 4060 Ti (16380MB)
|
||||
2026-02-24 01:30:07,099 - INFO - HTTP Request: GET http://localhost:11434/api/tags "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:30:07,100 - INFO - Ollama running with models: ['lauchacarro/qwen2.5-translator:latest', 'gemma3:1b']
|
||||
2026-02-24 01:30:07,100 - INFO - Ollama models available: lauchacarro/qwen2.5-translator:latest, gemma3:1b
|
||||
2026-02-24 01:30:07,109 - INFO - HTTP Request: GET http://127.0.0.1:18000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:30:07,110 - INFO - Coordinator is available!
|
||||
2026-02-24 01:30:07,157 - INFO - HTTP Request: POST http://127.0.0.1:18000/v1/miners/register?miner_id=${MINER_API_KEY} "HTTP/1.1 401 Unauthorized"
|
||||
2026-02-24 01:30:07,157 - ERROR - Registration failed: 401 - {"detail":"invalid api key"}
|
||||
2026-02-24 01:30:07,157 - ERROR - Failed to register, exiting
|
||||
2026-02-24 01:30:56,038 - INFO - Starting Real GPU Miner Client on Host...
|
||||
2026-02-24 01:30:56,055 - INFO - GPU detected: NVIDIA GeForce RTX 4060 Ti (16380MB)
|
||||
2026-02-24 01:30:56,098 - INFO - HTTP Request: GET http://localhost:11434/api/tags "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:30:56,098 - INFO - Ollama running with models: ['lauchacarro/qwen2.5-translator:latest', 'gemma3:1b']
|
||||
2026-02-24 01:30:56,098 - INFO - Ollama models available: lauchacarro/qwen2.5-translator:latest, gemma3:1b
|
||||
2026-02-24 01:30:56,107 - INFO - HTTP Request: GET http://127.0.0.1:18000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:30:56,107 - INFO - Coordinator is available!
|
||||
2026-02-24 01:30:56,151 - INFO - HTTP Request: POST http://127.0.0.1:18000/v1/miners/register?miner_id=${MINER_API_KEY} "HTTP/1.1 401 Unauthorized"
|
||||
2026-02-24 01:30:56,151 - ERROR - Registration failed: 401 - {"detail":"invalid api key"}
|
||||
2026-02-24 01:30:56,151 - ERROR - Failed to register, exiting
|
||||
2026-02-24 01:31:11,594 - INFO - Starting Real GPU Miner Client on Host...
|
||||
2026-02-24 01:31:11,613 - INFO - GPU detected: NVIDIA GeForce RTX 4060 Ti (16380MB)
|
||||
2026-02-24 01:31:11,657 - INFO - HTTP Request: GET http://localhost:11434/api/tags "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:31:11,657 - INFO - Ollama running with models: ['lauchacarro/qwen2.5-translator:latest', 'gemma3:1b']
|
||||
2026-02-24 01:31:11,657 - INFO - Ollama models available: lauchacarro/qwen2.5-translator:latest, gemma3:1b
|
||||
2026-02-24 01:31:11,665 - INFO - HTTP Request: GET http://127.0.0.1:18000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:31:11,665 - INFO - Coordinator is available!
|
||||
2026-02-24 01:31:11,709 - INFO - HTTP Request: POST http://127.0.0.1:18000/v1/miners/register?miner_id=miner_test_abc123 "HTTP/1.1 401 Unauthorized"
|
||||
2026-02-24 01:31:11,710 - ERROR - Registration failed: 401 - {"detail":"invalid api key"}
|
||||
2026-02-24 01:31:11,710 - ERROR - Failed to register, exiting
|
||||
2026-02-24 01:34:47,687 - INFO - Starting Real GPU Miner Client on Host...
|
||||
2026-02-24 01:34:47,705 - INFO - GPU detected: NVIDIA GeForce RTX 4060 Ti (16380MB)
|
||||
2026-02-24 01:34:47,749 - INFO - HTTP Request: GET http://localhost:11434/api/tags "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:34:47,750 - INFO - Ollama running with models: ['lauchacarro/qwen2.5-translator:latest', 'gemma3:1b']
|
||||
2026-02-24 01:34:47,750 - INFO - Ollama models available: lauchacarro/qwen2.5-translator:latest, gemma3:1b
|
||||
2026-02-24 01:34:47,758 - INFO - HTTP Request: GET http://127.0.0.1:18000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:34:47,758 - INFO - Coordinator is available!
|
||||
2026-02-24 01:34:47,800 - INFO - HTTP Request: POST http://127.0.0.1:18000/v1/miners/register?miner_id=miner_test_abc123 "HTTP/1.1 401 Unauthorized"
|
||||
2026-02-24 01:34:47,801 - ERROR - Registration failed: 401 - {"detail":"invalid api key"}
|
||||
2026-02-24 01:34:47,801 - ERROR - Failed to register, exiting
|
||||
2026-02-24 01:38:15,668 - INFO - Starting Real GPU Miner Client on Host...
|
||||
2026-02-24 01:38:15,685 - INFO - GPU detected: NVIDIA GeForce RTX 4060 Ti (16380MB)
|
||||
2026-02-24 01:38:15,697 - INFO - HTTP Request: GET http://localhost:11434/api/tags "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:38:15,698 - INFO - Ollama running with models: ['lauchacarro/qwen2.5-translator:latest', 'gemma3:1b']
|
||||
2026-02-24 01:38:15,698 - INFO - Ollama models available: lauchacarro/qwen2.5-translator:latest, gemma3:1b
|
||||
2026-02-24 01:38:15,707 - INFO - Waiting for coordinator... (1/10)
|
||||
2026-02-24 01:38:45,715 - INFO - Waiting for coordinator... (2/10)
|
||||
2026-02-24 01:39:15,723 - INFO - Waiting for coordinator... (3/10)
|
||||
2026-02-24 01:39:45,732 - INFO - Waiting for coordinator... (4/10)
|
||||
2026-02-24 01:39:48,945 - INFO - Starting Real GPU Miner Client on Host...
|
||||
2026-02-24 01:39:48,963 - INFO - GPU detected: NVIDIA GeForce RTX 4060 Ti (16380MB)
|
||||
2026-02-24 01:39:49,006 - INFO - HTTP Request: GET http://localhost:11434/api/tags "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:39:49,006 - INFO - Ollama running with models: ['lauchacarro/qwen2.5-translator:latest', 'gemma3:1b']
|
||||
2026-02-24 01:39:49,006 - INFO - Ollama models available: lauchacarro/qwen2.5-translator:latest, gemma3:1b
|
||||
2026-02-24 01:39:49,013 - INFO - Waiting for coordinator... (1/10)
|
||||
2026-02-24 01:40:19,020 - INFO - Waiting for coordinator... (2/10)
|
||||
2026-02-24 01:40:49,027 - INFO - Waiting for coordinator... (3/10)
|
||||
2026-02-24 01:49:22,772 - INFO - Starting Real GPU Miner Client on Host...
|
||||
2026-02-24 01:49:22,790 - INFO - GPU detected: NVIDIA GeForce RTX 4060 Ti (16380MB)
|
||||
2026-02-24 01:49:22,802 - INFO - HTTP Request: GET http://localhost:11434/api/tags "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:49:22,803 - INFO - Ollama running with models: ['lauchacarro/qwen2.5-translator:latest', 'gemma3:1b']
|
||||
2026-02-24 01:49:22,803 - INFO - Ollama models available: lauchacarro/qwen2.5-translator:latest, gemma3:1b
|
||||
2026-02-24 01:49:22,812 - INFO - HTTP Request: GET http://127.0.0.1:8000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:49:22,812 - INFO - Coordinator is available!
|
||||
2026-02-24 01:49:22,942 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/register?miner_id=miner_test_abc123 "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:49:22,943 - INFO - Successfully registered miner: {'status': 'ok', 'session_token': '679f256001e04bdd842beb18f6d83ac8'}
|
||||
2026-02-24 01:49:22,943 - INFO - Miner registered successfully, starting main loop...
|
||||
2026-02-24 01:49:22,972 - INFO - HTTP Request: GET http://127.0.0.1:8000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:49:23,173 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/heartbeat?miner_id=miner_test_abc123 "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:49:23,173 - INFO - Heartbeat sent (GPU: 34%)
|
||||
2026-02-24 01:49:23,185 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:26,197 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:29,213 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:32,223 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:35,234 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:38,260 - INFO - HTTP Request: GET http://127.0.0.1:8000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:49:38,320 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/heartbeat?miner_id=miner_test_abc123 "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:49:38,320 - INFO - Heartbeat sent (GPU: 38%)
|
||||
2026-02-24 01:49:38,330 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:41,340 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:44,351 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:47,361 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:50,372 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:53,409 - INFO - HTTP Request: GET http://127.0.0.1:8000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:49:53,508 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/heartbeat?miner_id=miner_test_abc123 "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:49:53,514 - INFO - Heartbeat sent (GPU: 28%)
|
||||
2026-02-24 01:49:53,526 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:56,537 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:49:59,548 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:50:02,558 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:50:05,568 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:50:08,599 - INFO - HTTP Request: GET http://127.0.0.1:8000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:50:08,656 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/heartbeat?miner_id=miner_test_abc123 "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:50:08,657 - INFO - Heartbeat sent (GPU: 32%)
|
||||
2026-02-24 01:50:08,666 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:50:11,676 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:50:14,686 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:50:17,697 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:50:20,708 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:50:23,746 - INFO - HTTP Request: GET http://127.0.0.1:8000/v1/health "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:50:23,802 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/heartbeat?miner_id=miner_test_abc123 "HTTP/1.1 200 OK"
|
||||
2026-02-24 01:50:23,803 - INFO - Heartbeat sent (GPU: 28%)
|
||||
2026-02-24 01:50:23,812 - INFO - HTTP Request: POST http://127.0.0.1:8000/v1/miners/poll "HTTP/1.1 204 No Content"
|
||||
2026-02-24 01:50:24,194 - INFO - Shutting down miner...
|
||||
@@ -1,13 +0,0 @@
|
||||
# Editor configuration for AITBC monorepo
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{py,js,ts,tsx,json,yaml,yml,md}]
|
||||
indent_size = 2
|
||||
@@ -1,102 +0,0 @@
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v4.4.0
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
- id: end-of-file-fixer
|
||||
- id: check-yaml
|
||||
- id: check-added-large-files
|
||||
- id: check-json
|
||||
- id: check-merge-conflict
|
||||
- id: debug-statements
|
||||
- id: check-docstring-first
|
||||
- id: check-executables-have-shebangs
|
||||
- id: check-toml
|
||||
- id: check-xml
|
||||
- id: check-case-conflict
|
||||
- id: check-ast
|
||||
- id: check-builddir
|
||||
- id: check-shebang-scripts
|
||||
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 23.3.0
|
||||
hooks:
|
||||
- id: black
|
||||
language_version: python3
|
||||
args: [--line-length=127]
|
||||
|
||||
- repo: https://github.com/pycqa/isort
|
||||
rev: 5.12.0
|
||||
hooks:
|
||||
- id: isort
|
||||
args: [--profile=black, --line-length=127]
|
||||
|
||||
- repo: https://github.com/pycqa/flake8
|
||||
rev: 6.0.0
|
||||
hooks:
|
||||
- id: flake8
|
||||
args: [--max-line-length=127, --extend-ignore=E203,W503]
|
||||
|
||||
- repo: https://github.com/pre-commit/mirrors-mypy
|
||||
rev: v1.3.0
|
||||
hooks:
|
||||
- id: mypy
|
||||
additional_dependencies: [types-requests, types-python-dateutil]
|
||||
args: [--ignore-missing-imports]
|
||||
|
||||
- repo: https://github.com/PyCQA/bandit
|
||||
rev: 1.7.5
|
||||
hooks:
|
||||
- id: bandit
|
||||
args: [-r, ., -f, json, -o, bandit-report.json]
|
||||
pass_filenames: false
|
||||
|
||||
- repo: https://github.com/pycqa/pydocstyle
|
||||
rev: 6.3.0
|
||||
hooks:
|
||||
- id: pydocstyle
|
||||
args: [--convention=google]
|
||||
|
||||
- repo: https://github.com/asottile/pyupgrade
|
||||
rev: v3.3.1
|
||||
hooks:
|
||||
- id: pyupgrade
|
||||
args: [--py311-plus]
|
||||
|
||||
- repo: https://github.com/Lucas-C/pre-commit-hooks-safety
|
||||
rev: v1.3.2
|
||||
hooks:
|
||||
- id: python-safety-dependencies-check
|
||||
files: requirements.*\.txt$
|
||||
|
||||
- repo: https://github.com/Lucas-C/pre-commit-hooks-safety
|
||||
rev: v1.3.2
|
||||
hooks:
|
||||
- id: python-safety-check
|
||||
args: [--json, --output, safety-report.json]
|
||||
|
||||
- repo: local
|
||||
hooks:
|
||||
- id: pytest-check
|
||||
name: pytest-check
|
||||
entry: pytest
|
||||
language: system
|
||||
args: [tests/unit/, --tb=short, -q]
|
||||
pass_filenames: false
|
||||
always_run: true
|
||||
|
||||
- id: security-check
|
||||
name: security-check
|
||||
entry: pytest
|
||||
language: system
|
||||
args: [tests/security/, --tb=short, -q]
|
||||
pass_filenames: false
|
||||
always_run: true
|
||||
|
||||
- id: performance-check
|
||||
name: performance-check
|
||||
entry: pytest
|
||||
language: system
|
||||
args: [tests/performance/test_performance_lightweight.py::TestPerformance::test_cli_performance, --tb=short, -q]
|
||||
pass_filenames: false
|
||||
always_run: true
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user