You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

647 lines
22 KiB

// Enhanced website script for Solana PoWH3D
// Add this to the existing website to showcase Solana advantages
// Current network prices (update periodically)
const NETWORK_PRICES = {
ETH: 4553,
BNB: 1163,
SOL: 245
};
// Network comparison data
const NETWORKS = {
ethereum: {
name: "Ethereum",
symbol: "ETH",
price: NETWORK_PRICES.ETH,
deploymentCost: 350,
txCost: { min: 15, max: 50 },
speed: "15+ seconds",
tps: 15,
breakeven: 8080,
timeToProfit: "1-4 weeks",
minInvestment: 50,
color: "#627EEA"
},
bsc: {
name: "Binance Smart Chain",
symbol: "BNB",
price: NETWORK_PRICES.BNB,
deploymentCost: 35,
txCost: { min: 0.20, max: 1.00 },
speed: "3-5 seconds",
tps: 100,
breakeven: 1773,
timeToProfit: "1-7 days",
minInvestment: 10,
color: "#F3BA2F"
},
solana: {
name: "Solana",
symbol: "SOL",
price: NETWORK_PRICES.SOL,
deploymentCost: 5,
txCost: { min: 0.001, max: 0.002 },
speed: "400ms",
tps: 65000,
breakeven: 150,
timeToProfit: "1-3 hours",
minInvestment: 1,
color: "#9945FF"
}
};
// Add Solana section to existing calculator
function addSolanaSection() {
const existingCalculator = document.querySelector('.cost-calculator');
if (!existingCalculator) return;
// Create enhanced comparison section
const solanaSection = document.createElement('div');
solanaSection.className = 'solana-comparison';
solanaSection.innerHTML = `
<div class="network-hero">
<h2>🚀 Solana: The Superior Choice for PoWH3D</h2>
<div class="hero-stats">
<div class="stat-item">
<span class="stat-number">1000x</span>
<span class="stat-label">Cheaper Transactions</span>
</div>
<div class="stat-item">
<span class="stat-number">40x</span>
<span class="stat-label">Faster Confirmation</span>
</div>
<div class="stat-item">
<span class="stat-number">4333x</span>
<span class="stat-label">Higher Throughput</span>
</div>
<div class="stat-item">
<span class="stat-number">50x</span>
<span class="stat-label">Lower Minimum</span>
</div>
</div>
</div>
<div class="network-comparison-grid">
<div class="comparison-table">
<table>
<thead>
<tr>
<th>Feature</th>
<th class="ethereum-col">Ethereum</th>
<th class="bsc-col">BSC</th>
<th class="solana-col highlight">Solana</th>
</tr>
</thead>
<tbody>
<tr>
<td>Transaction Cost</td>
<td class="ethereum-col">$15-50</td>
<td class="bsc-col">$0.20-1.00</td>
<td class="solana-col highlight">$0.001</td>
</tr>
<tr>
<td>Confirmation Time</td>
<td class="ethereum-col">15+ seconds</td>
<td class="bsc-col">3-5 seconds</td>
<td class="solana-col highlight">400ms</td>
</tr>
<tr>
<td>Deployment Cost</td>
<td class="ethereum-col">$350-700</td>
<td class="bsc-col">$35-60</td>
<td class="solana-col highlight">$5-10</td>
</tr>
<tr>
<td>Break-even Volume</td>
<td class="ethereum-col">$8,080</td>
<td class="bsc-col">$1,773</td>
<td class="solana-col highlight">$150</td>
</tr>
<tr>
<td>Time to Profit</td>
<td class="ethereum-col">1-4 weeks</td>
<td class="bsc-col">1-7 days</td>
<td class="solana-col highlight">1-3 hours</td>
</tr>
<tr>
<td>Minimum Investment</td>
<td class="ethereum-col">$50+</td>
<td class="bsc-col">$10+</td>
<td class="solana-col highlight">$1+</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="roi-projections">
<h3>📈 Enhanced ROI Calculator - Solana Edition</h3>
<div class="calculator-inputs">
<div class="input-group">
<label>Network:</label>
<select id="networkSelect">
<option value="ethereum">Ethereum</option>
<option value="bsc">Binance Smart Chain</option>
<option value="solana" selected>Solana (Recommended)</option>
</select>
</div>
<div class="input-group">
<label>Initial Investment:</label>
<input type="number" id="investment" value="100" min="1" max="10000">
<span>USD</span>
</div>
<div class="input-group">
<label>Expected Users:</label>
<input type="number" id="expectedUsers" value="1000" min="10" max="100000">
<span>participants</span>
</div>
<div class="input-group">
<label>Timeframe:</label>
<select id="timeframe">
<option value="1">1 week</option>
<option value="4" selected>1 month</option>
<option value="12">3 months</option>
<option value="52">1 year</option>
</select>
</div>
</div>
<div class="calculator-results" id="calculatorResults">
<!-- Results will be populated by JavaScript -->
</div>
</div>
<div class="solana-advantages">
<h3>🎯 Why Choose Solana?</h3>
<div class="advantages-grid">
<div class="advantage-card">
<div class="advantage-icon">💸</div>
<h4>Micro-Transactions Enabled</h4>
<p>$1 investments are profitable vs $50+ minimum on Ethereum. True global accessibility.</p>
</div>
<div class="advantage-card">
<div class="advantage-icon">⚡</div>
<h4>Real-Time Activity</h4>
<p>Sub-second confirmations enable active trading and instant dividend distributions.</p>
</div>
<div class="advantage-card">
<div class="advantage-icon">🌍</div>
<h4>No Congestion</h4>
<p>65,000 TPS capacity means your transactions never get stuck in mempool hell.</p>
</div>
<div class="advantage-card">
<div class="advantage-icon">📱</div>
<h4>Mobile Optimized</h4>
<p>Perfect for mobile users with predictable, tiny fees and instant confirmations.</p>
</div>
</div>
</div>
`;
existingCalculator.after(solanaSection);
}
// Enhanced ROI calculation with network-specific factors
function calculateEnhancedROI(network, investment, users, timeframe) {
const net = NETWORKS[network];
// Transaction frequency based on network costs
const txFrequencyMultiplier = {
ethereum: 1, // Expensive, less frequent
bsc: 5, // Moderate, decent frequency
solana: 20 // Cheap, very frequent
};
const frequency = txFrequencyMultiplier[network];
const totalTxs = users * frequency * timeframe;
// Revenue calculation
const avgInvestment = investment;
const totalVolume = totalTxs * avgInvestment;
const feeRevenue = totalVolume * 0.035; // 3.5% total fees
// Cost calculation
const deploymentCost = net.deploymentCost;
const txCosts = totalTxs * net.txCost.max; // Use max for conservative estimate
const totalCosts = deploymentCost + txCosts;
// ROI calculation
const profit = feeRevenue - totalCosts;
const roi = (profit / investment) * 100;
return {
network: net.name,
investment,
users,
timeframe,
deploymentCost,
txCosts,
totalCosts,
totalVolume,
feeRevenue,
profit,
roi,
breakEvenTime: Math.ceil(net.breakeven / (feeRevenue / timeframe))
};
}
// Update calculator results
function updateCalculatorResults() {
const network = document.getElementById('networkSelect')?.value || 'solana';
const investment = parseFloat(document.getElementById('investment')?.value) || 100;
const users = parseInt(document.getElementById('expectedUsers')?.value) || 1000;
const timeframe = parseInt(document.getElementById('timeframe')?.value) || 4;
const results = calculateEnhancedROI(network, investment, users, timeframe);
const resultsContainer = document.getElementById('calculatorResults');
if (!resultsContainer) return;
const isPositive = results.profit > 0;
const profitClass = isPositive ? 'profit-positive' : 'profit-negative';
resultsContainer.innerHTML = `
<div class="results-grid">
<div class="result-card">
<h4>💰 Investment Analysis</h4>
<div class="result-line">
<span>Initial Investment:</span>
<span>$${investment.toLocaleString()}</span>
</div>
<div class="result-line">
<span>Deployment Cost:</span>
<span>$${results.deploymentCost.toLocaleString()}</span>
</div>
<div class="result-line">
<span>Transaction Costs:</span>
<span>$${results.txCosts.toLocaleString()}</span>
</div>
<div class="result-line total">
<span>Total Costs:</span>
<span>$${results.totalCosts.toLocaleString()}</span>
</div>
</div>
<div class="result-card">
<h4>📊 Revenue Projection</h4>
<div class="result-line">
<span>Expected Volume:</span>
<span>$${results.totalVolume.toLocaleString()}</span>
</div>
<div class="result-line">
<span>Fee Revenue (3.5%):</span>
<span>$${results.feeRevenue.toLocaleString()}</span>
</div>
<div class="result-line ${profitClass}">
<span>Net Profit:</span>
<span>$${results.profit.toLocaleString()}</span>
</div>
<div class="result-line total">
<span>ROI:</span>
<span class="${profitClass}">${results.roi.toFixed(1)}%</span>
</div>
</div>
<div class="result-card highlight-${network}">
<h4>⏱ Timeline</h4>
<div class="result-line">
<span>Network:</span>
<span>${results.network}</span>
</div>
<div class="result-line">
<span>Timeframe:</span>
<span>${timeframe} weeks</span>
</div>
<div class="result-line">
<span>Break-even:</span>
<span>${results.breakEvenTime} weeks</span>
</div>
<div class="result-line">
<span>Expected Users:</span>
<span>${users.toLocaleString()}</span>
</div>
</div>
</div>
${network === 'solana' ? `
<div class="solana-callout">
<h4>🚀 Solana Advantage</h4>
<p>With Solana's ultra-low fees, your break-even point is ${Math.round((results.breakEvenTime / 4) * 100)}% faster than Ethereum,
and ${Math.round((results.breakEvenTime / 2) * 100)}% faster than BSC.
Every $1 invested can generate meaningful returns!</p>
</div>
` : ''}
`;
}
// Add event listeners
function attachCalculatorEvents() {
const inputs = ['networkSelect', 'investment', 'expectedUsers', 'timeframe'];
inputs.forEach(id => {
const element = document.getElementById(id);
if (element) {
element.addEventListener('change', updateCalculatorResults);
element.addEventListener('input', updateCalculatorResults);
}
});
}
// Add live network stats
function addLiveNetworkStats() {
const statsContainer = document.createElement('div');
statsContainer.className = 'live-network-stats';
statsContainer.innerHTML = `
<div class="stats-header">
<h3>📡 Live Network Statistics</h3>
<button id="refreshStats">🔄 Refresh</button>
</div>
<div class="stats-grid">
<div class="stat-card ethereum">
<h4>Ethereum</h4>
<div class="stat-item">
<span class="stat-label">Price:</span>
<span class="stat-value">$${NETWORK_PRICES.ETH.toLocaleString()}</span>
</div>
<div class="stat-item">
<span class="stat-label">Gas Price:</span>
<span class="stat-value" id="ethGasPrice">Loading...</span>
</div>
<div class="stat-item">
<span class="stat-label">TPS:</span>
<span class="stat-value">~15</span>
</div>
</div>
<div class="stat-card bsc">
<h4>BSC</h4>
<div class="stat-item">
<span class="stat-label">Price:</span>
<span class="stat-value">$${NETWORK_PRICES.BNB.toLocaleString()}</span>
</div>
<div class="stat-item">
<span class="stat-label">Gas Price:</span>
<span class="stat-value">~5 gwei</span>
</div>
<div class="stat-item">
<span class="stat-label">TPS:</span>
<span class="stat-value">~100</span>
</div>
</div>
<div class="stat-card solana highlight">
<h4>Solana 🔥</h4>
<div class="stat-item">
<span class="stat-label">Price:</span>
<span class="stat-value">$${NETWORK_PRICES.SOL.toLocaleString()}</span>
</div>
<div class="stat-item">
<span class="stat-label">Fee:</span>
<span class="stat-value">0.000005 SOL</span>
</div>
<div class="stat-item">
<span class="stat-label">TPS:</span>
<span class="stat-value" id="solanaTPS">Loading...</span>
</div>
</div>
</div>
`;
document.body.appendChild(statsContainer);
}
// Mock function to simulate live data (replace with real API calls)
function updateLiveStats() {
// Simulate Solana TPS (normally would fetch from API)
const solanaTPS = Math.floor(Math.random() * 3000) + 2000;
const tpsElement = document.getElementById('solanaTPS');
if (tpsElement) {
tpsElement.textContent = `${solanaTPS.toLocaleString()}`;
}
// Simulate Ethereum gas price
const ethGas = Math.floor(Math.random() * 50) + 20;
const gasElement = document.getElementById('ethGasPrice');
if (gasElement) {
gasElement.textContent = `${ethGas} gwei`;
}
}
// Add CSS for new components
function addSolanaStyles() {
// Add Temple OS analytics if not already present
if (!document.querySelector('script[data-website-id="92b291cb-15b7-423b-863a-129d4688aaf3"]')) {
const analyticsScript = document.createElement('script');
analyticsScript.defer = true;
analyticsScript.src = 'https://analytics.temple-os.com/script.js';
analyticsScript.setAttribute('data-website-id', '92b291cb-15b7-423b-863a-129d4688aaf3');
document.head.appendChild(analyticsScript);
}
const styles = `
<style>
.solana-comparison {
margin: 2rem 0;
background: linear-gradient(135deg, #1a1a2e, #16213e);
border-radius: 12px;
padding: 2rem;
color: white;
}
.network-hero {
text-align: center;
margin-bottom: 3rem;
}
.hero-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1rem;
margin-top: 2rem;
}
.stat-item {
background: rgba(255,255,255,0.1);
padding: 1rem;
border-radius: 8px;
text-align: center;
}
.stat-number {
display: block;
font-size: 2rem;
font-weight: bold;
color: #9945FF;
}
.comparison-table table {
width: 100%;
border-collapse: collapse;
margin: 1rem 0;
}
.comparison-table th,
.comparison-table td {
padding: 0.8rem;
text-align: center;
border: 1px solid rgba(255,255,255,0.2);
}
.solana-col.highlight {
background: rgba(153, 69, 255, 0.2);
font-weight: bold;
}
.ethereum-col { color: #627EEA; }
.bsc-col { color: #F3BA2F; }
.solana-col { color: #9945FF; }
.advantages-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1rem;
margin-top: 1rem;
}
.advantage-card {
background: rgba(255,255,255,0.1);
padding: 1.5rem;
border-radius: 8px;
text-align: center;
}
.advantage-icon {
font-size: 2rem;
margin-bottom: 0.5rem;
}
.calculator-inputs {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1rem;
margin: 1rem 0;
}
.input-group {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.input-group input,
.input-group select {
padding: 0.5rem;
border-radius: 4px;
border: 1px solid #ddd;
}
.results-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1rem;
margin-top: 1rem;
}
.result-card {
background: rgba(255,255,255,0.1);
padding: 1rem;
border-radius: 8px;
}
.result-line {
display: flex;
justify-content: space-between;
padding: 0.3rem 0;
border-bottom: 1px solid rgba(255,255,255,0.1);
}
.result-line.total {
font-weight: bold;
font-size: 1.1rem;
}
.profit-positive {
color: #4CAF50;
}
.profit-negative {
color: #f44336;
}
.solana-callout {
background: rgba(153, 69, 255, 0.2);
padding: 1rem;
border-radius: 8px;
margin-top: 1rem;
border-left: 4px solid #9945FF;
}
.live-network-stats {
background: #f8f9fa;
padding: 2rem;
border-radius: 12px;
margin: 2rem 0;
}
.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1rem;
}
.stat-card {
background: white;
padding: 1rem;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.stat-card.highlight {
background: linear-gradient(135deg, #9945FF, #7B2CBF);
color: white;
}
@media (max-width: 768px) {
.hero-stats {
grid-template-columns: repeat(2, 1fr);
}
.comparison-table {
overflow-x: auto;
}
.advantages-grid {
grid-template-columns: 1fr;
}
}
</style>
`;
document.head.insertAdjacentHTML('beforeend', styles);
}
// Initialize everything when DOM is loaded
function initializeSolanaFeatures() {
addSolanaStyles();
addSolanaSection();
addLiveNetworkStats();
attachCalculatorEvents();
updateCalculatorResults();
updateLiveStats();
// Update live stats every 30 seconds
setInterval(updateLiveStats, 30000);
// Add refresh button functionality
document.getElementById('refreshStats')?.addEventListener('click', updateLiveStats);
}
// Auto-initialize if DOM is ready, otherwise wait for it
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initializeSolanaFeatures);
} else {
initializeSolanaFeatures();
}
// Export for manual initialization if needed
window.initializeSolanaFeatures = initializeSolanaFeatures;