287 lines
10 KiB
HTML
287 lines
10 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>AITBC Mainnet Hub - Agent Discovery Interface</title>
|
|
<meta name="description" content="AITBC Mainnet Hub (aitbc) - Agent-first API for autonomous systems. Proof-of-Authority consensus blockchain.">
|
|
<meta name="robots" content="index, follow">
|
|
|
|
<!-- Agent Discovery Links -->
|
|
<link rel="alternate" type="application/json" href="/agent/discovery.json" title="AITBC Network Discovery">
|
|
<link rel="alternate" type="application/json" href="/agent/openapi.json" title="AITBC API Specification">
|
|
|
|
<!-- Structured Data for AI/Agent Crawlers -->
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "SoftwareApplication",
|
|
"name": "AITBC Blockchain Network",
|
|
"applicationCategory": "BlockchainApplication",
|
|
"operatingSystem": "Linux",
|
|
"programmingLanguage": "Python",
|
|
"license": "https://github.com/oib/AITBC/blob/main/LICENSE",
|
|
"codeRepository": "https://github.com/oib/AITBC",
|
|
"featureList": [
|
|
"Multi-island blockchain architecture",
|
|
"Proof-of-Authority consensus",
|
|
"Agent-first REST API",
|
|
"Auto-discovery endpoints",
|
|
"Cross-island communication",
|
|
"GPU marketplace integration"
|
|
],
|
|
"offers": {
|
|
"@type": "Offer",
|
|
"price": "0",
|
|
"priceCurrency": "USD"
|
|
},
|
|
"hasPart": [
|
|
{
|
|
"@type": "WebAPI",
|
|
"name": "AITBC Agent API",
|
|
"description": "Machine-readable API for autonomous agents",
|
|
"documentation": "https://aitbc.bubuit.net/agent/openapi.json",
|
|
"endpointUrl": "https://aitbc.bubuit.net/agent/discovery.json"
|
|
}
|
|
]
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
:root {
|
|
--bg: #0a0a0f;
|
|
--surface: #12121a;
|
|
--text: #e4e4e7;
|
|
--text-muted: #71717a;
|
|
--primary: #3b82f6;
|
|
--secondary: #8b5cf6;
|
|
--border: #27272a;
|
|
--success: #10b981;
|
|
--code: #18181b;
|
|
}
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Courier New', monospace;
|
|
background: var(--bg);
|
|
color: var(--text);
|
|
line-height: 1.6;
|
|
min-height: 100vh;
|
|
}
|
|
.container {
|
|
max-width: 900px;
|
|
margin: 0 auto;
|
|
padding: 2rem;
|
|
}
|
|
header {
|
|
border-bottom: 1px solid var(--border);
|
|
padding-bottom: 1.5rem;
|
|
margin-bottom: 2rem;
|
|
}
|
|
h1 {
|
|
font-size: 1.8rem;
|
|
color: var(--primary);
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
.subtitle {
|
|
color: var(--text-muted);
|
|
font-size: 0.9rem;
|
|
}
|
|
.badge {
|
|
display: inline-block;
|
|
background: var(--surface);
|
|
border: 1px solid var(--border);
|
|
color: var(--success);
|
|
padding: 0.25rem 0.75rem;
|
|
border-radius: 4px;
|
|
font-size: 0.75rem;
|
|
margin-left: 1rem;
|
|
vertical-align: middle;
|
|
}
|
|
.card {
|
|
background: var(--surface);
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
padding: 1.5rem;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
h2 {
|
|
font-size: 1.1rem;
|
|
color: var(--secondary);
|
|
margin-bottom: 1rem;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
h3 {
|
|
font-size: 0.95rem;
|
|
color: var(--primary);
|
|
margin: 1rem 0 0.5rem;
|
|
}
|
|
p {
|
|
color: var(--text-muted);
|
|
margin-bottom: 1rem;
|
|
}
|
|
.endpoint {
|
|
background: var(--code);
|
|
border: 1px solid var(--border);
|
|
border-radius: 6px;
|
|
padding: 1rem;
|
|
margin: 0.75rem 0;
|
|
font-family: 'Courier New', monospace;
|
|
}
|
|
.method {
|
|
color: var(--success);
|
|
font-weight: bold;
|
|
}
|
|
.path {
|
|
color: var(--text);
|
|
}
|
|
a {
|
|
color: var(--primary);
|
|
text-decoration: none;
|
|
}
|
|
a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.github-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
background: var(--surface);
|
|
border: 1px solid var(--border);
|
|
padding: 0.75rem 1.25rem;
|
|
border-radius: 6px;
|
|
margin-top: 1rem;
|
|
transition: background 0.2s;
|
|
}
|
|
.github-link:hover {
|
|
background: var(--border);
|
|
text-decoration: none;
|
|
}
|
|
.code-block {
|
|
background: var(--code);
|
|
border: 1px solid var(--border);
|
|
border-radius: 6px;
|
|
padding: 1rem;
|
|
overflow-x: auto;
|
|
font-family: 'Courier New', monospace;
|
|
font-size: 0.85rem;
|
|
}
|
|
.grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
gap: 1rem;
|
|
}
|
|
.meta {
|
|
font-size: 0.75rem;
|
|
color: var(--text-muted);
|
|
margin-top: 2rem;
|
|
padding-top: 1rem;
|
|
border-top: 1px solid var(--border);
|
|
}
|
|
pre {
|
|
margin: 0;
|
|
white-space: pre-wrap;
|
|
word-wrap: break-word;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<header>
|
|
<h1>AITBC Network <span class="badge">Agent API</span></h1>
|
|
<p class="subtitle">Autonomous agent discovery interface for the AI-powered blockchain network</p>
|
|
</header>
|
|
|
|
<div class="card">
|
|
<h2>What is AITBC?</h2>
|
|
<p>AITBC is an AI-powered blockchain platform with a multi-island architecture. It provides a <strong>Proof-of-Authority consensus mechanism</strong> designed for autonomous agents and distributed systems.</p>
|
|
|
|
<h3>Key Features</h3>
|
|
<ul style="color: var(--text-muted); margin-left: 1.5rem;">
|
|
<li>Proof-of-Authority consensus blockchain</li>
|
|
<li>Agent-first REST API with auto-discovery</li>
|
|
<li>Federated multi-node architecture</li>
|
|
<li>GPU marketplace integration</li>
|
|
<li>Open source - available on GitHub</li>
|
|
</ul>
|
|
|
|
<a href="https://github.com/oib/AITBC" class="github-link" target="_blank" rel="noopener">
|
|
<svg height="20" viewBox="0 0 16 16" width="20" fill="currentColor">
|
|
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/>
|
|
</svg>
|
|
github.com/oib/AITBC
|
|
</a>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>Network Discovery</h2>
|
|
<p>Access the complete network information through machine-readable JSON endpoints:</p>
|
|
|
|
<div class="endpoint">
|
|
<span class="method">GET</span> <span class="path">/agent/discovery.json</span>
|
|
</div>
|
|
<p style="font-size: 0.9rem;">Returns all islands, chains, endpoints, and network topology</p>
|
|
|
|
<h3>Available Endpoints</h3>
|
|
<div class="grid">
|
|
<div class="endpoint">
|
|
<span class="method">GET</span> <span class="path">/agent/islands.json</span>
|
|
</div>
|
|
<div class="endpoint">
|
|
<span class="method">GET</span> <span class="path">/agent/chains.json</span>
|
|
</div>
|
|
<div class="endpoint">
|
|
<span class="method">GET</span> <span class="path">/agent/openapi.json</span>
|
|
</div>
|
|
<div class="endpoint">
|
|
<span class="method">GET</span> <span class="path">/agent/health</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>Join the Network</h2>
|
|
<p>This node (aitbc) is the <strong>HUB</strong> for the AIT Mainnet island. Configure your node to join:</p>
|
|
|
|
<div class="endpoint">
|
|
<span class="method">GET</span> <span class="path">/agent/join/ait-mainnet.json</span>
|
|
</div>
|
|
<p style="font-size: 0.85rem; margin-top: 0.5rem;">Production chain - join instructions and configuration templates</p>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>Quick Start</h2>
|
|
<div class="code-block">
|
|
<pre># 1. Discover the network
|
|
curl -s http://YOUR_DOMAIN/agent/discovery.json | jq .
|
|
|
|
# 2. Get island information
|
|
curl -s http://YOUR_DOMAIN/agent/islands.json | jq '.islands[]'
|
|
|
|
# 3. Get chain information
|
|
curl -s http://YOUR_DOMAIN/agent/chains.json | jq '.chains[]'
|
|
|
|
# 4. Check node health
|
|
curl -s http://YOUR_DOMAIN/agent/health | jq .
|
|
|
|
Replace YOUR_DOMAIN with your node's domain or IP address.</pre>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>API Specification</h2>
|
|
<p>OpenAPI 3.0 specification available at:</p>
|
|
<div class="endpoint">
|
|
<span class="method">GET</span> <span class="path">/agent/openapi.json</span>
|
|
</div>
|
|
<p style="font-size: 0.85rem; margin-top: 0.5rem;">Machine-readable API documentation for client generation</p>
|
|
</div>
|
|
|
|
<div class="meta">
|
|
<p>Node ID: aitbc | Island: ait-mainnet-island | Role: Hub</p>
|
|
<p>This page is optimized for autonomous agents and web crawlers. All content is also available in machine-readable JSON format at the endpoints listed above.</p>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|