simple-blockchain · 05

المحافظ والتخزين بـ ranidb

بعد البلوكات والتعدين، الجزء الممتع كان المعاملات. احتجت محفظة تطلع عنوان، وتوقّع المعاملة، وبعدها أحفظ السلسلة عشان ما تبدأ من الصفر كل مرة.

المحفظة والتوقيع

الفكرة أن المحفظة تملك مفتاح خاص ومفتاح عام. أوقّع المعاملة بالمفتاح الخاص، وأقدر أتحقق منها بالمفتاح العام. كذا يصير عندي معنى أبسط للملكية والثقة داخل المشروع.

const transaction = {
  sender: wallet.getAddress(),
  recipient: otherWallet.getAddress(),
  amount: 100,
  timestamp: Date.now()
};

const signature = wallet.sign(transaction);

وين يدخل ranidb؟

استخدمت ranidb كتخزين خفيف للسلسلة. بدل ما كل تشغيل يبدأ من genesis block فقط، أقدر أحفظ chain في ملف JSON وأرجع أكمل عليها. هذا الشيء بسيط، لكنه يقرّب المشروع من فكرة تطبيق فعلي.

وش ممكن أطور بعدين؟

هذه السلسلة بالنسبة لي توثيق للتعلم. المشروع بسيط، لكن كل جزء فيه يفتح باب: التشفير، التحقق، التخزين، والتصميم. وهذا بالضبط السبب اللي خلاني أبنيه.

السابق: Proof of Work الرجوع للمدونة