getblocktemplate طريقة JSON-RPC للحصول على بيانات تجميع كتلة مرشحة أو تقييم مقترح. يستند هذا الوصف إلى Bitcoin Core 29؛ سلوك تنفيذ معين لا ينطبق تلقائيًا على كل خوادم البروتوكول نفسه.
القيمة الافتراضية للحقل mode هي template. يوفر الرد بيانات لبرنامج التعدين، لا proof of work تم العثور عليه. هذا الطلب لا يقبل عنوان دفع كمعامل؛ إنشاء coinbase والبحث عن حل خطوتان لاحقتان. [Bitcoin Core 29 — getblocktemplate RPC]
يشترط Bitcoin Core v29.0 وجود segwit ضمن rules في الطلب، وكذلك signet على شبكة signet. كتابة نص لا تغني عن تنفيذ القواعد المعنية. يصف capabilities ميزات الواجهة ولا يحل محل rules الإلزامية. [Bitcoin Core v29.0 — Mining RPC implementation]
يميز BIP 145 بين txid دون witness وhash الذي يشمل witness. يستخدم Merkle root الرئيسي txid لا هاش witness. يحمل data المعاملة المتسلسلة بالنظام الست عشري؛ المعرّف وحده ليس جميع بايتاتها. [BIP 145 — SegWit template fields]
يعيد العميل longpollid المستلم في طلب الانتظار التالي. ينص BIP 22 على عدم افتراض معنى محدد له؛ لذا لا ينبغي لعميل قابل للنقل تحليله كتنسيق من اختراعه. يحتاج Long polling إلى مهلة طويلة وتأخير بعد إخفاقات متكررة، لا حلقة إعادة محاولات متلاحقة. [BIP 22 — Long polling]
يخزّن Bitcoin Core v29.0 القالب مؤقتًا: يغيره عند تغير الكتلة السابقة، أو تغير mempool بعد أكثر من خمس ثوانٍ من إنشائه. ويحدّث وقت الترويسة بصورة منفصلة. لذلك لا يلزم أن يتضمن كل استدعاء أحدث معاملة أو ينشئ عمل تعدين مستقلًا. [Bitcoin Core v29.0 — Mining RPC implementation]
في وضع proposal يحمل data الكتلة المرشحة كاملة بالنظام الست عشري. يفحص Core قيمة Merkle root لكنه لا يشترط proof of work صالحًا. تعني inconclusive-not-best-prevblk أن الكتلة السابقة تختلف عن رأس السلسلة الحالي؛ وليست تقييمًا كاملًا لصحة المقترح. [Bitcoin Core v29.0 — Mining RPC implementation]
يتلقى submitblock الكتلة كاملة بصيغة hexdata، لا هاش فقط. يعيد Bitcoin Core 29 القيمة null عند القبول؛ وإلا فقد يعيد نصًا للنتيجة. يتجاهل dummy الاختياري. قبول العقدة لا يضمن تأكيدًا دائمًا في السلسلة النشطة. [Bitcoin Core 29 — submitblock RPC]
على mainnet يرفض Bitcoin Core v29.0 توفير قالب دون أقران متصلين أو أثناء initial block download. يصف ذلك جاهزية العقدة، لا بطلان كتلة بعينها. يجب تمييز هذه الأخطاء عن أسباب رفض التحقق وعن long polling الذي ينتظر بصورة طبيعية. [Bitcoin Core v29.0 — Mining RPC implementation]
للحصول على صورة أوضح، اقرأ هذا المدخل مع Block Template, تعدين بيتكوين, Stratum V2, Extranonce. تشير إلى هذا المدخل أيضًا ASIC Miner, Solo Mining, Job Negotiation.