กำหนดขอบเขตกระเป๋าเงิน
กระเป๋าเงินแบบ watch-only สามารถตรวจจับการชำระเงินได้โดยไม่ถือคีย์การใช้จ่ายส่วนตัว คีย์สาธารณะแบบขยายยังคงเปิดเผยกิจกรรมกระเป๋าเงินที่ละเอียดอ่อนและควรได้รับการปกป้อง การผสานรวม Lightning อาจต้องใช้กระเป๋าเงินออนไลน์และเพิ่มความเสี่ยงในการดำเนินงาน
กำหนดขนาดสำหรับสแตกทั้งหมด
แบ็กเอนด์ Bitcoin ฐานข้อมูล บริการเว็บ และโหนด Lightning ที่เป็นทางเลือกมีความต้องการพื้นที่จัดเก็บและหน่วยความจำที่แตกต่างกัน ตรวจสอบคำแนะนำการติดตั้งที่รองรับในปัจจุบันและความต้องการในการเติบโตก่อนเลือกเครื่องขนาดเล็ก
รักษาความปลอดภัยของอินเทอร์เฟซผู้ค้า
ใช้ชื่อโฮสต์เฉพาะ HTTPS การป้องกันการเข้าสู่ระบบที่แข็งแกร่ง และจำกัดการเข้าถึงสำหรับผู้ดูแลระบบ อัปเดตเซิร์ฟเวอร์อยู่เสมอ และตรวจสอบลายเซ็น webhook หรือกลไกการยืนยันที่รองรับในแอปพลิเคชันที่รับข้อมูล อย่าจัดส่งสินค้าโดยอาศัยเพียงการเปลี่ยนเส้นทางของเบราว์เซอร์
สำรองข้อมูลและกระทบยอด
ปกป้องการกำหนดค่าร้านค้า ฐานข้อมูล ข้อมูลการกู้คืนกระเป๋าเงิน และข้อมูลเฉพาะของ Lightning ตามเอกสารที่เกี่ยวข้อง ทดสอบการกู้คืนและกระทบยอดใบแจ้งหนี้กับระบบชำระเงิน โดยเฉพาะในกรณีหมดอายุ ชำระไม่ครบ และการคืนเงิน
ตรวจสอบกลยุทธ์การติดตั้งใช้งานและเชน
ใช้คำแนะนำการติดตั้งที่รองรับในปัจจุบัน ชื่อโฮสต์เฉพาะ และเส้นทาง HTTPS ที่ผ่านการตรวจสอบแล้ว เชนแบบ pruned สามารถลดความต้องการพื้นที่จัดเก็บต่อเนื่องได้ในกรณีที่รองรับ แต่ต้องเข้าใจความต้องการในการสแกนซ้ำและการกู้คืน อย่าเลือกดิสก์จากขนาดเชนปัจจุบันเพียงอย่างเดียว ให้เผื่อพื้นที่สำหรับสแตกทั้งหมดและการเติบโต
- ตรวจสอบ callback การชำระเงินจากการทดสอบภายนอก
- ใช้การชำระเงินทดสอบก่อนเปิดร้านจริง
- ยืนยันนโยบายการชำระใบแจ้งหนี้
เอกสารอย่างเป็นทางการ: ตัวเลือกการติดตั้งใช้งาน BTCPay
เก็บคีย์การใช้จ่ายไว้ในที่ที่คุณตั้งใจ
การตั้งค่าแบบ watch-only สามารถตรวจจับการชำระเงินจากคีย์สาธารณะแบบขยายได้โดยไม่ให้คีย์การใช้จ่ายแก่เซิร์ฟเวอร์ xpub มีความละเอียดอ่อนเพราะสามารถเปิดเผยกิจกรรมกระเป๋าเงินได้ กระเป๋าเงินแบบ hot wallet เปลี่ยนความเสี่ยงนี้โดยวางความสามารถในการใช้จ่ายไว้ออนไลน์ ตรวจสอบการดูแลกระเป๋าเงินและ Lightning แยกจากกัน และปฏิบัติตามกระบวนการสำรองข้อมูลที่รองรับ
เอกสารอย่างเป็นทางการ: รูปแบบกระเป๋าเงิน BTCPay
สร้างรายการตรวจสอบการติดตั้งตามสแตกที่เลือก
เริ่มต้นด้วยโดเมนเฉพาะ วิธีการติดตั้งที่รองรับ โหมดเชนที่ต้องการ และพื้นที่ดิสก์เพียงพอสำหรับการซิงโครไนซ์ ตรวจสอบตัวสร้าง Docker ต้นทางและคอมโพเนนต์ที่เลือกไว้ก่อนติดตั้ง เก็บตัวเลือกการติดตั้งที่ไม่ใช่ความลับไว้เพื่อให้เครื่องอื่นสามารถสร้างใหม่ได้อย่างสม่ำเสมอ ตรวจสอบการแปลงชื่อโดเมน การออกใบรับรอง และความเป็นเจ้าของบัญชีผู้ดูแลระบบก่อนแสดงหน้าชำระเงินให้ลูกค้า ตัวอย่าง Docker Compose ทั่วไปไม่ใช่หลักฐานว่าคอมโพเนนต์ BTCPay ที่เป็นทางเลือกทั้งหมดได้รับการกำหนดค่าแล้ว
- ตัดสินใจว่าเจ้าของอินสแตนซ์รายใดควบคุมการอัปเดต การตรวจสอบ การสำรองข้อมูล และการตอบสนองต่อเหตุการณ์
- แยกการเปิดเผยรีเวิร์สพร็อกซีออกจาก RPC Bitcoin ฐานข้อมูล และการดูแลระบบ Lightning แบบส่วนตัว
- จัดทำเอกสารข้อจำกัดการกู้คืน/การสแกนซ้ำของแบ็กเอนด์แบบ pruned ก่อนเชื่อมต่อกระเป๋าเงินที่มีประวัติการชำระเงิน
- รักษาสภาพแวดล้อมทดสอบที่ได้รับการสนับสนุนหรือการทดลองชำระเงินขนาดเล็กที่ควบคุมได้สำหรับการเชื่อมต่อระบบก่อนดำเนินการคำสั่งซื้อที่มีมูลค่า
เอกสารอย่างเป็นทางการ: BTCPay Server: ตัวเลือกการติดตั้งใช้งาน · BTCPay Server: การติดตั้งใช้งาน Docker ที่รองรับ
ตรวจสอบการชำระเงินผ่านกระเป๋าเงินที่ขาดหายโดยไม่ต้องนำเข้าซีด
ร้านค้าสามารถใช้ข้อมูล xpub/derivation ของกระเป๋าเงินได้ ในขณะที่คีย์สำหรับการใช้จ่ายยังคงอยู่บนอุปกรณ์อื่น ทดสอบการรับเงินและเส้นทางการกู้คืนด้วยกระเป๋าเงินที่เลือก หาก BTCPay เห็นการชำระเงินของใบแจ้งหนี้แต่กระเป๋าเงินภายนอกไม่แสดง ให้ตรวจสอบรูปแบบ derivation และพฤติกรรมขีดจำกัดช่องว่างที่อยู่ก่อนสันนิษฐานว่าเงินหายไป การสร้างที่อยู่ที่ไม่มีการชำระเงินติดต่อกันเป็นจำนวนมากอาจส่งผลต่อการค้นหาของกระเป๋าเงิน ใช้การวินิจฉัยของกระเป๋าเงินที่รองรับ แทนการคัดลอกคำสำหรับกู้คืนไปยังเซิร์ฟเวอร์
เอกสารอย่างเป็นทางการ: BTCPay Server: การแก้ปัญหากระเป๋าเงินและการสร้างคีย์
กระทบยอดใบแจ้งหนี้ก่อนดำเนินการ
บันทึกตัวระบุใบแจ้งหนี้และทำให้การดำเนินการ fulfil เป็นแบบ idempotent การที่เบราว์เซอร์กลับไปยังร้านค้าเป็นเหตุการณ์การนำทาง ไม่ใช่หลักฐานการชำระเงินที่เสร็จสิ้น ตรวจสอบสถานะการชำระเงินผ่านการผสานรวมเซิร์ฟเวอร์ที่ผ่านการรับรองความถูกต้องของคุณ จัดการใบแจ้งหนี้ที่หมดอายุ ล่าช้า หรือชำระไม่ครบอย่างชัดเจน และเก็บเส้นทางการตรวจสอบสำหรับผลลัพธ์ที่ยังไม่คลี่คลาย หาก callback ซ้ำ การส่งการตอบรับที่สำเร็จต้องไม่จัดส่งหรือให้เครดิตคำสั่งซื้อสองครั้ง
- ทดสอบการชำระเงินที่มาถึงใกล้เวลาหมดอายุ และตรวจสอบว่าคำสั่งซื้อยังคงเชื่อมโยงกับใบแจ้งหนี้ที่ถูกต้อง
- เก็บฐานข้อมูล การกำหนดค่าที่จัดเก็บ และข้อมูลสำหรับกู้คืนกระเป๋าเงินไว้ในชุดสำรองข้อมูลอิสระที่ผ่านการทดสอบแล้ว
- Lightning เพิ่มความรับผิดชอบแยกต่างหากด้านสภาพคล่องและการสำรองข้อมูลแชนเนล การกู้คืน VPS ทั้งหมดของเมื่อวานไม่ใช่ขั้นตอนการกู้คืนสากลที่ปลอดภัย
- การโฮสต์อินสแตนซ์ BTCPay ไม่ได้เพิ่ม Lightning หรือ XMR ให้กับการชำระเงินของลูกค้า KoalaVPS วิธีการชำระเงินบนเว็บไซต์โฮสติ้งนี้ยังคงเป็นเจ็ดเส้นทางที่เผยแพร่
เอกสารอย่างเป็นทางการ: คู่มือนักพัฒนาสำหรับ Bitcoin: การตรวจสอบการชำระเงิน · LND: การกู้คืนจากภัยพิบัติ · Core Lightning: การสำรองข้อมูลกระเป๋าเงินและช่องทาง