simple-blockchain · 02
وش داخل البلوك؟
البلوك هو القطعة الأساسية في المشروع. إذا فهمته، باقي السلسلة تصير أوضح. في مشروعي خليت البلوك يحمل رقم، بيانات، وقت، هاش البلوك السابق، nonce، والهاش الحالي.
المكونات المهمة
index: ترتيب البلوك داخل السلسلة.data: البيانات اللي أبغى أحفظها، مثل معاملات بسيطة.previousHash: الرابط بين هذا البلوك والبلوك اللي قبله.nonce: رقم يتغير أثناء التعدين عشان ألقى هاش مناسب.hash: بصمة البلوك الناتجة من محتواه.
function calculateHash(block) {
return sha256(
block.index +
block.previousHash +
block.timestamp +
JSON.stringify(block.data) +
block.nonce
);
}
ليه الهاش مهم؟
الهاش يخلي أي تعديل واضح. لو غيرت المبلغ داخل معاملة، أو غيرت الوقت، أو حتى غيرت ترتيب البيانات، الهاش يتغير. هذا هو السبب اللي يخلي السلسلة تقدر تكشف العبث.