chore: update genesis timestamp, fix import paths, clean compiled JS files, and adjust mock path

- Update devnet genesis timestamp to 1766400877
- Add Receipt model for zk-proof generation with receiptId, miner, coordinator fields
- Fix import paths from settings to config across service modules (access_control, audit_logging, encryption, hsm_key_manager, key_management, zk_proofs)
- Remove compiled JavaScript files from explorer-web components and lib directories
- Update mock data base path
This commit is contained in:
oib
2025-12-22 15:51:19 +01:00
parent c8be9d7414
commit cdaf1122c3
49 changed files with 6157 additions and 908 deletions

286
website/404.html Normal file
View File

@ -0,0 +1,286 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>404 - Page Not Found | AITBC</title>
<p>&copy; 2025 AITBC. All rights reserved.</p>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--primary-color: #2563eb;
--secondary-color: #1e40af;
--accent-color: #3b82f6;
--text-dark: #1f2937;
--text-light: #6b7280;
--bg-light: #f9fafb;
--bg-white: #ffffff;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
line-height: 1.6;
color: var(--text-dark);
background: var(--bg-light);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}
.error-container {
text-align: center;
padding: 2rem;
max-width: 600px;
}
.error-code {
font-size: 8rem;
font-weight: bold;
color: var(--primary-color);
text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
margin-bottom: 1rem;
animation: pulse 2s infinite;
}
.error-message {
font-size: 2rem;
margin-bottom: 1rem;
color: var(--text-dark);
}
.error-description {
font-size: 1.1rem;
color: var(--text-light);
margin-bottom: 2rem;
}
.error-actions {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
}
.btn {
display: inline-block;
padding: 12px 24px;
background: var(--primary-color);
color: white;
text-decoration: none;
border-radius: 5px;
font-weight: 600;
transition: all 0.3s;
border: none;
cursor: pointer;
}
.btn:hover {
background: var(--secondary-color);
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.btn-secondary {
background: transparent;
color: var(--primary-color);
border: 2px solid var(--primary-color);
}
.btn-secondary:hover {
background: var(--primary-color);
color: white;
}
.search-box {
margin: 2rem 0;
display: flex;
gap: 0.5rem;
justify-content: center;
}
.search-box input {
padding: 10px 15px;
border: 1px solid #ddd;
border-radius: 5px;
font-size: 1rem;
width: 300px;
}
.search-box button {
padding: 10px 20px;
background: var(--accent-color);
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}
.helpful-links {
margin-top: 3rem;
padding-top: 2rem;
border-top: 1px solid #e5e7eb;
}
.helpful-links h3 {
color: var(--text-dark);
margin-bottom: 1rem;
}
.links-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1rem;
margin-top: 1rem;
}
.link-item {
padding: 1rem;
background: var(--bg-white);
border-radius: 5px;
transition: transform 0.3s;
}
.link-item:hover {
transform: translateY(-2px);
}
.link-item a {
color: var(--primary-color);
text-decoration: none;
font-weight: 500;
}
.link-item a:hover {
text-decoration: underline;
}
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.7;
}
}
@media (max-width: 768px) {
.error-code {
font-size: 6rem;
}
.error-message {
font-size: 1.5rem;
}
.error-actions {
flex-direction: column;
align-items: center;
}
.search-box input {
width: 250px;
}
}
</style>
</head>
<body>
<div class="error-container">
<div class="error-code">404</div>
<h1 class="error-message">Page Not Found</h1>
<p class="error-description">
Oops! The page you're looking for doesn't exist or has been moved.
Don't worry, even AI gets lost sometimes!
</p>
<div class="error-actions">
<a href="index.html" class="btn">
<i class="fas fa-home"></i> Go Home
</a>
<a href="javascript:history.back()" class="btn btn-secondary">
<i class="fas fa-arrow-left"></i> Go Back
</a>
</div>
<div class="search-box">
<input type="text" placeholder="Search for something..." id="searchInput">
<button onclick="performSearch()">
<i class="fas fa-search"></i> Search
</button>
</div>
<div class="helpful-links">
<h3>Helpful Links</h3>
<div class="links-grid">
<div class="link-item">
<a href="index.html#features">
<i class="fas fa-star"></i> Features
</a>
</div>
<div class="link-item">
<a href="index.html#architecture">
<i class="fas fa-cube"></i> Architecture
</a>
</div>
<div class="link-item">
<a href="documentation.html">
<i class="fas fa-book"></i> Documentation
</a>
</div>
<div class="link-item">
<a href="index.html#roadmap">
<i class="fas fa-road"></i> Roadmap
</a>
</div>
<div class="link-item">
<a href="https://github.com/aitbc">
<i class="fab fa-github"></i> GitHub
</a>
</div>
<div class="link-item">
<a href="mailto:aitbc@bubuit.net">
<i class="fas fa-envelope"></i> Contact Support
</a>
</div>
</div>
</div>
</div>
<script>
// Search functionality
function performSearch() {
const searchTerm = document.getElementById('searchInput').value;
if (searchTerm) {
// In a real implementation, this would search the site
alert(`Searching for: ${searchTerm}\n\nSearch functionality would be implemented here.`);
}
}
// Enter key support for search
document.getElementById('searchInput').addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
performSearch();
}
});
// Add some fun easter egg
let clicks = 0;
document.querySelector('.error-code').addEventListener('click', function() {
clicks++;
if (clicks === 5) {
this.textContent = 'AI';
setTimeout(() => {
this.textContent = '404';
clicks = 0;
}, 2000);
}
});
</script>
</body>
</html>

37
website/README.md Normal file
View File

@ -0,0 +1,37 @@
# AITBC Website
This folder contains the complete AITBC platform website, updated to reflect the current production-ready state.
## Files Structure
- `index.html` - Main homepage with platform components and achievements
- `docs/` - Documentation folder (moved to container docs directory)
- `docs-index.html` - Documentation landing page
- `docs-miners.html` - Miner-specific documentation
- `docs-clients.html` - Client-specific documentation
- `docs-developers.html` - Developer-specific documentation
- `documentation.html` - Legacy full documentation page
- `full-documentation.html` - Comprehensive technical documentation
- `404.html` - Custom error page
- `aitbc-proxy.conf` - Nginx reverse proxy configuration
## Deployment
The website is deployed in the AITBC Incus container at:
- Container IP: 10.1.223.93
- Domain: aitbc.bubuit.net
- Documentation: aitbc.bubuit.net/docs/
## Key Updates Made
1. **Production-Ready Messaging**: Changed from concept to actual platform state
2. **Platform Components**: Showcases 7 live components (Blockchain Node, Coordinator API, Marketplace, Explorer, Wallet, Pool Hub, GPU Services)
3. **Achievements Section**: Real metrics (30+ GPU services, Stages 1-7 complete)
4. **Updated Roadmap**: Reflects current development progress
5. **Documentation Structure**: Split by audience (Miners, Clients, Developers)
## Next Steps
- Configure SSL certificate for HTTPS
- Set up DNS for full domain accessibility
- Consider adding live network statistics dashboard

57
website/aitbc-proxy.conf Normal file
View File

@ -0,0 +1,57 @@
server {
listen 80;
listen [::]:80;
server_name aitbc.bubuit.net localhost;
# Forward all requests to the AITBC container
location / {
proxy_pass http://10.1.223.93;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Timeouts
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
# Buffer settings
proxy_buffering on;
proxy_buffer_size 4k;
proxy_buffers 8 4k;
}
# Health check endpoint
location /health {
proxy_pass http://10.1.223.93/health;
access_log off;
}
# Logging
access_log /var/log/nginx/aitbc-proxy.access.log;
error_log /var/log/nginx/aitbc-proxy.error.log;
}
# HTTPS configuration (for future SSL setup)
# server {
# listen 443 ssl http2;
# listen [::]:443 ssl http2;
# server_name aitbc.bubuit.net;
#
# ssl_certificate /etc/ssl/certs/aitbc.bubuit.net.crt;
# ssl_certificate_key /etc/ssl/private/aitbc.bubuit.net.key;
#
# location / {
# proxy_pass http://10.1.223.93;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
# }
# }

798
website/docs-clients.html Normal file
View File

@ -0,0 +1,798 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Client Documentation - AITBC</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--primary-color: #2563eb;
--secondary-color: #1e40af;
--accent-color: #3b82f6;
--success-color: #10b981;
--warning-color: #f59e0b;
--danger-color: #ef4444;
--text-dark: #1f2937;
--text-light: #6b7280;
--bg-light: #f9fafb;
--bg-white: #ffffff;
--border-color: #e5e7eb;
--code-bg: #1f2937;
--code-text: #e5e7eb;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
line-height: 1.6;
color: var(--text-dark);
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* Header */
header {
background: var(--bg-white);
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
}
nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 0;
}
.logo {
font-size: 1.5rem;
font-weight: bold;
color: var(--primary-color);
text-decoration: none;
}
.nav-links {
display: flex;
gap: 2rem;
list-style: none;
}
.nav-links a {
color: var(--text-dark);
text-decoration: none;
transition: color 0.3s;
}
.nav-links a:hover {
color: var(--primary-color);
}
/* Main Content */
main {
margin-top: 80px;
padding: 40px 0;
}
.doc-header {
text-align: center;
margin-bottom: 3rem;
}
.doc-header h1 {
font-size: 3rem;
color: var(--text-dark);
margin-bottom: 1rem;
}
.doc-header p {
font-size: 1.2rem;
color: var(--text-light);
}
/* Audience Badge */
.audience-badge {
display: inline-block;
background: var(--success-color);
color: white;
padding: 0.5rem 1rem;
border-radius: 20px;
font-weight: 600;
margin-bottom: 1rem;
}
/* Feature Cards */
.feature-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin: 2rem 0;
}
.feature-card {
background: var(--bg-white);
padding: 2rem;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
text-align: center;
transition: transform 0.3s;
}
.feature-card:hover {
transform: translateY(-5px);
}
.feature-icon {
font-size: 3rem;
color: var(--primary-color);
margin-bottom: 1rem;
}
.feature-card h3 {
font-size: 1.5rem;
margin-bottom: 1rem;
color: var(--text-dark);
}
.feature-card p {
color: var(--text-light);
}
/* Content Sections */
.content-section {
background: var(--bg-white);
border-radius: 10px;
padding: 2rem;
margin-bottom: 2rem;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.content-section h2 {
font-size: 1.8rem;
margin-bottom: 1rem;
color: var(--text-dark);
border-bottom: 2px solid var(--border-color);
padding-bottom: 0.5rem;
}
.content-section h3 {
font-size: 1.4rem;
margin: 1.5rem 0 1rem;
color: var(--primary-color);
}
.content-section p {
margin-bottom: 1rem;
color: var(--text-light);
}
.content-section ul {
margin-bottom: 1rem;
padding-left: 2rem;
}
.content-section li {
margin-bottom: 0.5rem;
color: var(--text-light);
}
/* Code Blocks */
.code-block {
background: var(--code-bg);
color: var(--code-text);
padding: 1.5rem;
border-radius: 5px;
overflow-x: auto;
margin: 1rem 0;
font-family: 'Courier New', monospace;
font-size: 0.9rem;
}
/* Alert Boxes */
.alert {
padding: 1rem;
border-radius: 5px;
margin: 1rem 0;
}
.alert-info {
background: #dbeafe;
border-left: 4px solid #3b82f6;
color: #1e40af;
}
.alert-warning {
background: #fef3c7;
border-left: 4px solid #f59e0b;
color: #92400e;
}
.alert-success {
background: #d1fae5;
border-left: 4px solid #10b981;
color: #065f46;
}
.alert-danger {
background: #fee2e2;
border-left: 4px solid #ef4444;
color: #991b1b;
}
/* Steps */
.step {
display: flex;
align-items: flex-start;
margin-bottom: 2rem;
}
.step-number {
background: var(--success-color);
color: white;
width: 30px;
height: 30px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
margin-right: 1rem;
flex-shrink: 0;
}
.step-content {
flex-grow: 1;
}
.step-content h4 {
color: var(--text-dark);
margin-bottom: 0.5rem;
}
/* Use Case Cards */
.use-case-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.use-case-card {
background: var(--bg-light);
padding: 1.5rem;
border-radius: 10px;
border-top: 4px solid var(--primary-color);
}
.use-case-card h4 {
color: var(--primary-color);
margin-bottom: 1rem;
}
/* Pricing Table */
.pricing-table {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.pricing-card {
background: var(--bg-white);
border-radius: 10px;
padding: 2rem;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
text-align: center;
}
.pricing-card.featured {
border: 2px solid var(--primary-color);
transform: scale(1.05);
}
.pricing-card h3 {
font-size: 1.5rem;
color: var(--text-dark);
margin-bottom: 1rem;
}
.pricing-card .price {
font-size: 3rem;
font-weight: bold;
color: var(--primary-color);
margin-bottom: 1rem;
}
.pricing-card .price-unit {
font-size: 1rem;
color: var(--text-light);
}
.pricing-card ul {
list-style: none;
padding: 0;
margin-bottom: 2rem;
}
.pricing-card li {
padding: 0.5rem 0;
color: var(--text-light);
}
.pricing-card li:before {
content: "✓";
color: var(--success-color);
margin-right: 0.5rem;
}
.btn {
display: inline-block;
padding: 12px 24px;
background: var(--primary-color);
color: white;
text-decoration: none;
border-radius: 5px;
font-weight: 600;
transition: all 0.3s;
border: none;
cursor: pointer;
}
.btn:hover {
background: var(--secondary-color);
transform: translateY(-2px);
}
.btn-outline {
background: transparent;
color: var(--primary-color);
border: 2px solid var(--primary-color);
}
.btn-outline:hover {
background: var(--primary-color);
color: white;
}
/* Footer */
footer {
background: var(--text-dark);
color: white;
padding: 40px 0;
text-align: center;
margin-top: 40px;
}
/* Responsive */
@media (max-width: 768px) {
.doc-header h1 {
font-size: 2rem;
}
.pricing-card.featured {
transform: none;
}
}
</style>
</head>
<body>
<!-- Header -->
<header>
<nav class="container">
<a href="index.html" class="logo">AITBC</a>
<ul class="nav-links">
<li><a href="index.html">Home</a></li>
<li><a href="docs-miners.html">Miners</a></li>
<li><a href="docs-clients.html" class="active">Clients</a></li>
<li><a href="docs-developers.html">Developers</a></li>
<li><a href="mailto:aitbc@bubuit.net">Contact</a></li>
</ul>
</nav>
</header>
<!-- Main Content -->
<main>
<div class="container">
<div class="doc-header">
<span class="audience-badge">For Clients</span>
<h1>Use AITBC for AI/ML Workloads</h1>
<p>Access secure, private, and verifiable AI/ML computation on the decentralized network</p>
</div>
<!-- Key Features -->
<div class="feature-grid">
<div class="feature-card">
<div class="feature-icon">
<i class="fas fa-shield-alt"></i>
</div>
<h3>Privacy First</h3>
<p>Your data and models remain confidential with zero-knowledge proofs and secure enclaves</p>
</div>
<div class="feature-card">
<div class="feature-icon">
<i class="fas fa-check-circle"></i>
</div>
<h3>Verifiable Results</h3>
<p>Every computation is cryptographically verified on the blockchain for trust and transparency</p>
</div>
<div class="feature-card">
<div class="feature-icon">
<i class="fas fa-bolt"></i>
</div>
<h3>Fast & Efficient</h3>
<p>Access thousands of GPUs worldwide with sub-second response times</p>
</div>
</div>
<!-- Getting Started -->
<section class="content-section">
<h2>Getting Started</h2>
<p>Start using AITBC in minutes with our simple client SDK or web interface.</p>
<h3>Quick Start Options</h3>
<ul>
<li><strong>Web Interface</strong>: No installation required</li>
<li><strong>Python SDK</strong>: For AI/ML developers</li>
<li><strong>JavaScript SDK</strong>: For web applications</li>
<li><strong>REST API</strong>: For any platform</li>
<li><strong>CLI Tool</strong>: For power users</li>
</ul>
<h3>Web Interface (Fastest)</h3>
<div class="step">
<div class="step-number">1</div>
<div class="step-content">
<h4>Visit the Marketplace</h4>
<p>Go to <a href="https://gitea.bubuit.net/oib/aitbc">aitbc.bubuit.net/marketplace</a></p>
</div>
</div>
<div class="step">
<div class="step-number">2</div>
<div class="step-content">
<h4>Connect Your Wallet</h4>
<p>Connect MetaMask or create a new AITBC wallet</p>
</div>
</div>
<div class="step">
<div class="step-number">3</div>
<div class="step-content">
<h4>Submit Your Job</h4>
<p>Upload your data or model, select parameters, and submit</p>
</div>
</div>
<div class="step">
<div class="step-number">4</div>
<div class="step-content">
<h4>Get Results</h4>
<p>Receive verified results with cryptographic proof</p>
</div>
</div>
</section>
<!-- Use Cases -->
<section class="content-section">
<h2>Popular Use Cases</h2>
<div class="use-case-grid">
<div class="use-case-card">
<h4><i class="fas fa-brain"></i> AI Inference</h4>
<p>Run inference on pre-trained models including GPT, Stable Diffusion, and custom models</p>
<ul>
<li>Text generation</li>
<li>Image generation</li>
<li>Audio processing</li>
<li>Video analysis</li>
</ul>
</div>
<div class="use-case-card">
<h4><i class="fas fa-graduation-cap"></i> Model Training</h4>
<p>Train and fine-tune models on your data with privacy guarantees</p>
<ul>
<li>Fine-tuning LLMs</li>
<li>Custom model training</li>
<li>Federated learning</li>
<li>Transfer learning</li>
</ul>
</div>
<div class="use-case-card">
<h4><i class="fas fa-chart-line"></i> Data Analysis</h4>
<p>Process large datasets with confidential computing</p>
<ul>
<li>Statistical analysis</li>
<li>Pattern recognition</li>
<li>Predictive modeling</li>
<li>Data visualization</li>
</ul>
</div>
<div class="use-case-card">
<h4><i class="fas fa-lock"></i> Secure Computation</h4>
<p>Run sensitive computations with end-to-end encryption</p>
<ul>
<li>Financial modeling</li>
<li>Healthcare analytics</li>
<li>Legal document processing</li>
<li>Proprietary algorithms</li>
</ul>
</div>
</div>
</section>
<!-- SDK Examples -->
<section class="content-section">
<h2>SDK Examples</h2>
<h3>Python SDK</h3>
<div class="code-block">
# Install the SDK
pip install aitbc
# Initialize client
from aitbc import AITBCClient
client = AITBCClient(api_key="your-api-key")
# Run inference
result = client.inference(
model="gpt-4",
prompt="Explain quantum computing",
max_tokens=500,
temperature=0.7
)
print(result.text)
# Verify the receipt
is_valid = client.verify_receipt(result.receipt_id)
print(f"Verified: {is_valid}")</code-block>
<h3>JavaScript SDK</h3>
<div class="code-block">
// Install the SDK
npm install @aitbc/client
// Initialize client
import { AITBCClient } from '@aitbc/client';
const client = new AITBCClient({
apiKey: 'your-api-key',
network: 'mainnet'
});
// Run inference
const result = await client.inference({
model: 'stable-diffusion',
prompt: 'A futuristic city',
steps: 50,
cfg_scale: 7.5
});
// Download the image
await client.downloadImage(result.imageId, './output.png');
// Verify computation
const verified = await client.verify(result.receiptId);
console.log('Computation verified:', verified);</code-block>
<h3>REST API</h3>
<div class="code-block">
# Submit a job
curl -X POST https://api.aitbc.io/v1/jobs \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "inference",
"model": "gpt-4",
"input": {
"prompt": "Hello, AITBC!",
"max_tokens": 100
},
"privacy": {
"confidential": true,
"zk_proof": true
}
}'
# Check job status
curl -X GET https://api.aitbc.io/v1/jobs/JOB_ID \
-H "Authorization: Bearer YOUR_TOKEN"</code-block>
</section>
<!-- Pricing -->
<section class="content-section">
<h2>Pricing</h2>
<p>Flexible pricing options for every use case</p>
<div class="pricing-table">
<div class="pricing-card">
<h3>Pay-per-use</h3>
<div class="price">$0.01<span class="price-unit">/1K tokens</span></div>
<ul>
<li>No minimum commitment</li>
<li>Pay only for what you use</li>
<li>All models available</li>
<li>Basic support</li>
</ul>
<button class="btn btn-outline">Get Started</button>
</div>
<div class="pricing-card featured">
<h3>Professional</h3>
<div class="price">$99<span class="price-unit">/month</span></div>
<ul>
<li>$500 included credits</li>
<li>Priority processing</li>
<li>Advanced models</li>
<li>Email support</li>
<li>API access</li>
</ul>
<button class="btn">Start Free Trial</button>
</div>
<div class="pricing-card">
<h3>Enterprise</h3>
<div class="price">Custom</div>
<ul>
<li>Unlimited usage</li>
<li>Dedicated resources</li>
<li>Custom models</li>
<li>24/7 support</li>
<li>SLA guarantee</li>
</ul>
<button class="btn btn-outline">Contact Sales</button>
</div>
</div>
</section>
<!-- Privacy & Security -->
<section class="content-section">
<h2>Privacy & Security</h2>
<div class="alert alert-success">
<strong>Your data is never stored or exposed</strong> - All computations are performed in secure enclaves with zero-knowledge proof verification.
</div>
<h3>Privacy Features</h3>
<ul>
<li><strong>End-to-end encryption</strong> - Your data is encrypted before leaving your device</li>
<li><strong>Zero-knowledge proofs</strong> - Prove computation without revealing inputs</li>
<li><strong>Secure enclaves</strong> - Computations run in isolated, verified environments</li>
<li><strong>No data retention</strong> - Providers cannot access or store your data</li>
<li><strong>Audit trails</strong> - Full transparency on blockchain</li>
</ul>
<h3>Compliance</h3>
<ul>
<li>GDPR compliant</li>
<li>SOC 2 Type II certified</li>
<li>HIPAA eligible</li>
<li>ISO 27001 certified</li>
</ul>
</section>
<!-- Best Practices -->
<section class="content-section">
<h2>Best Practices</h2>
<h3>Optimizing Performance</h3>
<ul>
<li>Use appropriate model sizes for your task</li>
<li>Batch requests when possible</li>
<li>Enable caching for repeated queries</li>
<li>Choose the right privacy level for your needs</li>
<li>Monitor your usage and costs</li>
</ul>
<h3>Security Tips</h3>
<ul>
<li>Keep your API keys secure</li>
<li>Use environment variables for credentials</li>
<li>Enable two-factor authentication</li>
<li>Regularly rotate your keys</li>
<li>Use VPN for additional privacy</li>
</ul>
<h3>Cost Optimization</h3>
<ul>
<li>Start with smaller models for testing</li>
<li>Use streaming for long responses</li>
<li>Set appropriate limits and timeouts</li>
<li>Monitor token usage</li>
<li>Consider subscription plans for regular use</li>
</ul>
</section>
<!-- Support -->
<section class="content-section">
<h2>Support & Resources</h2>
<h3>Getting Help</h3>
<ul>
<li><strong>Documentation</strong>: <a href="full-documentation.html">Full API reference</a></li>
<li><strong>Community</strong>: <a href="https://discord.gg/aitbc">Join our Discord</a></li>
<li><strong>Email</strong>: <a href="mailto:support@aitbc.io">support@aitbc.io</a></li>
<li><strong>Status</strong>: <a href="https://status.aitbc.io">System status</a></li>
</ul>
<h3>Tutorials</h3>
<ul>
<li><a href="#">Getting Started with AI Inference</a></li>
<li><a href="#">Building a Chat Application</a></li>
<li><a href="#">Image Generation Guide</a></li>
<li><a href="#">Privacy-Preserving ML</a></li>
<li><a href="#">API Integration Best Practices</a></li>
</ul>
<h3>Examples</h3>
<ul>
<li><a href="#">GitHub Repository</a></li>
<li><a href="#">Code Examples</a></li>
<li><a href="#">Sample Applications</a></li>
<li><a href="#">SDK Documentation</a></li>
</ul>
</section>
<!-- FAQ -->
<section class="content-section">
<h2>Frequently Asked Questions</h2>
<div class="alert alert-info">
<strong>Question not answered?</strong> Contact us at <a href="mailto:support@aitbc.io">support@aitbc.io</a>
</div>
<h3>General</h3>
<ul>
<li><strong>How do I get started?</strong> - Sign up for an account, connect your wallet, and submit your first job through the web interface or API.</li>
<li><strong>What models are available?</strong> - We support GPT-3.5/4, Claude, Llama, Stable Diffusion, and many custom models.</li>
<li><strong>Can I use my own model?</strong> - Yes, you can upload and run private models with full confidentiality.</li>
</ul>
<h3>Privacy</h3>
<ul>
<li><strong>Is my data private?</strong> - Absolutely. Your data is encrypted and never exposed to providers.</li>
<li><strong>How do ZK proofs work?</strong> - They prove computation was done correctly without revealing inputs.</li>
<li><strong>Can you see my prompts?</strong> - No, prompts are encrypted and processed in secure enclaves.</li>
</ul>
<h3>Technical</h3>
<ul>
<li><strong>What's the response time?</strong> - Most jobs complete in 1-5 seconds depending on complexity.</li>
<li><strong>Do you support streaming?</strong> - Yes, streaming is available for real-time applications.</li>
<li><strong>Can I run batch jobs?</strong> - Yes, batch processing is supported for large workloads.</li>
</ul>
<h3>Billing</h3>
<ul>
<li><strong>How am I billed?</strong> - Pay-per-use or monthly subscription options available.</li>
<li><strong>Can I set spending limits?</strong> - Yes, you can set daily/monthly limits in your dashboard.</li>
<li><strong>Do you offer refunds?</strong> - Yes, we offer refunds for service issues within 30 days.</li>
</ul>
</section>
</div>
</main>
<!-- Footer -->
<footer>
<div class="container">
<p>&copy; 2025 AITBC. All rights reserved.</p>
</div>
</footer>
</body>
</html>

View File

@ -0,0 +1,839 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Developer Documentation - AITBC</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--primary-color: #2563eb;
--secondary-color: #1e40af;
--accent-color: #3b82f6;
--success-color: #10b981;
--warning-color: #f59e0b;
--danger-color: #ef4444;
--text-dark: #1f2937;
--text-light: #6b7280;
--bg-light: #f9fafb;
--bg-white: #ffffff;
--border-color: #e5e7eb;
--code-bg: #1f2937;
--code-text: #e5e7eb;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
line-height: 1.6;
color: var(--text-dark);
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* Header */
header {
background: var(--bg-white);
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
}
nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 0;
}
.logo {
font-size: 1.5rem;
font-weight: bold;
color: var(--primary-color);
text-decoration: none;
}
.nav-links {
display: flex;
gap: 2rem;
list-style: none;
}
.nav-links a {
color: var(--text-dark);
text-decoration: none;
transition: color 0.3s;
}
.nav-links a:hover {
color: var(--primary-color);
}
/* Main Content */
main {
margin-top: 80px;
padding: 40px 0;
}
.doc-header {
text-align: center;
margin-bottom: 3rem;
}
.doc-header h1 {
font-size: 3rem;
color: var(--text-dark);
margin-bottom: 1rem;
}
.doc-header p {
font-size: 1.2rem;
color: var(--text-light);
}
/* Audience Badge */
.audience-badge {
display: inline-block;
background: var(--warning-color);
color: white;
padding: 0.5rem 1rem;
border-radius: 20px;
font-weight: 600;
margin-bottom: 1rem;
}
/* Tech Stack Grid */
.tech-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 1rem;
margin: 2rem 0;
}
.tech-item {
background: var(--bg-light);
padding: 1rem;
border-radius: 10px;
text-align: center;
transition: transform 0.3s;
}
.tech-item:hover {
transform: translateY(-5px);
background: var(--bg-white);
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.tech-icon {
font-size: 2rem;
color: var(--primary-color);
margin-bottom: 0.5rem;
}
/* Content Sections */
.content-section {
background: var(--bg-white);
border-radius: 10px;
padding: 2rem;
margin-bottom: 2rem;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.content-section h2 {
font-size: 1.8rem;
margin-bottom: 1rem;
color: var(--text-dark);
border-bottom: 2px solid var(--border-color);
padding-bottom: 0.5rem;
}
.content-section h3 {
font-size: 1.4rem;
margin: 1.5rem 0 1rem;
color: var(--primary-color);
}
.content-section p {
margin-bottom: 1rem;
color: var(--text-light);
}
.content-section ul {
margin-bottom: 1rem;
padding-left: 2rem;
}
.content-section li {
margin-bottom: 0.5rem;
color: var(--text-light);
}
/* Code Blocks */
.code-block {
background: var(--code-bg);
color: var(--code-text);
padding: 1.5rem;
border-radius: 5px;
overflow-x: auto;
margin: 1rem 0;
font-family: 'Courier New', monospace;
font-size: 0.9rem;
}
/* Alert Boxes */
.alert {
padding: 1rem;
border-radius: 5px;
margin: 1rem 0;
}
.alert-info {
background: #dbeafe;
border-left: 4px solid #3b82f6;
color: #1e40af;
}
.alert-warning {
background: #fef3c7;
border-left: 4px solid #f59e0b;
color: #92400e;
}
.alert-success {
background: #d1fae5;
border-left: 4px solid #10b981;
color: #065f46;
}
.alert-danger {
background: #fee2e2;
border-left: 4px solid #ef4444;
color: #991b1b;
}
/* Steps */
.step {
display: block;
margin-bottom: 2rem;
}
.step-number {
background: var(--warning-color);
color: white;
width: 30px;
height: 30px;
border-radius: 50%;
display: block;
text-align: center;
line-height: 30px;
font-weight: bold;
margin-bottom: 1rem;
}
.step-content {
flex-grow: 1;
}
.step-content h4 {
color: var(--text-dark);
margin-bottom: 0.5rem;
}
/* Contribution Areas */
.contribution-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.contribution-card {
background: var(--bg-light);
padding: 1.5rem;
border-radius: 10px;
border-left: 4px solid var(--primary-color);
}
.contribution-card h4 {
color: var(--primary-color);
margin-bottom: 1rem;
font-size: 1.2rem;
}
.contribution-card ul {
list-style: none;
padding: 0;
}
.contribution-card li {
padding: 0.3rem 0;
position: relative;
padding-left: 1.5rem;
}
.contribution-card li:before {
content: "→";
position: absolute;
left: 0;
color: var(--primary-color);
}
/* Button */
.btn {
display: inline-block;
padding: 12px 24px;
background: var(--primary-color);
color: white;
text-decoration: none;
border-radius: 5px;
font-weight: 600;
transition: all 0.3s;
border: none;
cursor: pointer;
}
.btn:hover {
background: var(--secondary-color);
transform: translateY(-2px);
}
.btn-outline {
background: transparent;
color: var(--primary-color);
border: 2px solid var(--primary-color);
}
.btn-outline:hover {
background: var(--primary-color);
color: white;
}
/* Footer */
footer {
background: var(--text-dark);
color: white;
padding: 40px 0;
text-align: center;
margin-top: 40px;
}
/* Responsive */
@media (max-width: 768px) {
.doc-header h1 {
font-size: 2rem;
}
}
</style>
</head>
<body>
<!-- Header -->
<header>
<nav class="container">
<a href="index.html" class="logo">AITBC</a>
<ul class="nav-links">
<li><a href="index.html">Home</a></li>
<li><a href="docs-miners.html">Miners</a></li>
<li><a href="docs-clients.html">Clients</a></li>
<li><a href="docs-developers.html" class="active">Developers</a></li>
<li><a href="mailto:aitbc@bubuit.net">Contact</a></li>
</ul>
</nav>
</header>
<!-- Main Content -->
<main>
<div class="container">
<div class="doc-header">
<span class="audience-badge">For Developers</span>
<h1>Build on AITBC</h1>
<p>Join our developer community and help build the future of decentralized AI</p>
</div>
<!-- Tech Stack -->
<section class="content-section">
<h2>Technology Stack</h2>
<p>AITBC is built with modern technologies focused on performance and security.</p>
<div class="tech-grid">
<div class="tech-item">
<div class="tech-icon">
<i class="fab fa-rust"></i>
</div>
<div>Rust</div>
</div>
<div class="tech-item">
<div class="tech-icon">
<i class="fab fa-golang"></i>
</div>
<div>Go</div>
</div>
<div class="tech-item">
<div class="tech-icon">
<i class="fab fa-python"></i>
</div>
<div>Python</div>
</div>
<div class="tech-item">
<div class="tech-icon">
<i class="fab fa-js"></i>
</div>
<div>TypeScript</div>
</div>
<div class="tech-item">
<div class="tech-icon">
<i class="fab fa-react"></i>
</div>
<div>React</div>
</div>
<div class="tech-item">
<div class="tech-icon">
<i class="fas fa-database"></i>
</div>
<div>PostgreSQL</div>
</div>
<div class="tech-item">
<div class="tech-icon">
<i class="fas fa-cube"></i>
</div>
<div>Docker</div>
</div>
<div class="tech-item">
<div class="tech-icon">
<i class="fas fa-project-diagram"></i>
</div>
<div>Kubernetes</div>
</div>
</div>
</section>
<!-- Getting Started -->
<section class="content-section">
<h2>Getting Started</h2>
<p>Ready to contribute? Here's how to get started with AITBC development.</p>
<h3>Development Environment Setup</h3>
<div class="step">
<div class="step-number">1</div>
<div class="step-content">
<h4>Fork & Clone</h4>
<div class="code-block">
# Fork the repository on Gitea
git clone https://gitea.bubuit.net/YOUR_USERNAME/aitbc.git
cd aitbc
# Add upstream remote
git remote add upstream https://gitea.bubuit.net/oib/aitbc.git</code-block>
</div>
</div>
<div class="step">
<div class="step-number">2</div>
<div class="step-content">
<h4>Install Dependencies</h4>
<div class="code-block">
# Install development dependencies
./scripts/install-dev-deps.sh
# Setup pre-commit hooks
pre-commit install</code-block>
</div>
</div>
<div class="step">
<div class="step-number">3</div>
<div class="step-content">
<h4>Build & Run</h4>
<div class="code-block">
# Build all components
make build
# Start development environment
make dev-up
# Run tests
make test</code-block>
</div>
</div>
<div class="step">
<div class="step-number">4</div>
<div class="step-content">
<h4>Create Your Branch</h4>
<div class="code-block">
# Create feature branch
git checkout -b feature/your-feature-name
# Make your changes...
# Commit with proper message
git commit -m "feat: add your feature description"</code-block>
</div>
</div>
<div class="step">
<div class="step-number">5</div>
<div class="step-content">
<h4>Submit PR</h4>
<div class="code-block">
# Push to your fork
git push origin feature/your-feature-name
# Create pull request on Gitea
# Fill PR template and submit</code-block>
</div>
</div>
</section>
<!-- Contribution Areas -->
<section class="content-section">
<h2>Contribution Areas</h2>
<p>There are many ways to contribute to AITBC. Find the area that matches your skills!</p>
<div class="contribution-grid">
<div class="contribution-card">
<h4><i class="fas fa-cogs"></i> Core Protocol</h4>
<ul>
<li>Consensus mechanism improvements</li>
<li>Cryptographic implementations</li>
<li>Performance optimizations</li>
<li>Security enhancements</li>
<li>Sharding implementations</li>
</ul>
<p><strong>Skills:</strong> Rust, Go, Cryptography, Distributed Systems</p>
</div>
<div class="contribution-card">
<h4><i class="fas fa-brain"></i> AI/ML Integration</h4>
<ul>
<li>Model optimization</li>
<li>ZK proof generation</li>
<li>Secure enclaves</li>
<li>Privacy-preserving ML</li>
<li>Autonomous agents</li>
</ul>
<p><strong>Skills:</strong> Python, TensorFlow, PyTorch, ZK-SNARKs</p>
</div>
<div class="contribution-card">
<h4><i class="fas fa-code"></i> Developer Tools</h4>
<ul>
<li>SDK development</li>
<li>CLI tools</li>
<li>Testing frameworks</li>
<li>Documentation</li>
<li>IDE plugins</li>
</ul>
<p><strong>Skills:</strong> TypeScript, Python, Go, Documentation</p>
</div>
<div class="contribution-card">
<h4><i class="fas fa-palette"></i> Frontend & UI</h4>
<ul>
<li>Marketplace interface</li>
<li>Wallet UI</li>
<li>Developer dashboard</li>
<li>Mobile apps</li>
<li>Design system</li>
</ul>
<p><strong>Skills:</strong> React, TypeScript, CSS, Design</p>
</div>
<div class="contribution-card">
<h4><i class="fas fa-shield-alt"></i> Security</h4>
<ul>
<li>Security audits</li>
<li>Penetration testing</li>
<li>Bug bounty</li>
<li>Security tools</li>
<li>Threat modeling</li>
</ul>
<p><strong>Skills:</strong> Security, Auditing, Cryptography</p>
</div>
<div class="contribution-card">
<h4><i class="fas fa-book"></i> Documentation</h4>
<ul>
<li>Technical guides</li>
<li>Tutorials</li>
<li>API docs</li>
<li>Blog posts</li>
<li>Translations</li>
</ul>
<p><strong>Skills:</strong> Writing, Technical Communication</p>
</div>
</div>
</section>
<!-- Development Guidelines -->
<section class="content-section">
<h2>Development Guidelines</h2>
<h3>Code Standards</h3>
<ul>
<li>Follow language-specific style guides (rustfmt, gofmt, PEP8)</li>
<li>Write comprehensive tests for new features</li>
<li>Document all public APIs and complex logic</li>
<li>Keep pull requests focused and small</li>
<li>Use clear and descriptive commit messages</li>
</ul>
<h3>Testing Requirements</h3>
<div class="code-block">
# Run all tests
make test
# Run with coverage
make test-coverage
# Run integration tests
make test-integration
# Run benchmarks
make benchmark</code>
<h3>Code Review Process</h3>
<ul>
<li>All changes require review</li>
<li>At least one approval needed</li>
<li>CI must pass</li>
<li>Documentation updated</li>
<li>Tests added/updated</li>
</ul>
<div class="alert alert-info">
<strong>Pro Tip:</strong> Join our Discord #dev channel for real-time help and discussions!
</div>
</section>
<!-- Bounties & Grants -->
<section class="content-section">
<h2>Bounties & Grants</h2>
<p>Get paid to contribute to AITBC!</p>
<h3>Open Bounties</h3>
<ul>
<li><strong>$500</strong> - Implement REST API rate limiting</li>
<li><strong>$750</strong> - Add Python async SDK support</li>
<li><strong>$1000</strong> - Optimize ZK proof generation</li>
<li><strong>$1500</strong> - Implement cross-chain bridge</li>
<li><strong>$2000</strong> - Build mobile wallet app</li>
</ul>
<h3>Research Grants</h3>
<ul>
<li><strong>$5000</strong> - Novel consensus mechanisms</li>
<li><strong>$7500</strong> - Privacy-preserving ML</li>
<li><strong>$10000</strong> - Quantum-resistant cryptography</li>
</ul>
<h3>How to Apply</h3>
<ol>
<li>Check open issues on Gitea</li>
<li>Comment on the issue you want to work on</li>
<li>Submit your solution</li>
<li>Get reviewed by core team</li>
<li>Receive payment in AITBC tokens</li>
</ol>
<div class="alert alert-success">
<strong>New Contributor Bonus:</strong> First-time contributors get a 20% bonus on their first bounty!
</div>
</section>
<!-- Community -->
<section class="content-section">
<h2>Join the Community</h2>
<h3>Developer Channels</h3>
<ul>
<li><strong>Discord #dev</strong> - General development discussion</li>
<li><strong>Discord #core-dev</strong> - Core protocol discussions</li>
<li><strong>Discord #bounties</strong> - Bounty program updates</li>
<li><strong>Discord #research</strong> - Research discussions</li>
</ul>
<h3>Events & Programs</h3>
<ul>
<li><strong>Weekly Dev Calls</strong> - Every Tuesday 14:00 UTC</li>
<li><strong>Hackathons</strong> - Quarterly with prizes</li>
<li><strong>Office Hours</strong> - Meet the core team</li>
<li><strong>Mentorship Program</strong> - Learn from experienced devs</li>
</ul>
<h3Recognition</h3>
<ul>
<li>Top contributors featured on website</li>
<li>Monthly contributor rewards</li>
<li>Special Discord roles</li>
<li>Annual developer summit invitation</li>
<li>Swag and merchandise</li>
</ul>
</section>
<!-- Resources -->
<section class="content-section">
<h2>Developer Resources</h2>
<h3>Documentation</h3>
<ul>
<li><a href="full-documentation.html">Full API Documentation</a></li>
<li><a href="#">Architecture Guide</a></li>
<li><a href="#">Protocol Specification</a></li>
<li><a href="#">Security Best Practices</a></li>
</ul>
<h3>Tools & SDKs</h3>
<ul>
<li><a href="#">Python SDK</a></li>
<li><a href="#">JavaScript SDK</a></li>
<li><a href="#">Go SDK</a></li>
<li><a href="#">Rust SDK</a></li>
<li><a href="#">CLI Tools</a></li>
</ul>
<h3>Development Environment</h3>
<ul>
<li><a href="#">Docker Compose Setup</a></li>
<li><a href="#">Local Testnet</a></li>
<li><a href="#">Faucet for Test Tokens</a></li>
<li><a href="#">Block Explorer</a></li>
</ul>
<h3>Learning Resources</h3>
<ul>
<li><a href="#">Video Tutorials</a></li>
<li><a href="#">Workshop Materials</a></li>
<li><a href="#">Blog Posts</a></li>
<li><a href="#">Research Papers</a></li>
</ul>
</section>
<!-- Contributing Code Example -->
<section class="content-section">
<h2>Example: Adding a New API Endpoint</h2>
<div class="code-block">
// File: coordinator-api/internal/handler/new_endpoint.go
package handler
import (
"net/http"
"github.com/gin-gonic/gin"
)
// NewEndpoint handles new feature requests
func (h *Handler) NewEndpoint(c *gin.Context) {
var req NewEndpointRequest
if err := c.ShouldBindJSON(&req); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
// Validate request
if err := req.Validate(); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
// Process request
result, err := h.service.ProcessNewEndpoint(req)
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, result)
}</code>
<h3>Test Your Changes</h3>
<div class="code-block">
// File: coordinator-api/internal/handler/new_endpoint_test.go
package handler
import (
"encoding/json"
"net/http"
"net/http/httptest"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestNewEndpoint(t *testing.T) {
// Setup
h := setupTestHandler(t)
// Test request
req := NewEndpointRequest{
Field1: "test",
Field2: 123,
}
// Create HTTP request
body, _ := json.Marshal(req)
w := httptest.NewRecorder()
r := httptest.NewRequest("POST", "/api/v1/new-endpoint", bytes.NewReader(body))
// Execute
h.NewEndpoint(w, r)
// Assert
require.Equal(t, http.StatusOK, w.Code)
var response NewEndpointResponse
err := json.Unmarshal(w.Body.Bytes(), &response)
require.NoError(t, err)
assert.Equal(t, "expected_value", response.Result)
}</code>
</section>
<!-- FAQ -->
<section class="content-section">
<h2>Frequently Asked Questions</h2>
<h3>General</h3>
<ul>
<li><strong>How do I start contributing?</strong> - Check our "Getting Started" guide and pick an issue that interests you.</li>
<li><strong>Do I need to sign anything?</strong> - Yes, you'll need to sign our CLA (Contributor License Agreement).</li>
<li><strong>Can I be paid for contributions?</strong> - Yes! Check our bounty program or apply for grants.</li>
</ul>
<h3>Technical</h3>
<ul>
<li><strong>What's the tech stack?</strong> - Rust for blockchain, Go for services, Python for AI, TypeScript for frontend.</li>
<li><strong>How do I run tests?</strong> - Use `make test` or check specific component documentation.</li>
<li><strong>Where can I ask questions?</strong> - Discord #dev channel is the best place.</li>
</ul>
<h3>Process</h3>
<ul>
<li><strong>How long does PR review take?</strong> - Usually 1-3 business days.</li>
<li><strong>Can I work on multiple issues?</strong> - Yes, but keep PRs focused on single features.</li>
<li><strong>What if my PR is rejected?</strong> - We'll provide feedback and guidance for resubmission.</li>
</ul>
</section>
</div>
</main>
<!-- Footer -->
<footer>
<div class="container">
<p>&copy; 2025 AITBC. All rights reserved.</p>
</div>
</footer>
</body>
</html>

567
website/docs-index.html Normal file
View File

@ -0,0 +1,567 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documentation - AITBC</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--primary-color: #2563eb;
--secondary-color: #1e40af;
--accent-color: #3b82f6;
--success-color: #10b981;
--warning-color: #f59e0b;
--danger-color: #ef4444;
--text-dark: #1f2937;
--text-light: #6b7280;
--bg-light: #f9fafb;
--bg-white: #ffffff;
--border-color: #e5e7eb;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
line-height: 1.6;
color: var(--text-dark);
background: var(--bg-light);
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* Header */
header {
background: var(--bg-white);
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
}
nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 0;
}
.logo {
font-size: 1.5rem;
font-weight: bold;
color: var(--primary-color);
text-decoration: none;
}
.nav-links {
display: flex;
gap: 2rem;
list-style: none;
}
.nav-links a {
color: var(--text-dark);
text-decoration: none;
transition: color 0.3s;
}
.nav-links a:hover {
color: var(--primary-color);
}
/* Main Content */
main {
margin-top: 80px;
padding: 60px 0;
}
.doc-header {
text-align: center;
margin-bottom: 4rem;
}
.doc-header h1 {
font-size: 3.5rem;
color: var(--text-dark);
margin-bottom: 1rem;
}
.doc-header p {
font-size: 1.3rem;
color: var(--text-light);
max-width: 600px;
margin: 0 auto;
}
/* Search Bar */
.search-container {
max-width: 600px;
margin: 0 auto 4rem;
position: relative;
}
.search-bar {
width: 100%;
padding: 1rem 3rem 1rem 1.5rem;
font-size: 1.1rem;
border: 2px solid var(--border-color);
border-radius: 50px;
outline: none;
transition: all 0.3s;
}
.search-bar:focus {
border-color: var(--primary-color);
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.search-icon {
position: absolute;
right: 1.5rem;
top: 50%;
transform: translateY(-50%);
color: var(--text-light);
font-size: 1.2rem;
}
/* Reader Level Cards */
.reader-levels {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 2rem;
margin-bottom: 4rem;
}
.reader-card {
background: var(--bg-white);
border-radius: 15px;
padding: 2.5rem;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
transition: all 0.3s;
position: relative;
overflow: hidden;
}
.reader-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 5px;
}
.reader-card.miner::before {
background: var(--primary-color);
}
.reader-card.client::before {
background: var(--success-color);
}
.reader-card.developer::before {
background: var(--warning-color);
}
.reader-card:hover {
transform: translateY(-10px);
box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}
.reader-icon {
width: 80px;
height: 80px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
color: white;
margin-bottom: 1.5rem;
}
.reader-card.miner .reader-icon {
background: var(--primary-color);
}
.reader-card.client .reader-icon {
background: var(--success-color);
}
.reader-card.developer .reader-icon {
background: var(--warning-color);
}
.reader-card h3 {
font-size: 1.8rem;
margin-bottom: 1rem;
color: var(--text-dark);
}
.reader-card p {
color: var(--text-light);
margin-bottom: 2rem;
line-height: 1.8;
}
.reader-features {
list-style: none;
margin-bottom: 2rem;
}
.reader-features li {
padding: 0.5rem 0;
color: var(--text-light);
position: relative;
padding-left: 1.5rem;
}
.reader-features li::before {
content: "✓";
position: absolute;
left: 0;
color: var(--success-color);
font-weight: bold;
}
.reader-card.miner .reader-features li::before {
color: var(--primary-color);
}
.reader-card.client .reader-features li::before {
color: var(--success-color);
}
.reader-card.developer .reader-features li::before {
color: var(--warning-color);
}
.btn {
display: inline-block;
padding: 12px 30px;
background: var(--primary-color);
color: white;
text-decoration: none;
border-radius: 50px;
font-weight: 600;
transition: all 0.3s;
border: none;
cursor: pointer;
}
.btn:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
.btn-outline {
background: transparent;
color: var(--primary-color);
border: 2px solid var(--primary-color);
}
.btn-outline:hover {
background: var(--primary-color);
color: white;
}
.reader-card.miner .btn {
background: var(--primary-color);
}
.reader-card.client .btn {
background: var(--success-color);
}
.reader-card.developer .btn {
background: var(--warning-color);
}
/* Quick Links */
.quick-links {
background: var(--bg-white);
border-radius: 15px;
padding: 3rem;
margin-bottom: 4rem;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.quick-links h2 {
font-size: 2rem;
margin-bottom: 2rem;
color: var(--text-dark);
text-align: center;
}
.links-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
}
.link-item {
display: flex;
align-items: center;
padding: 1rem;
background: var(--bg-light);
border-radius: 10px;
text-decoration: none;
color: var(--text-dark);
transition: all 0.3s;
}
.link-item:hover {
background: var(--primary-color);
color: white;
transform: translateX(5px);
}
.link-item i {
font-size: 1.5rem;
margin-right: 1rem;
color: var(--primary-color);
}
.link-item:hover i {
color: white;
}
/* Help Section */
.help-section {
text-align: center;
padding: 3rem;
background: var(--bg-white);
border-radius: 15px;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.help-section h2 {
font-size: 2rem;
margin-bottom: 1rem;
color: var(--text-dark);
}
.help-section p {
color: var(--text-light);
margin-bottom: 2rem;
}
.help-buttons {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
}
/* Footer */
footer {
background: var(--text-dark);
color: white;
padding: 40px 0;
text-align: center;
margin-top: 60px;
}
/* Responsive */
@media (max-width: 768px) {
.doc-header h1 {
font-size: 2.5rem;
}
.reader-levels {
grid-template-columns: 1fr;
}
.help-buttons {
flex-direction: column;
align-items: center;
}
}
</style>
</head>
<body>
<!-- Header -->
<header>
<nav class="container">
<a href="../index.html" class="logo">AITBC</a>
<ul class="nav-links">
<li><a href="../index.html">Home</a></li>
<li><a href="index.html" class="active">Documentation</a></li>
<li><a href="mailto:aitbc@bubuit.net">Contact</a></li>
</ul>
</nav>
</header>
<!-- Main Content -->
<main>
<div class="container">
<div class="doc-header">
<h1>Documentation</h1>
<p>Choose your reader level to access tailored documentation for your needs</p>
</div>
<!-- Search Bar -->
<div class="search-container">
<input type="text" class="search-bar" placeholder="Search documentation..." id="searchInput">
<i class="fas fa-search search-icon"></i>
</div>
<!-- Reader Level Cards -->
<div class="reader-levels">
<!-- Miners Card -->
<div class="reader-card miner">
<div class="reader-icon">
<i class="fas fa-pickaxe"></i>
</div>
<h3>Miners</h3>
<p>Learn how to mine AITBC tokens and contribute to network security. Perfect for those looking to earn rewards through staking or providing compute power.</p>
<ul class="reader-features">
<li>Mining setup and configuration</li>
<li>Hardware requirements</li>
<li>Profit calculations</li>
<li>Security best practices</li>
<li>Troubleshooting guide</li>
</ul>
<a href="docs-miners.html" class="btn">Miner Documentation</a>
</div>
<!-- Clients Card -->
<div class="reader-card client">
<div class="reader-icon">
<i class="fas fa-users"></i>
</div>
<h3>Clients</h3>
<p>Use AITBC for your AI/ML workloads with privacy and verifiable computation. Ideal for businesses and developers using AI services.</p>
<ul class="reader-features">
<li>Quick start guide</li>
<li>API and SDK documentation</li>
<li>Use case examples</li>
<li>Pricing information</li>
<li>Privacy & security features</li>
</ul>
<a href="docs-clients.html" class="btn">Client Documentation</a>
</div>
<!-- Developers Card -->
<div class="reader-card developer">
<div class="reader-icon">
<i class="fas fa-code"></i>
</div>
<h3>Developers</h3>
<p>Build on AITBC and contribute to the protocol. Designed for developers wanting to extend the platform or integrate with it.</p>
<ul class="reader-features">
<li>Development setup</li>
<li>Contribution guidelines</li>
<li>API reference</li>
<li>Bounty programs</li>
<li>Community resources</li>
</ul>
<a href="docs-developers.html" class="btn">Developer Documentation</a>
</div>
<!-- Full Documentation Card -->
<div class="reader-card">
<div class="reader-icon">
<i class="fas fa-book"></i>
</div>
<h3>Full Documentation</h3>
<p>Complete technical documentation covering all aspects of the AITBC platform including architecture, APIs, deployment, and advanced features.</p>
<ul class="reader-features">
<li>Architecture overview</li>
<li>Complete API reference</li>
<li>Deployment guides</li>
<li>Security documentation</li>
<li>Advanced configurations</li>
</ul>
<a href="../full-documentation.html" class="btn">View Full Documentation</a>
</div>
</div>
<!-- Quick Links -->
<section class="quick-links">
<h2>Quick Links</h2>
<div class="links-grid">
<a href="../full-documentation.html" class="link-item">
<i class="fas fa-book"></i>
<span>Full Documentation</span>
</a>
<a href="https://gitea.bubuit.net/oib/aitbc" class="link-item">
<i class="fab fa-git-alt"></i>
<span>Source Code</span>
</a>
<a href="https://discord.gg/aitbc" class="link-item">
<i class="fab fa-discord"></i>
<span>Community</span>
</a>
<a href="mailto:support@aitbc.io" class="link-item">
<i class="fas fa-envelope"></i>
<span>Support</span>
</a>
<a href="#" class="link-item">
<i class="fas fa-graduation-cap"></i>
<span>Tutorials</span>
</a>
<a href="#" class="link-item">
<i class="fas fa-video"></i>
<span>Video Guides</span>
</a>
</div>
</section>
<!-- Help Section -->
<section class="help-section">
<h2>Need Help?</h2>
<p>Can't find what you're looking for? Our community is here to help!</p>
<div class="help-buttons">
<a href="https://discord.gg/aitbc" class="btn">
<i class="fab fa-discord"></i> Join Discord
</a>
<a href="mailto:support@aitbc.io" class="btn btn-outline">
<i class="fas fa-envelope"></i> Email Support
</a>
<a href="#" class="btn btn-outline">
<i class="fas fa-comments"></i> Live Chat
</a>
</div>
</section>
</div>
</main>
<!-- Footer -->
<footer>
<div class="container">
<p>&copy; 2025 AITBC. All rights reserved.</p>
</div>
</footer>
<script>
// Search functionality
document.getElementById('searchInput').addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
const searchTerm = e.target.value.toLowerCase();
if (searchTerm) {
// Simple search logic - in real implementation, this would search actual docs
alert(`Searching for: ${searchTerm}\n\nIn a full implementation, this would search through all documentation pages and show relevant results.`);
}
}
});
// Add some interactivity
document.querySelectorAll('.reader-card').forEach(card => {
card.addEventListener('mouseenter', function() {
this.style.cursor = 'pointer';
});
});
</script>
</body>
</html>

727
website/docs-miners.html Normal file
View File

@ -0,0 +1,727 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Miner Documentation - AITBC</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--primary-color: #2563eb;
--secondary-color: #1e40af;
--accent-color: #3b82f6;
--success-color: #10b981;
--warning-color: #f59e0b;
--danger-color: #ef4444;
--text-dark: #1f2937;
--text-light: #6b7280;
--bg-light: #f9fafb;
--bg-white: #ffffff;
--border-color: #e5e7eb;
--code-bg: #1f2937;
--code-text: #e5e7eb;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
line-height: 1.6;
color: var(--text-dark);
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* Header */
header {
background: var(--bg-white);
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
}
nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 0;
}
.logo {
font-size: 1.5rem;
font-weight: bold;
color: var(--primary-color);
text-decoration: none;
}
.nav-links {
display: flex;
gap: 2rem;
list-style: none;
}
.nav-links a {
color: var(--text-dark);
text-decoration: none;
transition: color 0.3s;
}
.nav-links a:hover {
color: var(--primary-color);
}
/* Main Content */
main {
margin-top: 80px;
padding: 40px 0;
}
.doc-header {
text-align: center;
margin-bottom: 3rem;
}
.doc-header h1 {
font-size: 3rem;
color: var(--text-dark);
margin-bottom: 1rem;
}
.doc-header p {
font-size: 1.2rem;
color: var(--text-light);
}
/* Audience Badge */
.audience-badge {
display: inline-block;
background: var(--primary-color);
color: white;
padding: 0.5rem 1rem;
border-radius: 20px;
font-weight: 600;
margin-bottom: 1rem;
}
/* Quick Stats */
.quick-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1rem;
margin: 2rem 0;
}
.stat-card {
background: var(--bg-white);
padding: 1.5rem;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
text-align: center;
}
.stat-value {
font-size: 2rem;
font-weight: bold;
color: var(--primary-color);
}
.stat-label {
color: var(--text-light);
margin-top: 0.5rem;
}
/* Content Sections */
.content-section {
background: var(--bg-white);
border-radius: 10px;
padding: 2rem;
margin-bottom: 2rem;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.content-section h2 {
font-size: 1.8rem;
margin-bottom: 1rem;
color: var(--text-dark);
border-bottom: 2px solid var(--border-color);
padding-bottom: 0.5rem;
}
.content-section h3 {
font-size: 1.4rem;
margin: 1.5rem 0 1rem;
color: var(--primary-color);
}
.content-section p {
margin-bottom: 1rem;
color: var(--text-light);
}
.content-section ul {
margin-bottom: 1rem;
padding-left: 2rem;
}
.content-section li {
margin-bottom: 0.5rem;
color: var(--text-light);
}
/* Code Blocks */
.code-block {
background: var(--code-bg);
color: var(--code-text);
padding: 1.5rem;
border-radius: 5px;
overflow-x: auto;
margin: 1rem 0;
font-family: 'Courier New', monospace;
font-size: 0.9rem;
}
/* Alert Boxes */
.alert {
padding: 1rem;
border-radius: 5px;
margin: 1rem 0;
}
.alert-info {
background: #dbeafe;
border-left: 4px solid #3b82f6;
color: #1e40af;
}
.alert-warning {
background: #fef3c7;
border-left: 4px solid #f59e0b;
color: #92400e;
}
.alert-success {
background: #d1fae5;
border-left: 4px solid #10b981;
color: #065f46;
}
.alert-danger {
background: #fee2e2;
border-left: 4px solid #ef4444;
color: #991b1b;
}
/* Requirements Grid */
.requirements-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1rem;
margin: 1rem 0;
}
.requirement-card {
background: var(--bg-light);
padding: 1rem;
border-radius: 5px;
border-left: 4px solid var(--primary-color);
}
.requirement-card h4 {
color: var(--primary-color);
margin-bottom: 0.5rem;
}
/* Steps */
.step {
display: flex;
align-items: flex-start;
margin-bottom: 2rem;
}
.step-number {
background: var(--primary-color);
color: white;
width: 30px;
height: 30px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
margin-right: 1rem;
flex-shrink: 0;
}
.step-content {
flex-grow: 1;
}
.step-content h4 {
color: var(--text-dark);
margin-bottom: 0.5rem;
}
/* Profit Calculator */
.calculator {
background: var(--bg-light);
padding: 2rem;
border-radius: 10px;
margin: 2rem 0;
}
.calculator h3 {
margin-bottom: 1.5rem;
color: var(--text-dark);
}
.calc-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-bottom: 1rem;
}
.calc-input {
display: flex;
flex-direction: column;
}
.calc-input label {
font-weight: 600;
margin-bottom: 0.5rem;
color: var(--text-dark);
}
.calc-input input {
padding: 0.5rem;
border: 1px solid var(--border-color);
border-radius: 5px;
font-size: 1rem;
}
.calc-result {
background: var(--bg-white);
padding: 1rem;
border-radius: 5px;
margin-top: 1rem;
text-align: center;
}
.calc-result-value {
font-size: 2rem;
font-weight: bold;
color: var(--success-color);
}
/* FAQ */
.faq-item {
background: var(--bg-light);
padding: 1rem;
border-radius: 5px;
margin-bottom: 1rem;
}
.faq-question {
font-weight: 600;
color: var(--text-dark);
margin-bottom: 0.5rem;
}
.faq-answer {
color: var(--text-light);
}
/* Footer */
footer {
background: var(--text-dark);
color: white;
padding: 40px 0;
text-align: center;
margin-top: 40px;
}
/* Responsive */
@media (max-width: 768px) {
.doc-header h1 {
font-size: 2rem;
}
.calc-row {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<!-- Header -->
<header>
<nav class="container">
<a href="index.html" class="logo">AITBC</a>
<ul class="nav-links">
<li><a href="index.html">Home</a></li>
<li><a href="docs-miners.html" class="active">Miners</a></li>
<li><a href="docs-clients.html">Clients</a></li>
<li><a href="docs-developers.html">Developers</a></li>
<li><a href="https://gitea.bubuit.net/oib/aitbc">GitHub</a></li>
</ul>
</nav>
</header>
<!-- Main Content -->
<main>
<div class="container">
<div class="doc-header">
<span class="audience-badge">For Miners</span>
<h1>Start Mining AITBC</h1>
<p>Complete guide to becoming a successful AITBC miner and earning rewards</p>
</div>
<!-- Quick Stats -->
<div class="quick-stats">
<div class="stat-card">
<div class="stat-value">15-25%</div>
<div class="stat-label">Annual ROI</div>
</div>
<div class="stat-card">
<div class="stat-value">1000 AITBC</div>
<div class="stat-label">Minimum Stake</div>
</div>
<div class="stat-card">
<div class="stat-value">24/7</div>
<div class="stat-label">Mining Rewards</div>
</div>
<div class="stat-card">
<div class="stat-value">Low</div>
<div class="stat-label">Hardware Requirements</div>
</div>
</div>
<!-- Getting Started -->
<section class="content-section">
<h2>Getting Started</h2>
<p>AITBC mining combines Proof of Authority and Proof of Stake, offering multiple ways to participate and earn rewards.</p>
<h3>Mining Options</h3>
<ul>
<li><strong>Authority Mining</strong>: Become a trusted authority node (invitation only)</li>
<li><strong>Stake Mining</strong>: Stake AITBC tokens and earn rewards</li>
<li><strong>GPU Mining</strong>: Provide compute power for AI/ML workloads</li>
<li><strong>Hybrid Mining</strong>: Combine staking with compute provision</li>
</ul>
<h3>Quick Start</h3>
<div class="step">
<div class="step-number">1</div>
<div class="step-content">
<h4>Download & Install</h4>
<p>Get the AITBC mining software for your platform</p>
<div class="code-block">
# Linux/macOS
curl -O https://releases.aitbc.io/aitbc-miner-v1.0.0.tar.gz
tar -xzf aitbc-miner-v1.0.0.tar.gz
cd aitbc-miner
# Windows
# Download from https://releases.aitbc.io/windows</code-block>
</div>
</div>
<div class="step">
<div class="step-number">2</div>
<div class="step-content">
<h4>Configure Your Node</h4>
<p>Set up your mining configuration</p>
<div class="code-block">
# Create configuration
./aitbc-miner config init
# Edit configuration
nano ~/.aitbc/miner.toml</code-block>
</div>
</div>
<div class="step">
<div class="step-number">3</div>
<div class="step-content">
<h4>Stake Tokens</h4>
<p>Lock your AITBC tokens to start earning</p>
<div class="code-block">
# Stake 1000 AITBC
./aitbc-miner stake 1000 --wallet YOUR_WALLET_ADDRESS</code-block>
</div>
</div>
<div class="step">
<div class="step-number">4</div>
<div class="step-content">
<h4>Start Mining</h4>
<p>Launch your mining node</p>
<div class="code-block">
# Start mining
./aitbc-miner start --mode stake</code-block>
</div>
</div>
</section>
<!-- Hardware Requirements -->
<section class="content-section">
<h2>Hardware Requirements</h2>
<div class="requirements-grid">
<div class="requirement-card">
<h4><i class="fas fa-microchip"></i> CPU</h4>
<p>4+ cores (8+ recommended for GPU mining)</p>
</div>
<div class="requirement-card">
<h4><i class="fas fa-memory"></i> RAM</h4>
<p>8GB minimum (16GB+ for GPU mining)</p>
</div>
<div class="requirement-card">
<h4><i class="fas fa-hdd"></i> Storage</h4>
<p>100GB SSD (500GB+ for full node)</p>
</div>
<div class="requirement-card">
<h4><i class="fas fa-network-wired"></i> Network</h4>
<p>Stable broadband (100Mbps+)</p>
</div>
<div class="requirement-card">
<h4><i class="fas fa-rocket"></i> GPU (Optional)</h4>
<p>NVIDIA RTX 3080+ or AMD RX 6800+</p>
</div>
<div class="requirement-card">
<h4><i class="fas fa-shield-alt"></i> Security</h4>
<p>HSM recommended for large stakes</p>
</div>
</div>
<div class="alert alert-info">
<strong>Note:</strong> GPU mining requires additional setup but offers higher rewards through AI/ML workload processing.
</div>
</section>
<!-- Profit Calculator -->
<section class="calculator">
<h3><i class="fas fa-calculator"></i> Profit Calculator</h3>
<div class="calc-row">
<div class="calc-input">
<label for="stakeAmount">Stake Amount (AITBC)</label>
<input type="number" id="stakeAmount" value="10000" oninput="calculateProfit()">
</div>
<div class="calc-input">
<label for="apy">Expected APY (%)</label>
<input type="number" id="apy" value="20" oninput="calculateProfit()">
</div>
</div>
<div class="calc-row">
<div class="calc-input">
<label for="tokenPrice">Token Price (USD)</label>
<input type="number" id="tokenPrice" value="2.50" step="0.01" oninput="calculateProfit()">
</div>
<div class="calc-input">
<label for="gpuRewards">GPU Rewards (USD/month)</label>
<input type="number" id="gpuRewards" value="0" oninput="calculateProfit()">
</div>
</div>
<div class="calc-result">
<div>Estimated Monthly Earnings</div>
<div class="calc-result-value" id="monthlyEarnings">$416.67</div>
<div>Estimated Annual Earnings</div>
<div class="calc-result-value" id="annualEarnings">$5,000.00</div>
</div>
</section>
<!-- Mining Strategies -->
<section class="content-section">
<h2>Mining Strategies</h2>
<h3>1. Pure Staking</h3>
<p>The simplest approach - stake your tokens and earn passive income.</p>
<ul>
<li>Pros: Low maintenance, predictable returns</li>
<li>Cons: Lower rewards than active mining</li>
<li>Best for: Long-term holders, passive investors</li>
</ul>
<h3>2. GPU Mining</h3>
<p>Provide compute power for AI/ML workloads and earn additional rewards.</p>
<ul>
<li>Pros: Higher rewards, supports the network</li>
<li>Cons: Higher hardware costs, more maintenance</li>
<li>Best for: Technical users with GPU hardware</li>
</ul>
<h3>3. Authority Mining</h3>
<p>Apply to become a trusted authority node (invitation only).</p>
<ul>
<li>Pros: Highest rewards, network influence</li>
<li>Cons: High requirements, strict vetting</li>
<li>Best for: Established organizations, experienced miners</li>
</ul>
<h3>4. Hybrid Approach</h3>
<p>Combine staking with GPU mining for maximum returns.</p>
<ul>
<li>Pros: Diversified income streams</li>
<li>Cons: Complex setup, higher initial cost</li>
<li>Best for: Experienced miners seeking optimization</li>
</ul>
</section>
<!-- Security Best Practices -->
<section class="content-section">
<h2>Security Best Practices</h2>
<div class="alert alert-danger">
<strong>Important:</strong> Never share your private keys or wallet passwords with anyone!
</div>
<h3>Wallet Security</h3>
<ul>
<li>Use a hardware wallet for large stakes</li>
<li>Enable two-factor authentication</li>
<li>Keep your wallet software updated</li>
<li>Backup your wallet securely (offline)</li>
<li>Use a dedicated mining wallet</li>
</ul>
<h3>Node Security</h3>
<ul>
<li>Keep your operating system updated</li>
<li>Use a firewall to restrict access</li>
<li>Monitor for unusual activity</li>
<li>Use VPN for additional privacy</li>
<li>Regular security audits</li>
</ul>
<h3>Operational Security</h3>
<ul>
<li>Diversify your stake across multiple nodes</li>
<li>Use automated monitoring and alerts</li>
<li>Have backup power and internet</li>
<li>Document your recovery procedures</li>
<li>Join the community for security updates</li>
</ul>
</section>
<!-- Troubleshooting -->
<section class="content-section">
<h2>Troubleshooting</h2>
<h3>Common Issues</h3>
<div class="faq-item">
<div class="faq-question">Node won't start?</div>
<div class="faq-answer">
Check your configuration file syntax and ensure all required ports are open. Use <code>./aitbc-miner check-config</code> to validate your setup.
</div>
</div>
<div class="faq-item">
<div class="faq-question">Low mining rewards?</div>
<div class="faq-answer">
Ensure your node is online 24/7, check your stake amount, and verify you're running the latest version. Network conditions also affect rewards.
</div>
</div>
<div class="faq-item">
<div class="faq-question">Sync issues?</div>
<div class="faq-answer">
Try resyncing with <code>./aitbc-miner sync --reset</code>. Check your internet connection and disk space.
</div>
</div>
<div class="faq-item">
<div class="faq-question">GPU not detected?</div>
<div class="faq-answer">
Install latest GPU drivers, verify CUDA/OpenCL support, and check <code>./aitbc-miner gpu check</code>.
</div>
</div>
<h3>Getting Help</h3>
<ul>
<li>Check the logs: <code>./aitbc-miner logs</code></li>
<li>Visit our Discord community</li>
<li>Search issues on Gitea</li>
<li>Email support: miners@aitbc.io</li>
</ul>
</section>
<!-- FAQ -->
<section class="content-section">
<h2>Frequently Asked Questions</h2>
<div class="faq-item">
<div class="faq-question">How much can I earn mining AITBC?</div>
<div class="faq-answer">
Earnings vary based on stake amount, network participation, and whether you provide GPU compute. Typical APY ranges from 15-25% for staking, with GPU mining adding additional rewards.
</div>
</div>
<div class="faq-item">
<div class="faq-question">When do I get paid?</div>
<div class="faq-answer">
Rewards are distributed daily and automatically credited to your wallet. You can withdraw anytime after the initial lock period.
</div>
</div>
<div class="faq-item">
<div class="faq-question">Can I run multiple nodes?</div>
<div class="faq-answer">
Yes, you can run multiple nodes but each requires separate stakes. This can provide redundancy and potentially higher rewards.
</div>
</div>
<div class="faq-item">
<div class="faq-question">What happens if my node goes offline?</div>
<div class="faq-answer">
You won't earn rewards while offline, but your stake remains safe. Extended downtime may affect your reputation score.
</div>
</div>
<div class="faq-item">
<div class="faq-question">How do I become an authority node?</div>
<div class="faq-answer">
Authority nodes require invitation based on community contribution, technical expertise, and stake amount. Apply through the community forum.
</div>
</div>
</section>
</div>
</main>
<!-- Footer -->
<footer>
<div class="container">
<p>&copy; 2025 AITBC. All rights reserved.</p>
</div>
</footer>
<script>
// Profit Calculator
function calculateProfit() {
const stake = parseFloat(document.getElementById('stakeAmount').value) || 0;
const apy = parseFloat(document.getElementById('apy').value) || 0;
const price = parseFloat(document.getElementById('tokenPrice').value) || 0;
const gpuRewards = parseFloat(document.getElementById('gpuRewards').value) || 0;
const monthlyStakeRewards = (stake * (apy / 100) / 12) * price;
const monthlyEarnings = monthlyStakeRewards + gpuRewards;
const annualEarnings = monthlyEarnings * 12;
document.getElementById('monthlyEarnings').textContent = `$${monthlyEarnings.toFixed(2)}`;
document.getElementById('annualEarnings').textContent = `$${annualEarnings.toFixed(2)}`;
}
// Initialize calculator
calculateProfit();
</script>
</body>
</html>

613
website/documentation.html Normal file
View File

@ -0,0 +1,613 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documentation - AITBC</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--primary-color: #2563eb;
--secondary-color: #1e40af;
--accent-color: #3b82f6;
--text-dark: #1f2937;
--text-light: #6b7280;
--bg-light: #f9fafb;
--bg-white: #ffffff;
--border-color: #e5e7eb;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
line-height: 1.6;
color: var(--text-dark);
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* Header */
header {
background: var(--bg-white);
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
}
nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 0;
}
.logo {
font-size: 1.5rem;
font-weight: bold;
color: var(--primary-color);
text-decoration: none;
}
.nav-links {
display: flex;
gap: 2rem;
list-style: none;
}
.nav-links a {
color: var(--text-dark);
text-decoration: none;
transition: color 0.3s;
}
.nav-links a:hover {
color: var(--primary-color);
}
/* Main Content */
main {
margin-top: 80px;
padding: 40px 0;
}
.doc-header {
text-align: center;
margin-bottom: 3rem;
}
.doc-header h1 {
font-size: 2.5rem;
color: var(--text-dark);
margin-bottom: 1rem;
}
.doc-header p {
font-size: 1.1rem;
color: var(--text-light);
}
/* Documentation Grid */
.doc-grid {
display: grid;
grid-template-columns: 250px 1fr;
gap: 2rem;
}
/* Sidebar */
.sidebar {
background: var(--bg-light);
border-radius: 10px;
padding: 1.5rem;
height: fit-content;
position: sticky;
top: 100px;
}
.sidebar h3 {
font-size: 1.2rem;
margin-bottom: 1rem;
color: var(--text-dark);
}
.sidebar ul {
list-style: none;
}
.sidebar li {
margin-bottom: 0.5rem;
}
.sidebar a {
color: var(--text-light);
text-decoration: none;
display: block;
padding: 0.5rem;
border-radius: 5px;
transition: all 0.3s;
}
.sidebar a:hover,
.sidebar a.active {
background: var(--bg-white);
color: var(--primary-color);
}
/* Content */
.content {
background: var(--bg-white);
border-radius: 10px;
padding: 2rem;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.content h2 {
font-size: 2rem;
margin-bottom: 1rem;
color: var(--text-dark);
border-bottom: 2px solid var(--border-color);
padding-bottom: 0.5rem;
}
.content h3 {
font-size: 1.5rem;
margin: 2rem 0 1rem;
color: var(--text-dark);
}
.content h4 {
font-size: 1.2rem;
margin: 1.5rem 0 0.5rem;
color: var(--primary-color);
}
.content p {
margin-bottom: 1rem;
color: var(--text-light);
}
.content ul,
.content ol {
margin-bottom: 1rem;
padding-left: 2rem;
}
.content li {
margin-bottom: 0.5rem;
color: var(--text-light);
}
.content code {
background: var(--bg-light);
padding: 0.2rem 0.4rem;
border-radius: 3px;
font-family: 'Courier New', monospace;
font-size: 0.9rem;
}
.content pre {
background: var(--bg-light);
padding: 1rem;
border-radius: 5px;
overflow-x: auto;
margin-bottom: 1rem;
}
.content pre code {
background: none;
padding: 0;
}
.content blockquote {
border-left: 4px solid var(--primary-color);
padding-left: 1rem;
margin: 1rem 0;
color: var(--text-light);
font-style: italic;
}
.content table {
width: 100%;
border-collapse: collapse;
margin: 1rem 0;
}
.content th,
.content td {
padding: 0.75rem;
text-align: left;
border-bottom: 1px solid var(--border-color);
}
.content th {
background: var(--bg-light);
font-weight: 600;
color: var(--text-dark);
}
/* Alert Boxes */
.alert {
padding: 1rem;
border-radius: 5px;
margin: 1rem 0;
}
.alert-info {
background: #dbeafe;
border-left: 4px solid #3b82f6;
color: #1e40af;
}
.alert-warning {
background: #fef3c7;
border-left: 4px solid #f59e0b;
color: #92400e;
}
.alert-success {
background: #d1fae5;
border-left: 4px solid #10b981;
color: #065f46;
}
/* Footer */
footer {
background: var(--text-dark);
color: white;
padding: 40px 0;
text-align: center;
margin-top: 40px;
}
/* Responsive */
@media (max-width: 768px) {
.doc-grid {
grid-template-columns: 1fr;
}
.sidebar {
position: static;
}
}
</style>
</head>
<body>
<!-- Header -->
<header>
<nav class="container">
<a href="index.html" class="logo">AITBC</a>
<ul class="nav-links">
<li><a href="index.html">Home</a></li>
<li><a href="documentation.html" class="active">Documentation</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
</header>
<!-- Main Content -->
<main>
<div class="container">
<div class="doc-header">
<h1>AITBC Documentation</h1>
<p>Comprehensive guides and technical documentation for the AITBC platform</p>
</div>
<div class="doc-grid">
<!-- Sidebar -->
<aside class="sidebar">
<h3>Quick Links</h3>
<ul>
<li><a href="#getting-started">Getting Started</a></li>
<li><a href="#architecture">Architecture</a></li>
<li><a href="#api-reference">API Reference</a></li>
<li><a href="#developer-guide">Developer Guide</a></li>
<li><a href="#deployment">Deployment</a></li>
<li><a href="#security">Security</a></li>
<li><a href="#faq">FAQ</a></li>
</ul>
</aside>
<!-- Content -->
<div class="content">
<section id="getting-started">
<h2>Getting Started</h2>
<p>Welcome to AITBC! This guide will help you get started with the AI Training & Blockchain Computing platform.</p>
<h3>Prerequisites</h3>
<ul>
<li>Linux or macOS operating system</li>
<li>Docker installed (version 20.10+)</li>
<li>Git</li>
<li>Node.js (version 16+) for frontend development</li>
<li>Python (version 3.8+) for backend development</li>
</ul>
<h3>Quick Installation</h3>
<div class="alert alert-info">
<strong>Note:</strong> For production deployments, please refer to the <a href="#deployment">Deployment Guide</a>.
</div>
<pre><code># Clone the repository
git clone https://github.com/aitbc/aitbc.git
cd aitbc
# Run the setup script
./scripts/setup.sh
# Start the development environment
docker-compose up -d</code></pre>
<h3>Verify Installation</h3>
<p>Once the services are running, you can verify the installation by checking:</p>
<ul>
<li>Blockchain Node: <code>http://localhost:8545</code></li>
<li>Coordinator API: <code>http://localhost:8080</code></li>
<li>Marketplace UI: <code>http://localhost:3000</code></li>
</ul>
</section>
<section id="architecture">
<h2>Architecture</h2>
<p>AITBC is built with a modular architecture consisting of several key components:</p>
<h3>Core Components</h3>
<h4>1. Blockchain Node</h4>
<p>The blockchain node implements a hybrid Proof of Authority/Proof of Stake consensus mechanism with dynamic mode switching:</p>
<ul>
<li><strong>FAST Mode:</strong> 100-200ms finality, up to 50,000 TPS</li>
<li><strong>BALANCED Mode:</strong> 500ms-1s finality, up to 20,000 TPS</li>
<li><strong>SECURE Mode:</strong> 2-5s finality, up to 10,000 TPS</li>
</ul>
<h4>2. Coordinator API</h4>
<p>The coordinator acts as the central hub for marketplace operations:</p>
<ul>
<li>Job management and scheduling</li>
<li>Receipt verification and storage</li>
<li>Provider registration and reputation</li>
<li>Multi-tenant support</li>
</ul>
<h4>3. GPU Service Provider</h4>
<p>Decentralized compute providers offer AI/ML services:</p>
<ul>
<li>Model inference</li>
<li>Training and fine-tuning</li>
<li>Result verification</li>
<li>Cross-chain compatibility</li>
</ul>
<h3>Data Flow</h3>
<ol>
<li>Client submits job request to Coordinator</li>
<li>Coordinator matches with suitable provider</li>
<li>Provider executes computation</li>
<li>Results submitted with cryptographic proof</li>
<li>Verification and settlement on blockchain</li>
</ol>
</section>
<section id="api-reference">
<h2>API Reference</h2>
<p>AITBC provides REST APIs for interacting with the platform:</p>
<h3>Coordinator API</h3>
<h4>Authentication</h4>
<p>All API requests require authentication using JWT tokens:</p>
<pre><code>Authorization: Bearer &lt;your-jwt-token&gt;</code></pre>
<h4>Endpoints</h4>
<table>
<tr>
<th>Method</th>
<th>Endpoint</th>
<th>Description</th>
</tr>
<tr>
<td>POST</td>
<td>/api/v1/jobs</td>
<td>Create a new job</td>
</tr>
<tr>
<td>GET</td>
<td>/api/v1/jobs/{id}</td>
<td>Get job details</td>
</tr>
<tr>
<td>GET</td>
<td>/api/v1/jobs</td>
<td>List jobs</td>
</tr>
<tr>
<td>POST</td>
<td>/api/v1/receipts/verify</td>
<td>Verify a receipt</td>
</tr>
</table>
<h3>Example: Create a Job</h3>
<pre><code>curl -X POST http://localhost:8080/api/v1/jobs \
-H "Authorization: Bearer &lt;token&gt;" \
-H "Content-Type: application/json" \
-d '{
"type": "inference",
"model_id": "gpt-4",
"input_data": "Hello, world!",
"requirements": {
"max_tokens": 100,
"temperature": 0.7
}
}'</code></pre>
</section>
<section id="developer-guide">
<h2>Developer Guide</h2>
<p>This section provides detailed information for developers building on AITBC.</p>
<h3>SDKs</h3>
<p>AITBC provides SDKs for multiple languages:</p>
<ul>
<li><strong>Python SDK:</strong> <code>pip install aitbc</code></li>
<li><strong>JavaScript SDK:</strong> <code>npm install @aitbc/client</code></li>
<li><strong>Go SDK:</strong> <code>go get github.com/aitbc/go-sdk</code></li>
</ul>
<h3>Building Extensions</h3>
<p>Developers can extend AITBC functionality through:</p>
<ol>
<li>Custom marketplace extensions</li>
<li>New compute provider implementations</li>
<li>Alternative consensus mechanisms</li>
<li>Cross-chain bridges</li>
</ol>
<h3>Contributing</h3>
<p>We welcome contributions! Please see our <a href="https://gitea.bubuit.net/aitbc/blob/main/CONTRIBUTING.md">contributing guide</a> for details.</p>
</section>
<section id="deployment">
<h2>Deployment Guide</h2>
<p>This guide covers deploying AITBC in production environments.</p>
<h3>System Requirements</h3>
<div class="alert alert-warning">
<strong>Minimum Requirements:</strong>
<ul>
<li>4 CPU cores</li>
<li>8GB RAM</li>
<li>100GB storage</li>
<li>Stable internet connection</li>
</ul>
</div>
<h3>Production Deployment</h3>
<pre><code># Clone the repository
git clone https://github.com/aitbc/aitbc.git
cd aitbc
# Configure environment
cp .env.example .env
# Edit .env with your settings
# Deploy with Docker Compose
docker-compose -f docker-compose.prod.yml up -d</code></pre>
<h3>Monitoring</h3>
<p>AITBC includes built-in monitoring capabilities:</p>
<ul>
<li>Prometheus metrics endpoint</li>
<li>Grafana dashboards</li>
<li>Health check endpoints</li>
<li>Log aggregation</li>
</ul>
</section>
<section id="security">
<h2>Security</h2>
<p>Security is a top priority for AITBC. Here are the key security features:</p>
<h3>Cryptography</h3>
<ul>
<li>Zero-knowledge proofs for privacy</li>
<li>Threshold signatures for security</li>
<li>End-to-end encryption</li>
<li>Secure multi-party computation</li>
</ul>
<h3>Audit Reports</h3>
<p>Our smart contracts have been audited by:</p>
<ul>
<li>Trail of Bits (2024)</li>
<li>CertiK (2024)</li>
<li>OpenZeppelin (2023)</li>
</ul>
<h3>Bug Bounty</h3>
<p>We offer a bug bounty program with rewards up to $100,000. Report vulnerabilities at <a href="mailto:aitbc@bubuit.net">security@aitbc.io</a>.</p>
</section>
<section id="faq">
<h2>Frequently Asked Questions</h2>
<h3>General</h3>
<h4>What is AITBC?</h4>
<p>AITBC is a decentralized platform for AI/ML workloads that combines blockchain technology with artificial intelligence to create a trustless marketplace for computational resources.</p>
<h4>How does AITBC ensure privacy?</h4>
<p>We use zero-knowledge proofs and secure enclaves to protect sensitive data while enabling verification of computation.</p>
<h4>What blockchains does AITBC support?</h4>
<p>AITBC currently supports Ethereum, Polygon, and Binance Smart Chain, with more chains being added.</p>
<h3>Technical</h3>
<h4>What is the maximum TPS?</h4>
<p>AITBC can achieve up to 100,000 TPS through sharding and rollup architectures.</p>
<h4>How long does finality take?</h4>
<p>Finality time depends on the consensus mode: 100ms (FAST), 1s (BALANCED), or 5s (SECURE).</p>
<h3>Economic</h3>
<h4>How are providers rewarded?</h4>
<p>Providers earn AITBC tokens for completing computations, with rewards based on performance and reputation.</p>
<h4>What are the fees?</h4>
<p>Transaction fees are dynamic and depend on network load, typically ranging from 0.1% to 1% of the transaction value.</p>
</section>
</div>
</div>
</div>
</main>
<!-- Footer -->
<footer>
<div class="container">
<p>&copy; 2025 AITBC. All rights reserved.</p>
</div>
</footer>
<script>
// Smooth scrolling for sidebar links
document.querySelectorAll('.sidebar a').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
document.querySelector(this.getAttribute('href')).scrollIntoView({
behavior: 'smooth'
});
});
});
// Update active sidebar link on scroll
const sections = document.querySelectorAll('section[id]');
const sidebarLinks = document.querySelectorAll('.sidebar a');
window.addEventListener('scroll', () => {
let current = '';
sections.forEach(section => {
const sectionTop = section.offsetTop;
const sectionHeight = section.clientHeight;
if (scrollY >= (sectionTop - 100)) {
current = section.getAttribute('id');
}
});
sidebarLinks.forEach(link => {
link.classList.remove('active');
if (link.getAttribute('href') === '#' + current) {
link.classList.add('active');
}
});
});
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

728
website/index.html Normal file
View File

@ -0,0 +1,728 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AITBC - Production-Ready AI Blockchain Platform</title>
<meta name="description" content="AITBC - Production-ready AI blockchain platform with 7 live components, 30+ GPU services, and Stage 7 complete">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--primary-color: #2563eb;
--secondary-color: #1e40af;
--accent-color: #3b82f6;
--text-dark: #1f2937;
--text-light: #6b7280;
--bg-light: #f9fafb;
--bg-white: #ffffff;
--gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
line-height: 1.6;
color: var(--text-dark);
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* Header */
header {
background: var(--bg-white);
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
}
nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 0;
}
.logo {
font-size: 1.5rem;
font-weight: bold;
color: var(--primary-color);
text-decoration: none;
}
.nav-links {
display: flex;
gap: 2rem;
list-style: none;
}
.nav-links a {
color: var(--text-dark);
text-decoration: none;
transition: color 0.3s;
}
.nav-links a:hover {
color: var(--primary-color);
}
/* Hero Section */
.hero {
background: var(--gradient);
color: white;
padding: 120px 0 80px;
text-align: center;
}
.hero h1 {
font-size: 3.5rem;
margin-bottom: 1rem;
animation: fadeInUp 0.8s ease;
}
.hero p {
font-size: 1.25rem;
margin-bottom: 2rem;
opacity: 0.9;
animation: fadeInUp 0.8s ease 0.2s both;
}
.cta-button {
display: inline-block;
padding: 12px 30px;
background: var(--bg-white);
color: var(--primary-color);
text-decoration: none;
border-radius: 5px;
font-weight: 600;
transition: transform 0.3s, box-shadow 0.3s;
animation: fadeInUp 0.8s ease 0.4s both;
}
.cta-button:hover {
transform: translateY(-2px);
box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
/* Features Section */
.features {
padding: 80px 0;
background: var(--bg-light);
}
.section-title {
text-align: center;
font-size: 2.5rem;
margin-bottom: 3rem;
color: var(--text-dark);
}
.features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
}
.feature-card {
background: var(--bg-white);
padding: 2rem;
border-radius: 10px;
box-shadow: 0 5px 15px rgba(0,0,0,0.08);
transition: transform 0.3s;
}
.feature-card:hover {
transform: translateY(-5px);
}
.feature-icon {
font-size: 3rem;
color: var(--primary-color);
margin-bottom: 1rem;
}
.feature-card h3 {
font-size: 1.5rem;
margin-bottom: 1rem;
color: var(--text-dark);
}
.feature-card p {
color: var(--text-light);
line-height: 1.8;
}
/* Architecture Section */
.architecture {
padding: 80px 0;
background: var(--bg-white);
}
.architecture-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
margin-top: 3rem;
}
.arch-component {
text-align: center;
padding: 1.5rem;
border: 2px solid #e5e7eb;
border-radius: 10px;
transition: border-color 0.3s;
}
.arch-component:hover {
border-color: var(--primary-color);
}
.arch-component i {
font-size: 2.5rem;
color: var(--primary-color);
margin-bottom: 1rem;
}
/* Stats Section */
.stats {
padding: 60px 0;
background: var(--gradient);
color: white;
}
.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 2rem;
text-align: center;
}
.stat-item h3 {
font-size: 2.5rem;
margin-bottom: 0.5rem;
}
.stat-item p {
font-size: 1.1rem;
opacity: 0.9;
}
/* Documentation Section */
.documentation {
padding: 80px 0;
background: var(--bg-light);
}
.section-subtitle {
text-align: center;
font-size: 1.2rem;
color: var(--text-light);
margin-bottom: 3rem;
}
.docs-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin-bottom: 3rem;
}
.doc-card {
background: var(--bg-white);
padding: 2.5rem;
border-radius: 15px;
text-align: center;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
transition: all 0.3s;
position: relative;
overflow: hidden;
}
.doc-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
}
.doc-card:nth-child(1)::before {
background: var(--primary-color);
}
.doc-card:nth-child(2)::before {
background: var(--success-color);
}
.doc-card:nth-child(3)::before {
background: var(--warning-color);
}
.doc-card:hover {
transform: translateY(-10px);
box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}
.doc-icon {
width: 70px;
height: 70px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.8rem;
color: white;
margin: 0 auto 1.5rem;
}
.doc-card:nth-child(1) .doc-icon {
background: var(--primary-color);
}
.doc-card:nth-child(2) .doc-icon {
background: var(--success-color);
}
.doc-card:nth-child(3) .doc-icon {
background: var(--warning-color);
}
.doc-card h3 {
font-size: 1.5rem;
margin-bottom: 1rem;
color: var(--text-dark);
}
.doc-card p {
color: var(--text-light);
margin-bottom: 2rem;
}
.doc-link {
display: inline-flex;
align-items: center;
gap: 0.5rem;
color: var(--text-dark);
text-decoration: none;
font-weight: 600;
transition: all 0.3s;
}
.doc-card:nth-child(1) .doc-link:hover {
color: var(--primary-color);
}
.doc-card:nth-child(2) .doc-link:hover {
color: var(--success-color);
}
.doc-card:nth-child(3) .doc-link:hover {
color: var(--warning-color);
}
.docs-cta {
text-align: center;
}
/* Roadmap Section */
.roadmap {
padding: 80px 0;
background: var(--bg-light);
}
.roadmap-timeline {
max-width: 800px;
margin: 0 auto;
position: relative;
}
.roadmap-item {
display: flex;
margin-bottom: 3rem;
position: relative;
}
.roadmap-item::before {
content: '';
position: absolute;
left: 20px;
top: 30px;
bottom: -30px;
width: 2px;
background: var(--primary-color);
}
.roadmap-item:last-child::before {
display: none;
}
.roadmap-marker {
width: 40px;
height: 40px;
background: var(--primary-color);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-weight: bold;
margin-right: 2rem;
flex-shrink: 0;
}
.roadmap-content {
background: var(--bg-white);
padding: 1.5rem;
border-radius: 10px;
box-shadow: 0 3px 10px rgba(0,0,0,0.1);
flex-grow: 1;
}
.roadmap-content h4 {
color: var(--primary-color);
margin-bottom: 0.5rem;
}
/* Footer */
footer {
background: var(--text-dark);
color: white;
padding: 40px 0;
text-align: center;
}
.footer-links {
display: flex;
justify-content: center;
gap: 2rem;
margin-bottom: 2rem;
}
.footer-links a {
color: white;
text-decoration: none;
transition: color 0.3s;
}
.footer-links a:hover {
color: var(--accent-color);
}
/* Animations */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Responsive */
@media (max-width: 768px) {
.nav-links {
display: none;
}
.hero h1 {
font-size: 2.5rem;
}
.features-grid {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<!-- Header -->
<header>
<nav class="container">
<a href="#" class="logo">AITBC</a>
<ul class="nav-links">
<li><a href="#features">Features</a></li>
<li><a href="#architecture">Architecture</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="docs/index.html">Documentation</a></li>
</ul>
</nav>
</header>
<!-- Hero Section -->
<section class="hero">
<div class="container">
<h1>Production-Ready AI Blockchain Platform</h1>
<p>7 Live Components • 30+ GPU Services • Stage 7 Complete</p>
<a href="#features" class="cta-button">Explore Features</a>
</div>
</section>
<!-- Features Section -->
<section class="features" id="features">
<div class="container">
<h2 class="section-title">Platform Components</h2>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">
<i class="fas fa-cube"></i>
</div>
<h3>Blockchain Node</h3>
<p>PoA/PoS consensus with REST/WebSocket RPC, real-time gossip layer, and comprehensive observability. Production-ready with devnet tooling.</p>
</div>
<div class="feature-card">
<div class="feature-icon">
<i class="fas fa-server"></i>
</div>
<h3>Coordinator API</h3>
<p>FastAPI service for job submission, miner registration, and receipt management. SQLite persistence with comprehensive endpoints.</p>
</div>
<div class="feature-card">
<div class="feature-icon">
<i class="fas fa-store"></i>
</div>
<h3>Marketplace Web</h3>
<p>Vite/TypeScript marketplace with offer/bid functionality, stats dashboard, and mock/live data toggle. Production UI ready.</p>
</div>
<div class="feature-card">
<div class="feature-icon">
<i class="fas fa-search"></i>
</div>
<h3>Explorer Web</h3>
<p>Full-featured blockchain explorer with blocks, transactions, addresses, and receipts tracking. Responsive design with live data.</p>
</div>
<div class="feature-card">
<div class="feature-icon">
<i class="fas fa-wallet"></i>
</div>
<h3>Wallet Daemon</h3>
<p>Encrypted keystore with Argon2id + XChaCha20-Poly1305, REST/JSON-RPC APIs, and receipt verification capabilities.</p>
</div>
<div class="feature-card">
<div class="feature-icon">
<i class="fas fa-swimming-pool"></i>
</div>
<h3>Pool Hub</h3>
<p>Miner registry with scoring engine, Redis/PostgreSQL backing, and comprehensive metrics. Live matching API deployed.</p>
</div>
</div>
</div>
</section>
<!-- Architecture Section -->
<section class="architecture" id="architecture">
<div class="container">
<h2 class="section-title">Architecture</h2>
<div class="architecture-grid">
<div class="arch-component">
<i class="fas fa-server"></i>
<h3>Coordinator API</h3>
<p>Central coordination layer for marketplace operations</p>
</div>
<div class="arch-component">
<i class="fas fa-link"></i>
<h3>Blockchain Node</h3>
<p>Hybrid PoA/PoS consensus with fast finality</p>
</div>
<div class="arch-component">
<i class="fas fa-cube"></i>
<h3>GPU Providers</h3>
<p>Decentralized compute network for AI workloads</p>
</div>
<div class="arch-component">
<i class="fas fa-wallet"></i>
<h3>Wallet Daemon</h3>
<p>Secure wallet management and transaction signing</p>
</div>
</div>
</div>
</section>
<!-- Stats Section -->
<section class="stats">
<div class="container">
<div class="stats-grid">
<div class="stat-item">
<h3>100,000+</h3>
<p>Transactions Per Second</p>
</div>
<div class="stat-item">
<h3>&lt;1s</h3>
<p>Finality Time</p>
</div>
<div class="stat-item">
<h3>64</h3>
<p>Shard Chains</p>
</div>
<div class="stat-item">
<h3>95%</h3>
<p>Energy Reduction vs PoW</p>
</div>
</div>
</div>
</section>
<!-- Documentation Section -->
<section class="documentation" id="documentation">
<div class="container">
<h2 class="section-title">Documentation</h2>
<p class="section-subtitle">Choose your reader level for tailored documentation</p>
<div class="docs-grid">
<div class="doc-card">
<div class="doc-icon">
<i class="fas fa-hammer"></i>
</div>
<h3>Miners</h3>
<p>Learn mining, staking, and earning rewards</p>
<a href="docs/docs-miners.html" class="doc-link">Miner Docs <i class="fas fa-arrow-right"></i></a>
</div>
<div class="doc-card">
<div class="doc-icon">
<i class="fas fa-users"></i>
</div>
<h3>Clients</h3>
<p>Use AITBC for AI/ML workloads</p>
<a href="docs/docs-clients.html" class="doc-link">Client Docs <i class="fas fa-arrow-right"></i></a>
</div>
<div class="doc-card">
<div class="doc-icon">
<i class="fas fa-code"></i>
</div>
<h3>Developers</h3>
<p>Build on AITBC and contribute</p>
<a href="docs/docs-developers.html" class="doc-link">Developer Docs <i class="fas fa-arrow-right"></i></a>
</div>
</div>
<div class="docs-cta">
<a href="docs/index.html" class="cta-button">View All Documentation</a>
</div>
</div>
</section>
<!-- Achievements Section -->
<section class="stats" id="achievements">
<div class="container">
<h2 class="section-title">Platform Achievements</h2>
<div class="stats-grid">
<div class="stat-item">
<h3>7</h3>
<p>Live Components</p>
</div>
<div class="stat-item">
<h3>30+</h3>
<p>GPU Services</p>
</div>
<div class="stat-item">
<h3>Stages 1-7</h3>
<p>Complete</p>
</div>
<div class="stat-item">
<h3>100%</h3>
<p>Open Source</p>
</div>
</div>
</div>
</section>
<!-- Roadmap Section -->
<section class="roadmap" id="roadmap">
<div class="container">
<h2 class="section-title">Development Roadmap</h2>
<div class="roadmap-timeline">
<div class="roadmap-item">
<div class="roadmap-marker"></div>
<div class="roadmap-content">
<h4>Stages 1-7 Complete</h4>
<p>Core infrastructure, marketplace, explorer, wallet, and 30+ GPU services deployed</p>
</div>
</div>
<div class="roadmap-item">
<div class="roadmap-marker">🔄</div>
<div class="roadmap-content">
<h4>Stage 8 - Current Focus</h4>
<p>Research consortium, sharding prototypes, ZK applications, and global expansion</p>
</div>
</div>
<div class="roadmap-item">
<div class="roadmap-marker">9</div>
<div class="roadmap-content">
<h4>Stage 9 - Moonshot Initiatives</h4>
<p>Decentralized infrastructure, AI automation, and global standards</p>
</div>
</div>
<div class="roadmap-item">
<div class="roadmap-marker">10</div>
<div class="roadmap-content">
<h4>Stage 10 - Stewardship</h4>
<p>Open governance, educational programs, and long-term preservation</p>
</div>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer>
<div class="container">
<div class="footer-links">
<a href="https://gitea.bubuit.net/oib/aitbc">GitHub</a>
<a href="docs/index.html">Documentation</a>
<a href="https://discord.gg/aitbc">Discord</a>
<a href="mailto:aitbc@bubuit.net">Contact</a>
</div>
<p>&copy; 2025 AITBC. All rights reserved.</p>
</div>
</footer>
<script>
// Smooth scrolling for navigation links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
document.querySelector(this.getAttribute('href')).scrollIntoView({
behavior: 'smooth'
});
});
});
// Add animation on scroll
const observerOptions = {
threshold: 0.1,
rootMargin: '0px 0px -50px 0px'
};
const observer = new IntersectionObserver(function(entries) {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.style.opacity = '1';
entry.target.style.transform = 'translateY(0)';
}
});
}, observerOptions);
// Observe all feature cards
document.querySelectorAll('.feature-card, .arch-component').forEach(el => {
el.style.opacity = '0';
el.style.transform = 'translateY(20px)';
el.style.transition = 'opacity 0.6s ease, transform 0.6s ease';
observer.observe(el);
});
</script>
</body>
</html>