13 คะแนน โดย xguru 2021-11-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เขียนด้วย C89 เกือบทั้งหมด

→ ไม่มี dependency นอกจาก LMDB

→ ใช้ C standard library ให้น้อยที่สุด

→ คอมไพล์ได้บนทุกระบบปฏิบัติการที่อิง POSIX.1-2001

  • สถาปัตยกรรมที่นำกลับมาใช้ซ้ำได้

→ libmako : ไลบรารีแกนหลัก รวมฟังก์ชันที่เกี่ยวข้องกับบิตคอยน์ทั้งหมดโดยไม่มี IO

→ libnode : ไลบรารี full node แยกต่างหากที่ไฟล์ executable ขั้นสุดท้ายจะลิงก์ด้วย

1 ความคิดเห็น

 
xguru 2021-11-17

เมื่อเทียบกับอิมพลีเมนเทชัน Bitcoin ที่โด่งดังที่สุด https://github.com/bitcoin/bitcoin ซึ่งมี 630,000 บรรทัด

Mako มีอยู่ 260,000 บรรทัดเองครับ ดูเหมือนว่าเขาจะเขียนครบทั้ง 260,000 บรรทัดด้วยตัวคนเดียวเลย

คนนี้บอกว่านี่เป็นอิมพลีเมนเทชัน Bitcoin ตัวที่สองของเขา โดยตัวแรกเขาเขียนด้วย Node.js

https://github.com/bcoin-org/bcoin

ถ้าจะเรียนรู้ Bitcoin จากซอร์สโค้ด เขาแนะนำให้ดู BCoin เวอร์ชัน 0.8.0 ประมาณนี้ครับ

https://github.com/bcoin-org/bcoin/tree/v0.8.0