Programming Bitcoin كتاب تقني لـ Jimmy Song صدر عام 2019. يشرح Bitcoin من خلال مكتبة بلغة Python، أي أجزاء برمجية قابلة لإعادة الاستخدام يبنيها القارئ تدريجيًا. إنه كتاب تعليمي لمن يعرف أساسيات البرمجة، وليس محفظة جاهزة.
استخدام تطبيق وفهم آلية عمله مهارتان مختلفتان. يريد Song الانتقال بالقارئ من الأولى إلى الثانية: بدلًا من الاكتفاء بوصف Bitcoin، يدعوه إلى كتابة مكوّناته وتجربتها. الهدف فهم كيفية الحصول على البيانات اللازمة وإنشاء معاملة وتسليمها إلى الشبكة. أما المسائل النقدية والاجتماعية فليست ضمن نطاق الكتاب. [3]
يتكون الكتاب من 14 فصلًا يبني بعضها على بعض. يبدأ بالرياضيات اللازمة للمفاتيح والتوقيعات، ثم ينتقل إلى تسلسل البيانات، أي تحويل البيانات إلى صيغة دقيقة للتخزين والنقل، وبعدها إلى المعاملات والكتل والاتصال بالشبكة. للترتيب معنى: المهام الأصعب تستخدم المكوّنات التي سبق للقارئ بناؤها. [3]
تضم الفصول 1–12 تمارين. يعدّل القارئ ملفات Python ويستخدم اختبارات جاهزة ليرى هل يطابق حله المطلوب. ودفتر Jupyter هنا ليس حاسوبًا محمولًا، بل وثيقة عمل يمكن تشغيل الكود فيها ورؤية النتيجة مباشرة. توجد الحلول في الملحق والمستودع؛ المهم فهم الخطأ، لا مجرد نسخ الإجابة الصحيحة. [3]
يجمع التمرين البرمجي الأخير ما سبق: الاتصال بعقدة أخرى، وتحديد الأموال المتاحة، وإنشاء معاملة وتوقيعها، ثم بثها. يحدث ذلك على testnet، وهي شبكة منفصلة للتجارب. عرض خطة المؤلف التعليمية لا يعني أننا نفذنا التمرين بأنفسنا أو تحققنا من عمله في بيئة اليوم. [3]
تستخدم المكتبة Python 3. يوصي Song بمستوى متوسط في اللغة، لكنه يرى أن المبرمج المبتدئ يستطيع فهم كثير من المفاهيم أيضًا. يُفترض أن تكفي أساسيات الجبر للرياضيات، وتُقدّم الأدوات الجديدة تدريجيًا. إن لم تبرمج من قبل، فتعلم أساسيات Python أولًا أسهل من تعلم اللغة وبروتوكول Bitcoin معًا. [3]
يشدد Song في الفصل الأخير على صعوبة حماية المفاتيح الخاصة. تحتاج المحفظة أيضًا إلى واجهة مفهومة ونسخ احتياطية وسجل للمعاملات. لذلك لا يثبت اجتياز اختبار لوظيفة واحدة أمان البرنامج كله. المكتبة للتعلم، وليست تنفيذًا كاملًا أو محسّنًا للأداء؛ لا يصح اعتبارها تلقائيًا حلًا للأموال الحقيقية. [3] [4]
يقترح المؤلف إنشاء محفظة تجريبية أو مستكشف كتل أو متجر إلكتروني أو مكتبة مساعدة. وللمتجر يوصي بالبدء على testnet واستخدام مكتبات تشفير آمنة. والمساهمة في المشاريع المفتوحة طريق آخر. هذه أفكار للدراسة، لا قائمة خدمات جرى فحصها حاليًا ولا وعد بالحصول على وظيفة. [4]
تذكر O’Reilly فبراير 2019، بينما يذكر README في مستودع المؤلف مارس 2019. نُبقي السجلين متميزين. يستند العرض إلى بيانات النشر والمقدمة كاملة والفصل الختامي Advanced Topics and Next Steps. ليس مراجعة للكتاب بأكمله أو اختبارًا للكود المرافق. قد يتغير النص على الإنترنت؛ ينبغي مقارنة تعليمات التثبيت القديمة بالوثائق الحالية قبل استخدامها. [1] [2] [3] [4]
للحصول على صورة أوضح، اقرأ هذا المدخل مع Private Key, معاملة, Bitcoin Script, Full Node.
01هل يناسب الكتاب مبتدئًا تمامًا؟+
قد يناسب المبتدئ في تطوير Bitcoin إذا كان يعرف أساسيات البرمجة بالفعل. تفترض المقدمة خصوصًا معرفة Python ومستوى رياضيًا قريبًا من الجبر. ومن يريد فهم استخدام Bitcoin أولًا دون كتابة كود سيجد طريقًا أكثر مباشرة في الأدلة التمهيدية.
02هل أستطيع استخدام المكتبة للتعامل مع بيتكويني الحقيقي بعد إنهاء التمارين؟+
إنهاء التمارين وحده لا يكفي لهذا الاستنتاج. يقدّم المؤلف المكتبة صراحة بوصفها أداة تعلم. التعامل الآمن مع أموال حقيقية يحتاج إلى تحقق أوسع بكثير، بما فيه حماية المفاتيح والاستعادة من النسخ الاحتياطية؛ هذا العرض لا يقدم ذلك التحقق.