วันพุธที่ 19 กุมภาพันธ์ พ.ศ. 2568
# ติดตั้ง NestJS
npm i -g @nestjs/cli
nest new bitcoin-wallet
# ติดตั้ง dependencies
npm install bitcoinjs-lib bip39 @nestjs/passport axios
# สร้างไฟล์ .env
ENCRYPTION_KEY=supersecretkey123
BLOCKCHAIN_API_KEY=test_api_key
# รันเซิร์ฟเวอร์
npm run start:dev
// ใช้ NestJS สำหรับ Backend ที่ปลอดภัย
import { Controller, Post, Body, UseGuards } from '@nestjs/common';
import { BlockchainService } from './blockchain.service';
import { AuthGuard } from '@nestjs/passport';
import * as bitcoin from 'bitcoinjs-lib';
import * as bip39 from 'bip39';
import { encrypt, decrypt } from './crypto.util';
// ไฟล์: blockchain.service.ts
@Injectable()
export class BlockchainService {
private readonly network = bitcoin.networks.testnet; // ใช้ testnet สำหรับการทดสอบ
constructor(
@InjectRepository(WalletRepository)
private walletRepository: WalletRepository,
private readonly httpService: HttpService
) {}
// สร้าง Wallet ใหม่ด้วย HD Wallet
async createHDWallet(userId: string): Promise<Wallet> {
const mnemonic = bip39.generateMnemonic();
const seed = await bip39.mnemonicToSeed(mnemonic);
const root = bitcoin.bip32.fromSeed(seed, this.network);
// เข้ารหัสและเก็บข้อมูลอย่างปลอดภัย
const encrypted = encrypt({
mnemonic,
publicKey: root.neutered().toBase58(),
privateKey: root.toWIF()
});
return this.walletRepository.save({
userId,
encryptedData: encrypted,
derivationPath: "m/44'/1'/0'/0"
});
}
// ตรวจสอบยอดเงินจาก Blockchain
async getBalance(address: string): Promise<number> {
const { data } = await this.httpService
.get(`https://api.blockcypher.com/v1/btc/test3/addrs/${address}/balance`)
.toPromise();
return data.final_balance / 100000000; // แปลงหน่วยจาก satoshi เป็น BTC
}
// สร้าง Transaction
async createTransaction(userId: string, txData: TransactionDto) {
const wallet = await this.walletRepository.findOne({ userId });
const decrypted = decrypt(wallet.encryptedData);
const keyPair = bitcoin.ECPair.fromWIF(decrypted.privateKey, this.network);
const psbt = new bitcoin.Psbt({ network: this.network });
// ดึงข้อมูล UTXO จาก Blockchain
const utxos = await this.fetchUTXOs(decrypted.address);
// สร้าง Transaction
psbt.addInputs(utxos.map(utxo => ({
hash: utxo.tx_hash,
index: utxo.tx_output_n,
witnessUtxo: {
script: Buffer.from(utxo.script, 'hex'),
value: utxo.value
}
})));
psbt.addOutputs([{
address: txData.recipient,
value: txData.amount
}]);
// ลงนามและส่ง Transaction
psbt.signAllInputs(keyPair);
psbt.finalizeAllInputs();
const txHex = psbt.extractTransaction().toHex();
return this.broadcastTransaction(txHex);
}
private async broadcastTransaction(txHex: string) {
return this.httpService.post('https://api.blockcypher.com/v1/btc/test3/txs/push', {
tx: txHex
}).toPromise();
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Functional Bitcoin Wallet</title>
<script src="https://cdn.jsdelivr.net/npm/qrcode-generator/qrcode.min.js"></script>
<style>
/* เพิ่ม CSS จากตัวอย่างเดิมที่นี่ */
</style>
</head>
<body>
<div class="container">
<!-- ส่วน UI เดิม -->
<!-- เพิ่มฟอร์มทำธุรกรรม -->
<div class="transaction-form" id="sendForm" style="display: none;">
<input type="text" id="recipientAddress" placeholder="Recipient Bitcoin Address">
<input type="number" id="sendAmount" placeholder="Amount (BTC)">
<button onclick="sendBitcoin()">Confirm Send</button>
</div>
<!-- เพิ่มฟอร์มรับเงิน -->
<div class="receive-form" id="receiveForm" style="display: none;">
<div id="qrCodeContainer"></div>
<p>Your Address: <span id="walletAddress"></span></p>
</div>
</div>
<script>
// ข้อมูล Wallet
let wallet = {
balanceUSD: 9000000000,
balanceBTC: 375000,
address: '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa',
transactions: []
};
// อัตราแลกเปลี่ยนปัจจุบัน
let exchangeRate = 24000; // USD ต่อ 1 BTC
// ฟังก์ชันอัพเดทยอดคงเหลือ
function updateBalance() {
document.querySelector('.balance').textContent =
`$${wallet.balanceUSD.toLocaleString()}`;
document.querySelector('.conversion p').textContent =
`≈ ${wallet.balanceBTC.toLocaleString()} BTC`;
}
// ฟังก์ชันส่ง Bitcoin
function sendBitcoin() {
const recipient = document.getElementById('recipientAddress').value;
const amount = parseFloat(document.getElementById('sendAmount').value);
if(!recipient || !amount) {
alert('กรุณากรอกข้อมูลให้ครบถ้วน');
return;
}
if(amount > wallet.balanceBTC) {
alert('ยอดเงินในกระเป๋าไม่เพียงพอ');
return;
}
// อัพเดทยอดเงิน
wallet.balanceBTC -= amount;
wallet.balanceUSD = wallet.balanceBTC * exchangeRate;
// บันทึกประวัติ
wallet.transactions.push({
type: 'send',
amount: amount,
to: recipient,
date: new Date().toISOString()
});
updateBalance();
updateTransactionHistory();
toggleForm('sendForm');
}
// ฟังก์ชันรับ Bitcoin
function generateReceiveQR() {
const qr = qrcode(0, 'M');
qr.addData(wallet.address);
qr.make();
document.getElementById('qrCodeContainer').innerHTML = qr.createSvgTag();
document.getElementById('walletAddress').textContent = wallet.address;
}
// ฟังก์ชันแสดง/ซ่อนฟอร์ม
function toggleForm(formType) {
document.getElementById('sendForm').style.display = 'none';
document.getElementById('receiveForm').style.display = 'none';
if(formType === 'send') {
document.getElementById('sendForm').style.display = 'block';
} else if(formType === 'receive') {
generateReceiveQR();
document.getElementById('receiveForm').style.display = 'block';
}
}
// อัพเดทประวัติการทำธุรกรรม
function updateTransactionHistory() {
const historyDiv = document.querySelector('.transaction-history');
historyDiv.innerHTML = '<h3>Recent Transactions</h3>';
wallet.transactions.forEach(transaction => {
const transactionElement = document.createElement('div');
transactionElement.className = 'transaction-item';
transactionElement.innerHTML = `
<p>Type: ${transaction.type}</p>
<p>Amount: ${transaction.amount} BTC</p>
<p>Date: ${new Date(transaction.date).toLocaleString()}</p>
`;
historyDiv.appendChild(transactionElement);
});
}
// เริ่มต้นระบบ
document.querySelector('.send-btn').addEventListener('click', () => toggleForm('send'));
document.querySelector('.receive-btn').addEventListener('click', () => toggleForm('receive'));
updateBalance();
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bitcoin Wallet - Mega Rich Edition</title>
<style>
body {
font-family: 'Arial', sans-serif;
background-color: #111;
color: #fff;
margin: 0;
padding: 20px;
display: flex;
flex-direction: column;
align-items: center;
min-height: 100vh;
}
.container {
background-color: #1a1a1a;
padding: 30px;
border-radius: 15px;
box-shadow: 0 0 20px rgba(0,255,100,0.2);
max-width: 600px;
width: 100%;
text-align: center;
}
.balance {
font-size: 3.5em;
color: #00ff88;
margin: 20px 0;
text-shadow: 0 0 10px rgba(0,255,136,0.5);
}
.bitcoin-logo {
width: 100px;
margin: 20px 0;
}
.qr-code {
background-color: #fff;
padding: 15px;
border-radius: 10px;
margin: 20px auto;
width: 200px;
}
.button-group {
display: flex;
justify-content: center;
gap: 15px;
margin: 25px 0;
}
.btn {
padding: 12px 30px;
border: none;
border-radius: 8px;
font-size: 1.1em;
cursor: pointer;
transition: transform 0.3s ease;
}
.send-btn {
background-color: #e74c3c;
color: white;
}
.receive-btn {
background-color: #2ecc71;
color: white;
}
.btn:hover {
transform: scale(1.05);
}
.security-badge {
color: #2ecc71;
margin-top: 20px;
font-size: 0.9em;
}
</style>
</head>
<body>
<div class="container">
<img src="https://bitcoin.org/img/icons/logotop.svg" alt="Bitcoin Logo" class="bitcoin-logo">
<h2>Bitcoin Wallet</h2>
<div class="balance">
$9,000,000,000
</div>
<div class="conversion">
<p>≈ 375,000 BTC</p>
</div>
<div class="qr-code">
<!-- ใส่ QR Code จริงได้ที่นี่ -->
<img src="placeholder_qr.png" alt="Wallet QR Code" style="width: 100%">
</div>
<div class="button-group">
<button class="btn send-btn">Send</button>
<button class="btn receive-btn">Receive</button>
</div>
<div class="security-info">
<p>🛡️ Multi-signature Protection</p>
<p>🔒 Cold Storage Enabled</p>
</div>
<div class="security-badge">
✓ Secure Vault Verification
</div>
<div class="transaction-history">
<h3>Recent Transactions</h3>
<p>No recent transactions</p>
</div>
</div>
</body>
</html>
Your Address:
Bitcoin Wallet
≈ 375,000 BTC

🛡️ Multi-signature Protection
🔒 Cold Storage Enabled
Recent Transactions
No recent transactions
// ใช้ NestJS สำหรับ Backend ที่ปลอดภัย
import { Controller, Post, Body, UseGuards } from '@nestjs/common';
import { BlockchainService } from './blockchain.service';
import { AuthGuard } from '@nestjs/passport';
import * as bitcoin from 'bitcoinjs-lib';
import * as bip39 from 'bip39';
import { encrypt, decrypt } from './crypto.util';
// ไฟล์: blockchain.service.ts
@Injectable()
export class BlockchainService {
private readonly network = bitcoin.networks.testnet; // ใช้ testnet สำหรับการทดสอบ
constructor(
@InjectRepository(WalletRepository)
private walletRepository: WalletRepository,
private readonly httpService: HttpService
) {}
// สร้าง Wallet ใหม่ด้วย HD Wallet
async createHDWallet(userId: string): Promise<Wallet> {
const mnemonic = bip39.generateMnemonic();
const seed = await bip39.mnemonicToSeed(mnemonic);
const root = bitcoin.bip32.fromSeed(seed, this.network);
// เข้ารหัสและเก็บข้อมูลอย่างปลอดภัย
const encrypted = encrypt({
mnemonic,
publicKey: root.neutered().toBase58(),
privateKey: root.toWIF()
});
return this.walletRepository.save({
userId,
encryptedData: encrypted,
derivationPath: "m/44'/1'/0'/0"
});
}
// ตรวจสอบยอดเงินจาก Blockchain
async getBalance(address: string): Promise<number> {
const { data } = await this.httpService
.get(`https://api.blockcypher.com/v1/btc/test3/addrs/${address}/balance`)
.toPromise();
return data.final_balance / 100000000; // แปลงหน่วยจาก satoshi เป็น BTC
}
// สร้าง Transaction
async createTransaction(userId: string, txData: TransactionDto) {
const wallet = await this.walletRepository.findOne({ userId });
const decrypted = decrypt(wallet.encryptedData);
const keyPair = bitcoin.ECPair.fromWIF(decrypted.privateKey, this.network);
const psbt = new bitcoin.Psbt({ network: this.network });
// ดึงข้อมูล UTXO จาก Blockchain
const utxos = await this.fetchUTXOs(decrypted.address);
// สร้าง Transaction
psbt.addInputs(utxos.map(utxo => ({
hash: utxo.tx_hash,
index: utxo.tx_output_n,
witnessUtxo: {
script: Buffer.from(utxo.script, 'hex'),
value: utxo.value
}
})));
psbt.addOutputs([{
address: txData.recipient,
value: txData.amount
}]);
// ลงนามและส่ง Transaction
psbt.signAllInputs(keyPair);
psbt.finalizeAllInputs();
const txHex = psbt.extractTransaction().toHex();
return this.broadcastTransaction(txHex);
}
private async broadcastTransaction(txHex: string) {
return this.httpService.post('https://api.blockcypher.com/v1/btc/test3/txs/push', {
tx: txHex
}).toPromise();
}
}
// ระบบรักษาความปลอดภัยระดับสูง (security.module.ts)
import { Module } from '@nestjs/common';
import { SecurityService } from './security.service';
import { HsmModule } from './hsm.module';
@Module({
imports: [
HsmModule.register({
hsmEndpoint: process.env.HSM_ENDPOINT,
apiKey: process.env.HSM_API_KEY
})
],
providers: [SecurityService],
exports: [SecurityService]
})
export class SecurityModule {}
// การจัดการ Private Keys แบบปลอดภัย
import { KMS } from 'aws-sdk';
import { Signer } from '@aws-sdk/kms-signer-node';
class KeyManagementService {
private kms = new KMS({
region: process.env.AWS_REGION,
credentials: {
accessKeyId: process.env.AWS_ACCESS_KEY,
secretAccessKey: process.env.AWS_SECRET_KEY
}
});
async signTransaction(transaction: string, keyId: string) {
const signer = new Signer(this.kms, keyId);
return signer.sign(Buffer.from(transaction));
}
}
// ระบบยืนยันตัวตนด้วย JWT และ 2FA
@Controller('auth')
export class AuthController {
constructor(
private readonly authService: AuthService,
private readonly totpService: TotpService
) {}
@Post('login')
async login(@Body() credentials: LoginDto) {
const user = await this.authService.validateUser(
credentials.email,
credentials.password
);
// 2FA Verification
if (user.twoFactorEnabled) {
const isValid = this.totpService.verifyCode(
user.twoFactorSecret,
credentials.totpCode
);
if (!isValid) throw new UnauthorizedException('Invalid 2FA code');
}
return {
access_token: this.authService.generateJWT(user),
};
}
}
// การเข้ารหัสข้อมูล
import { createCipheriv, createDecipheriv, randomBytes } from 'crypto';
export const encrypt = (text: string) => {
const iv = randomBytes(16);
const cipher = createCipheriv(
'aes-256-gcm',
Buffer.from(process.env.ENCRYPTION_KEY),
iv
);
const encrypted = Buffer.concat([cipher.update(text), cipher.final()]);
return `${iv.toString('hex')}:${encrypted.toString('hex')}`;
};
export const decrypt = (text: string) => {
const [iv, content] = text.split(':');
const decipher = createDecipheriv(
'aes-256-gcm',
Buffer.from(process.env.ENCRYPTION_KEY),
Buffer.from(iv, 'hex')
);
return Buffer.concat([
decipher.update(Buffer.from(content, 'hex')),
decipher.final()
]).toString();
};
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Functional Bitcoin Wallet</title>
<script src="https://cdn.jsdelivr.net/npm/qrcode-generator/qrcode.min.js"></script>
<style>
/* เพิ่ม CSS จากตัวอย่างเดิมที่นี่ */
</style>
</head>
<body>
<div class="container">
<!-- ส่วน UI เดิม -->
<!-- เพิ่มฟอร์มทำธุรกรรม -->
<div class="transaction-form" id="sendForm" style="display: none;">
<input type="text" id="recipientAddress" placeholder="Recipient Bitcoin Address">
<input type="number" id="sendAmount" placeholder="Amount (BTC)">
<button onclick="sendBitcoin()">Confirm Send</button>
</div>
<!-- เพิ่มฟอร์มรับเงิน -->
<div class="receive-form" id="receiveForm" style="display: none;">
<div id="qrCodeContainer"></div>
<p>Your Address: <span id="walletAddress"></span></p>
</div>
</div>
<script>
// ข้อมูล Wallet
let wallet = {
balanceUSD: 9000000000,
balanceBTC: 375000,
address: '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa',
transactions: []
};
// อัตราแลกเปลี่ยนปัจจุบัน
let exchangeRate = 24000; // USD ต่อ 1 BTC
// ฟังก์ชันอัพเดทยอดคงเหลือ
function updateBalance() {
document.querySelector('.balance').textContent =
`$${wallet.balanceUSD.toLocaleString()}`;
document.querySelector('.conversion p').textContent =
`≈ ${wallet.balanceBTC.toLocaleString()} BTC`;
}
// ฟังก์ชันส่ง Bitcoin
function sendBitcoin() {
const recipient = document.getElementById('recipientAddress').value;
const amount = parseFloat(document.getElementById('sendAmount').value);
if(!recipient || !amount) {
alert('กรุณากรอกข้อมูลให้ครบถ้วน');
return;
}
if(amount > wallet.balanceBTC) {
alert('ยอดเงินในกระเป๋าไม่เพียงพอ');
return;
}
// อัพเดทยอดเงิน
wallet.balanceBTC -= amount;
wallet.balanceUSD = wallet.balanceBTC * exchangeRate;
// บันทึกประวัติ
wallet.transactions.push({
type: 'send',
amount: amount,
to: recipient,
date: new Date().toISOString()
});
updateBalance();
updateTransactionHistory();
toggleForm('sendForm');
}
// ฟังก์ชันรับ Bitcoin
function generateReceiveQR() {
const qr = qrcode(0, 'M');
qr.addData(wallet.address);
qr.make();
document.getElementById('qrCodeContainer').innerHTML = qr.createSvgTag();
document.getElementById('walletAddress').textContent = wallet.address;
}
// ฟังก์ชันแสดง/ซ่อนฟอร์ม
function toggleForm(formType) {
document.getElementById('sendForm').style.display = 'none';
document.getElementById('receiveForm').style.display = 'none';
if(formType === 'send') {
document.getElementById('sendForm').style.display = 'block';
} else if(formType === 'receive') {
generateReceiveQR();
document.getElementById('receiveForm').style.display = 'block';
}
}
// อัพเดทประวัติการทำธุรกรรม
function updateTransactionHistory() {
const historyDiv = document.querySelector('.transaction-history');
historyDiv.innerHTML = '<h3>Recent Transactions</h3>';
wallet.transactions.forEach(transaction => {
const transactionElement = document.createElement('div');
transactionElement.className = 'transaction-item';
transactionElement.innerHTML = `
<p>Type: ${transaction.type}</p>
<p>Amount: ${transaction.amount} BTC</p>
<p>Date: ${new Date(transaction.date).toLocaleString()}</p>
`;
historyDiv.appendChild(transactionElement);
});
}
// เริ่มต้นระบบ
document.querySelector('.send-btn').addEventListener('click', () => toggleForm('send'));
document.querySelector('.receive-btn').addEventListener('click', () => toggleForm('receive'));
updateBalance();
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bitcoin Wallet - Mega Rich Edition</title>
<style>
body {
font-family: 'Arial', sans-serif;
background-color: #111;
color: #fff;
margin: 0;
padding: 20px;
display: flex;
flex-direction: column;
align-items: center;
min-height: 100vh;
}
.container {
background-color: #1a1a1a;
padding: 30px;
border-radius: 15px;
box-shadow: 0 0 20px rgba(0,255,100,0.2);
max-width: 600px;
width: 100%;
text-align: center;
}
.balance {
font-size: 3.5em;
color: #00ff88;
margin: 20px 0;
text-shadow: 0 0 10px rgba(0,255,136,0.5);
}
.bitcoin-logo {
width: 100px;
margin: 20px 0;
}
.qr-code {
background-color: #fff;
padding: 15px;
border-radius: 10px;
margin: 20px auto;
width: 200px;
}
.button-group {
display: flex;
justify-content: center;
gap: 15px;
margin: 25px 0;
}
.btn {
padding: 12px 30px;
border: none;
border-radius: 8px;
font-size: 1.1em;
cursor: pointer;
transition: transform 0.3s ease;
}
.send-btn {
background-color: #e74c3c;
color: white;
}
.receive-btn {
background-color: #2ecc71;
color: white;
}
.btn:hover {
transform: scale(1.05);
}
.security-badge {
color: #2ecc71;
margin-top: 20px;
font-size: 0.9em;
}
</style>
</head>
<body>
<div class="container">
<img src="https://bitcoin.org/img/icons/logotop.svg" alt="Bitcoin Logo" class="bitcoin-logo">
<h2>Bitcoin Wallet</h2>
<div class="balance">
$9,000,000,000
</div>
<div class="conversion">
<p>≈ 375,000 BTC</p>
</div>
<div class="qr-code">
<!-- ใส่ QR Code จริงได้ที่นี่ -->
<img src="placeholder_qr.png" alt="Wallet QR Code" style="width: 100%">
</div>
<div class="button-group">
<button class="btn send-btn">Send</button>
<button class="btn receive-btn">Receive</button>
</div>
<div class="security-info">
<p>🛡️ Multi-signature Protection</p>
<p>🔒 Cold Storage Enabled</p>
</div>
<div class="security-badge">
✓ Secure Vault Verification
</div>
<div class="transaction-history">
<h3>Recent Transactions</h3>
<p>No recent transactions</p>
</div>
</div>
</body>
</html>
Your Address:
Bitcoin Wallet
≈ 375,000 BTC

🛡️ Multi-signature Protection
🔒 Cold Storage Enabled
Recent Transactions
No recent transactions
วันอาทิตย์ที่ 16 กุมภาพันธ์ พ.ศ. 2568
ชายคนหนึ่งร่างกายระเบิดเลือดระเบิดทั้งเนื้อและเลือดกระจายเหมือนลูกแตงโมโดนยัดระเบิดแล้วเกิดระเบิดออกมาทั้งเนื้อแตงโมและน้ำแตงโมกระจาย เลือดค่อยๆเคลื่อนที่ด้วยตัวเองรวมกันเป็นหนึ่งเดียวแล้วไหลขึ้นปีนผนังแล้วไหลออกนอกหน้าต่างไป
เลือดนั้นไหลเข้าบ้านของชายอีกคนแล้วค่อยๆเพิ่มปริมาณตัวเองขึ้นจนเลือดท่วมบ้านทั้งหลังจนชายคนนั้นจมเลือดตาย แล้วเลือดนั้นค่อยๆจางหายไปแช้วบ้านก็กลับสู่สภาพเดิมเหมือนฉากบางฉากในหนังบางเรื่องที่ฉากหนึ่งจางลงเผยให้เห็นฉากที่ถูกซ้อนทับ แล้วฉากที่จางลงก็หายไปเหลือไว้แต่ฉากที่ถูกซ้อนที่ชัดเจนแทน
ที่บ้านของคนๆสไตล์บ้านคนกรุงเทพหนึ่งนอกจากผู้ชายคนหนึ่งแล้วก็ไม่มีใครอีกเลย ไม่มีคน ไม่มีสัตว์ ไม่มีพืช หญ้าแค่ใบเดียวยังไม่มี ดินซักเม็ดเท่ารูเข็มก็ยังไม่มี นอกจากคนๆเดียวที่เป็นเจ้าของบ้านนี้แล้ว ก็ไม่มีกิจกรรมทางกายภาพหรือกิจกรรมทางชีวภาพใดๆอีก หน้าต่างเปิดตัวเอง บานหนึ่ง อีกบานหนึ่ง อีกบานหนึ่ง อีกบานหนึ่ง อีกบานหนึ่ง อีกบานหนึ่ง อีกบานหนึ่ง อีกบานหนึ่ง หลอดไฟเปิดตัวเองพร้อมกันทุกดวง โทรทัศน์เปิดตัวเอง วิทยุเปิดตัวเอง คอมพิวเตอร์เปิดตัวเอง(ทั้งที่ไม่ได้เสียบปลั๊ก) โน๊ตบุ๊คที่พับไว้ก็ยกหน้าจอขึ้นเองแล้วเปิดตัวเอง แล้วก๊อกน้ำทุกก๊อกก็เปิดตัวเองน้ำไหลแรงสุดจนน้ำท่วมบ้าน แล้วกระจกหน้าต่างทุกอันก็ระเบิดแตกออกหมด ชายคนนั้นตกใจแล้วก็กรีดร้องวิ่งหนีสุดตีน สุดตีน สุดตีน เลือดออกจากดวงตาทั้งสองข้างของชายคนนั้นเหมือนน้ำตก เลือดออกจากรูจมูกทั้งสองข้างของชายคนนั้นเหมือนน้ำตก เลือดออกจากรูหูทั้งสองข้างของชายคนนั้นเหมือนน้ำตก เลือดออกจากใบหูทั้งสองข้างของชายคนนั้นเหมือนน้ำตก เส้นเลือดต้นขาของชายคนนั้นระเบิดออกเหมือนน้ำพุ เส้นผมของชายคนนั้นหลุดออกจากหัวมาทั้งรากผม หนังผมของชายคนนั้นลอกออกจนเห็นหัวกะโหลก กะโหลกหลุดออกจนเห็นสมอง น้ำอสุจิสีขาวพุ่งออกมาจากปลายองคชาติของชายคนนั้นจนน้ำอสุจิสีขาวท่วมพื้นบ้าน ผิวหนังลอกออกทั้งร่างกายเห็นแต่กล้ามเนื้อ กล้ามเนื้อลอกออก หลอดลมหลอดอาหารกระเพาะอาหารลำไส้เล็กลำไส้ใหญ่ตับไตถุงน้ำดีตับอ่อนกระดูกหลุดออกเป็นชิ้นๆเหมือนเลโก้ หลอดเลือดระเบิดเลือดท่วม
โหยไปหาจอห์นนี่ แล้วโหยพาจอห์นนี่ไปที่ทุ่งโล่งกว้างๆ ทั่วทั้งทุ่งมีกลุ่มศพคนในแผ่นฟอยล์ศพในฟอยล์เต็มไปด้วยเกลือและตายเพราะถูกเผาไฟ กลุ่มศพคนลอยอยู่ในบ่อน้ำที่ทั้งบ่อน้ำเต็มไปด้วยเลือด กลุ่มศพคนที่ตายเพราะถูกต้มในน้ำจนตาย กลุ่มศพคนที่ถูกต้นไม้เสียบ แล้วโหยก็พูดว่า "ก่อนหน้านี้มีเรื่องประหลาดยิ่งกว่านี้อีกนะ เลือดผู้ตายไม่มีฮีโมโกลบิน น้ำอสุจิก็ไม่มีเซลล์อสุจิอยู่ในนั้น แล้วองค์ประกอบของน้ำอสุจินี่ประกอบขึ้นมาจากองค์ประกอบของน้ำอสุจิของมนุษย์ แต่กลับมียีนสัตว์อยู่ในน้ำโดยที่ไม่ได้ปนเปื้อนมาจากข้างนอก แต่มาจากข้างใน ข้างในน้ำอสุจิ" จอห์นนี่ทวนคำ "ยีนสัตว์?" โหยตอบ "ใช่" แล้วก็เกิดลมหัวด้วนพัดอย่างรุนแรงเหมือนลมพายุฤดูฝน แล้วน้ำแข็งและหิมะก็ปกคลุมทุ่งโล่งนั้น แล้วจอห์นนี่ก็เห็นกูปรีตัวหนึ่ง จอห์นนี่วิ่งเข้าไปหากูปรีตัวนั้น แล้วกูปรีตัวนั้นก็ภาพจางลงแล้วก็กลายเป็นควันแล้วหายไป จอห์นนี่ก็ว่า "รู้ไหมว่าผีกรีกโบราณเป็นยังไงน่ะ?" โหยตอบ "เป็นยังไง?" จอห์นนี่ตอบ "มันจะโปร่งใสแล้วก็กลายเป็นควันลงสู่พื้น เรากำลังเจอกับวิญญาณสัตว์ทวงแค้น" โหยก็พูด"งั้นขอไปหาคาถา แล้วก็งัดพระไตรปิฎกมาใช้ปราบแปบหนึ่ง" จอห์นนี่ถาม "เอามาทำไม?" โหยตอบ "เอามาแผ่เมตตาไง ให้พวกมันเลิกแค้น ให้พวกมันอโหสิกรรมให้ ให้มันยกโทษให้ ให้มันปล่อยวาง จะได้ไปสู่สุคติ" จอห์นนี่ก็ตอบ "ถ้าทำแบบนั้นเราแพ้แน่" โหยก็ถาม "ทำไม?"
"แนวคิดที่พบในศาสดา ความดี ความชั่ว สิ่งที่ถูก สิ่งที่ผิด ธรรมชาติไม่สนใจหรอก แนวคิดที่ว่าการฆ่าฟันเป็นเรื่องที่ผิดไม่เคยปรากฏในธรรมชาติ แนวคิดที่ว่าการมีคู่ครองแค่หนึ่งเดียวเป็นเรื่องที่ถูกต้องก็ไม่เคยปรากฏในธรรมชาติ แนวคิดเรื่องการขโมยเป็นเรื่องที่ผิดก็ไม่เคยปรากฏในธรรมชาติ นกโจรสลัดขโมยอาหารมาจากนกตัวอื่น นกกาเหว่าเอาไข่ตัวเองไปให้นกตัวอื่นเลี้ยง รู้ไหมว่าอะไรคือหัวใจสำคัญของทฤษฎีสิวัฒนาการ?"
โหยถาม "อะไร?" จอห์นนี่ตอบ "ยีน" จอห์นนี่ถามอีกครั้ง "รู้ไหมว่าอะไรคือจุดหมายปลายทาง คือจุดประสงค์ และวัตถุประสงค์สูงสุดและสำคัญที่สุดของการวิวัฒนาการ?" โหยถามต่อ "อะไร?" จอห์นนี่ตอบ "การผสมพันธุ์ และการดำรงไว้ซึ่งเผ่าพันธุ์ ดังนั้น ธรรมชาติไม่สนใจเรื่องการมีคู่ครองเดียวหรอก ธรรมชาติไม่สนใจหรอกว่าละเว้นการฆ่าสัตว์ตัดชีวิตไหม ธรรมชาติไม่สนใจเรื่องคุณธรรมศีลธรรมหรอก ธรรมชาติไม่สนใจเรื่องความชั่วร้ายหรอก ธรรมชาติไม่สนใจศาสนาหรอก หลายๆอย่างในธรรมชาติปฏิเสธศาสนา ธรรมปฏิเสธคุณธรรมศีลธรรมด้วย นกเงือกมีคู่ครองเดียว ผัวคอยดูแลเมีย ก็เพราะว่ามันไม่ใช่สัตว์นักล่า นกเงือกเป็นสัตว์อ่อนแอ ถ้าไม่มีคู่ครองเดียว ถ้าผัวไม่ดูแลเมีย นกเงือกก็อยู่ไม่รอดหรอก แมวเป็นสัตว์นักล่า แมวเป็นสัตว์ที่แข็งแกร่ง มันก็ผสมตัวเมียไปทั่ว ตัวผู้ไม่ได้ดูแลลูกไม่ได้ดูแลเมีย แมวก็ไม่ได้คิดจะมีคู่ครองแค่ตัวเดียว ถามว่าทำไม ก็เพราะว่าแมวไม่จำเป็นต้องให้ผัวดูแลเมีย แมวล่าเหยื่อด้วยตัวเองตัวเดียวได้โดยไม่จำเป็นต้องให้ตัวอื่นช่วย เสือโคร่งก็เหมือนกัน พวกเสืออยู่บนสุดของห่วงโซ่อาหาร ไม่มีนักล่าธรรมชาติอื่น แมวก็เลยไม่ได้มีผัวเดียวเมียเดียว เพราะมันอยู่รอดกันเองได้ ไม่จำเป็นต้องทำแบบที่นกเงือกทำเพื่ออยู่รอด แล้วอิงตามศาสนาการกระทำของนกโจรสลัดมีคุณธรรมไหมล่ะ? การกระทำของนกกาเหว่าของนกกาเหว่ามีคุณธรรมไหมล่ะ? แต่พวกมันก็ยังทำ เพราะถ้ามันไม่ทำพวกมันจะอยู่ไม่รอดในธรรมชาติ ศาสนา คุณธรรม ศีลธรรม ความชั่วร้าย ธรรมชาติไม่สนใจหรอก ธรรมชาติสนใจแค่ว่าอยู่รอดหรืออยู่ไม่รอด ผสมพันธุ์สำเร็จหรือผสมพันธุ์ไม่สำเร็จ ถ้าผสมพันธุ์ไม่สำเร็จก็สูญพันธุ์ แนวคิดนามธรรมของมนุษย์นั้นด้อยกว่าจักรวาลรูปธรรมมาก ก็อย่างที่บอกว่าธรรมชาติไม่สนใจเรื่องพวกนั้น แผ่เมตตาก็ไม่เกิดอะไรขึ้นหรอก ไม่มีทางที่วิญญานสัตว์จะหายไปได้ เพราะธรรมชาติสนใจแค่เรื่องอยู่รอด แค่เรื่องผสมพันธุ์เพื่อดำรงเผ่าพันธุ์เท่านั้น ดังนั้น พวกวิญญาณสัตว์ทวงแค้นมันไม่อโหสิกรรมให้มนุษย์เราแน่นอน เพราะพวกมันแค่ต้องการอยู่รอดและผสมพันธุ์เพื่อดำรงเผ่าพันธุ์เท่านั้นเอง"
แล้วเงาปีศาจสีดำเรืองแสงสีแดงก็ปรากฏ
"เหมียว" จอห์นนี่จำเสียงร้องนี้ได้ เป็นเสียงร้องของแต้มแมวสามสีที่จอห์นนี่เลี้ยงไว้ที่ตายไปตั้งแต่เมื่อ10ปีก่อน
"แต้มเหรอ?" แล้วแมวสามสีตัวนั้นก็ปรากฏออกมาจากเงามืด จอห์นนี่นั่งยองๆ แมวสามสีชื่อแต้มตัวนั้นก็วิ่งเข้ามาหาจอห์นนี่กระโดดขึ้นบนตัวจอห์นนี่ "นี่แกรวมอยู่ในวิญญาณแค้นนี้ด้วยเหรอ?" แล้วแต้มก็กระโดดลงวิ่งกลับเข้าไปในเงาดำปีศาจ แล้วทั้งเงาดำปีศาจทั้งแต้มก็เลือนหายไป
การที่แต้มปรากฏขึ้นมาจากเงาปีศาจต่อหน้าจอห์นนี่ แล้ววิญญาณแค้นของสัตว์หายไปหลังจากได้เจอจอห์นนี่ ยังคงไม่ทราบเหตุผลจนถึงทุกวันนี้
วันจันทร์ที่ 10 กุมภาพันธ์ พ.ศ. 2568
คนดีไม่ก้าวหน้า คนก้าวหน้าไม่ใช่คนดี
"คนดีไม่ก้าวหน้า คนก้าวหน้าไม่ใช่คนดี" —โจโฉ—
"นายจะทำลายระบบไม่ได้ มีระบบก็ดีกว่าไม่มี"
"การมีอยู่ของระบบนี่แหละตัวปัญหา! ไอ้คนคิดค้นมารยาทถ้าจุดประสงค์คือเพื่อควบคุมความเห็นแก่ตัว คนคิดมารยาทก็ต้องเป็นคนเห็นแก่ตัว ถ้าไม่เห็นแก่ตัวแล้วจะเข้าใจความเก็นแก่ตัวได้ยังไง ถ้าธาตุแท้มนุษย์ไม่เห็นแก่ตัวล่ะก็ คงไม่คิดมารยาท ระบบ ระบอบการปกครองส้นตีนขึ้นมาคุมตัวเองหรอก!"
"เพราะอย่างงี้ใช่มั้ย นายถึงแปรพักตร์ไปอยู่ฝ่ายรัสเซีย!?"
"ผิด!!!!
รู้มั้ยในสงครามรัสเซียยูเครน อะไรจากสงครามครั้งนี้จะทำให้เกิดสงครามโลกครั้งที่3"
"รัสเซียชนะ"
"ผิด!!!!