Friday, June 27, 2025
Homeบิทคอยน์bitcoin core - จะสร้างธุรกรรม coinbase ใน Python ได้อย่างไร

bitcoin core – จะสร้างธุรกรรม coinbase ใน Python ได้อย่างไร


ฉันรู้ว่าในฟอรัมนี้มีคำถามมากมายในหัวข้อนี้ ฉันได้ตรวจสอบคำถามเหล่านี้ส่วนใหญ่แล้ว แต่ไม่พบวิธีแก้ไขปัญหาสำหรับงานของฉัน ฉันกำลังสร้างอัลกอริทึมของตัวเองสำหรับการขุด bitcoin เดี่ยวบน Python ฉันเขียนวิธีการที่จำเป็นทั้งหมดสำหรับสิ่งนั้น รวมถึงการแฮชรูทของ Merkle การคำนวณส่วนหัวของบล็อก ฯลฯ แต่ตอนนี้ ฉันติดอยู่กับธุรกรรม coinbase เป็นเวลาสองสามสัปดาห์ ฉันได้ศึกษาเรื่อง หน้าธุรกรรม coinbase บน LearnMeABitcoin.com และพยายามใช้ตรรกะทั้งหมด แต่ไม่เข้าใจวิธีสร้างอย่างถ่องแท้ ฉันต้องการรวมกฎใหม่ (BIP34 – ส่วนหัวของบล็อก, BIP141 – SegWit tx) ในอัลกอริทึมนี้ แต่ความรู้ของฉันเกี่ยวกับการแฮชนี้ยังไม่เพียงพอ –

ใครสามารถจัดหาเอกสารเพิ่มเติม ตัวอย่างโค้ด หรืออธิบายรายละเอียดเกี่ยวกับการสร้างธุรกรรม Coinbase ได้หรือไม่ ข้อมูลใด ๆ จะเป็นประโยชน์มาก หวังว่าจะได้ความช่วยเหลือจากคุณ

นอกจากนี้ ฉันกำลังฝึกอบรมเกี่ยวกับ Bitcoin core ในโหมด regtest และเมื่อฉันใช้วิธี “generatetoaddress” (สำหรับการสร้างบล็อก) อันนี้ไม่ได้สร้าง coinbase tx ด้วยข้อกำหนด BIP34 และ BIP141 บางทีฉันอาจต้องตั้งค่าการกำหนดค่าเพิ่มเติมสำหรับอันนี้ เจอคนพูดถึง blockversion arg จริงมั้ย?

ขอบคุณทุกท่านครับ ^^

ป.ล. ถ้าฉันพลาดรายละเอียดบางอย่างเกี่ยวกับงานของฉัน คุณสามารถถามได้เลย และฉันจะให้ข้อมูลทั้งหมดที่ฉันมี ตัวอย่างโค้ดที่ฉันมี (มันใช้งานไม่ได้)

อัปเดต
ฉันมีข่าวดี ฉันพบวิธีแก้ปัญหาแล้วและทำสิ่งนี้ให้เสร็จ) ขอบคุณทุกท่านที่ให้การสนับสนุน และต่อมาฉันก็แชร์โค้ดของฉันสำหรับ gen coinbaseTx ใน python แต่เหลือเพียงคำถามเดียว ฉันใช้ object เพื่อสร้าง tx เหมือนบนหน้าจอ และมันมีความแตกต่างบางอย่างกับ coinbase tx จากการสร้างโดย Bitcoin Core โดยใช้ Generatetoaddress ในที่เดียวเท่านั้น โดยยื่น n ในเอาต์พุตแรก และมันจะเป็น “00000000” เสมอ เช่น ฉันหวังว่า 0 ใน little-endian ขนาด 4 ไบต์ ใครสามารถอธิบายได้ว่ามันคืออะไร? ฉันใช้สคริปต์ p2wpkh สำหรับที่อยู่แฮช บางทีอันนี้อาจเหมาะกับสิ่งนี้ เมื่อฉันเพิ่มค่านี้ ทุกอย่างทำงานได้ดี และฉันสร้าง CoinbaseTx ได้สำเร็จ หลังจากสร้างส่วนหัวของบล็อกและบล็อกทั้งหมดแล้วออกอากาศไปยังโหนด แต่เพื่อให้เข้าใจโค้ดของฉันอย่างถ่องแท้ ต้องการทราบว่า “00000000” นี้หมายถึงอะไร) ชื่อ “n” สำหรับฟิลด์เป็นของฉัน เป็นเพียงชื่อชั่วคราว
ป้อนคำอธิบายรูปภาพที่นี่

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

ความเห็นล่าสุด