นี่คือห้องสมุด PHP เพื่อเปิดใช้งาน Bitcoin Cash (BCH) และ SLP Token Payments คุณสามารถใช้สิ่งนี้ได้อย่างง่ายดายด้วย WordPress, Laravel และเฟรมเวิร์ก PHP อื่น ๆ
กับนักแต่งเพลง (แนะนำ):
composer require "ekliptor/cashp"
การติดตั้งด้วยตนเอง:
cashp.php จากไดเรกทอรีรูทของไลบรารีนี้src/phpqrcode PHP >= 7.1
ดูตัวอย่างรหัส
สร้างคลาส API หลัก
CashpOptions $options (ไม่บังคับ) API (ดูด้านล่าง) ส่งคืน API อัตราแลกเปลี่ยน
ส่งคืน blockchain API เพื่อสร้างที่อยู่ตรวจสอบยอดคงเหลือการทำธุรกรรม ...
สร้างรหัส QR สำหรับการชำระเงิน
string $fileLocal - พา ธ ในระบบไฟล์โลคัลของคุณเพื่อจัดเก็บไฟล์รหัส QR สิ่งนี้ควรเข้าถึงได้จากเว็บหากคุณต้องการแสดงรหัส QR ให้กับผู้ใช้ หากไฟล์ที่กำหนดมีอยู่แล้วมันจะไม่ถูกเขียนทับ (รหัส QR นั้นมีไว้เพื่อสร้างและแคชในไดเรกทอรีเว็บของคุณ)string $address - ที่อยู่ (1 ครั้ง) BCH (หรือ SLP) ที่สร้างขึ้นสำหรับการชำระเงินนี้float $amountBCH - จำนวนเงินใน BCH สามารถเป็น 0 ถ้าผู้ใช้จ่ายเต็มจำนวนในโทเค็น SLPfloat $amountToken - (ไม่บังคับ) จำนวนโทเค็นเสริมที่จะได้รับstring $tokenID - (ไม่บังคับ) hex id ของโทเค็น SLP จำเป็นถ้า $ umentToken> 0. ส่งคืน bool - จริงในความสำเร็จเท็จเป็นอย่างอื่น
ส่งคืน URI การชำระเงิน (เริ่มต้นด้วย "Bitcoincash:" หรือ "SimpleleDger:" ถ้า $ OcthenToken> 0) สำหรับที่อยู่ $ ที่กำหนด
string $address - ที่อยู่ที่รับ BCH (หรือ SLP)float $amountBCH - จำนวนเงินใน BCH ที่จะได้รับfloat $amountToken - (ไม่บังคับ) จำนวนโทเค็น SLP ที่จะได้รับstring $tokenID - (ไม่บังคับ) hex id ของโทเค็น SLP จำเป็นถ้า $ umentToken> 0. ส่งคืน string
รับรหัส HTML ของ BadgerButton ดู https://badger.bitcoin.com/
array $btnConf - อาร์เรย์เชื่อมโยงกับ buttom configstring $address - ที่อยู่ที่รับ BCH (หรือ SLP)float $amountBCH - จำนวนเงินใน BCH ที่จะได้รับfloat $amountToken - (ไม่บังคับ) จำนวนโทเค็น SLP ที่จะได้รับstring $tokenID - (ไม่บังคับ) hex id ของโทเค็น SLP จำเป็นถ้า $ umentToken> 0. ส่งคืน string - ปุ่ม HTML
ตรวจสอบว่าที่อยู่ BCH นั้นถูกต้องหรือไม่
string $bchAddress - ที่อยู่ในรูปแบบ cashaddress เริ่มต้นด้วย 'bitcoincash:' ส่งคืน bool - จริงถ้าที่อยู่นั้นถูกต้องเท็จเป็นอย่างอื่น
ตรวจสอบว่าที่อยู่ SLP นั้นถูกต้องหรือไม่
string $slpAddress - ที่อยู่เริ่มต้นด้วย 'SimpleleDger:' ส่งคืน bool - จริงถ้าที่อยู่นั้นถูกต้องเท็จเป็นอย่างอื่น
รับที่อยู่ BCH return (เป็นของที่อยู่ผู้ส่งผู้ส่ง) ที่กำหนดเป็นที่อยู่สุดท้ายในเอาต์พุตการทำธุรกรรม
Transaction $tx - การทำธุรกรรมจาก getTransaction () การโทร ส่งคืน string - ที่อยู่
รับที่อยู่ SLP แบบส่งคืน (เป็นของที่อยู่ผู้ส่งผู้ส่ง) ที่กำหนดเป็นที่อยู่สุดท้ายในเอาต์พุตการทำธุรกรรม
Transaction $tx - การทำธุรกรรมจาก getTransaction () การโทร ส่งคืน string - ที่อยู่
ชุดคุณสมบัติการกำหนดค่าขั้นสูง
$httpAgent = null - การใช้งาน HTTP ที่ใช้ในการขอ HTTP ค่า: basichttpagent | curlhttpagent | wordpresshttpagent ค่าเริ่มต้นเป็น basichttpagent แต่คุณควรใช้ค่าที่ดีกว่าตามการตั้งค่า PHP ของคุณ$exchangeRateExpirationMin = 60 - อัตราแลกเปลี่ยนที่คลานอยู่ในแคชนานเท่าใด ปัจจุบันอัตราจะไม่ถูกบันทึกนอกเหนือจากการดำเนินการสคริปต์$httpTimeoutSec = 10 - หมดเวลาสำหรับคำขอ HTTP ไปยัง REST API Backend$blockchainApiImplementation = "BitcoinComRestApi" - การใช้งานแบ็กเอนด์ REST API ที่จะใช้ ค่าที่อนุญาต: bitcoincomrestapi | bchdprotogatewayapi | slpdbapi API เพื่อรับอัตราการแลกเปลี่ยน BCH ไปยังสกุลเงิน fiat
รับอัตราแลกเปลี่ยนปัจจุบันสำหรับ BCH
string $currency - สกุลเงินคำสั่งเช่น USD | EUR | JPY ส่งคืน float
blockchain API เพื่อสร้างที่อยู่ตรวจสอบยอดคงเหลือการทำธุรกรรม ...
ตั้งค่าฟังก์ชั่น Logger สำหรับข้อผิดพลาดและเอาต์พุตดีบั๊ก ใช้สิ่งนี้เพื่อเขียนไปยัง LogFile หรือฐานข้อมูล หากไม่มีฟังก์ชั่นที่ให้ทุกอย่างจะถูกพิมพ์โดยใช้ 'echo'
callable $loggerFn(string $subject, mixed $error, mixed $data = null) - พารามิเตอร์ของ php callable ตั้งค่าการใช้งาน AA HTTP สำหรับคำขอ (Curl, WordPress HTTP API, ... )
AbstractHttpAgent $agent - ส่งคืนจำนวนการยืนยันสำหรับรหัสธุรกรรม blockchain ที่กำหนด
string $transactionID - ส่งคืน int - จำนวนการยืนยันหรือ -1 หากไม่มีการทำธุรกรรม $
สร้างที่อยู่ใหม่จาก XPUB
string $xPub - คีย์สาธารณะขยาย เรียกว่า 'คีย์สาธารณะหลัก' ในเงินสดอิเล็กตรอนint $addressCount - จำนวนที่อยู่ถัดไปเพื่อสร้างที่อยู่ที่ไม่ซ้ำกัน โดยปกติแล้วสิ่งนี้ควรเป็นจำนวนเต็มที่เพิ่มขึ้นstring $hdPathFormat - (ไม่บังคับ) เส้นทาง HD ที่จะใช้สำหรับการสร้างที่อยู่เด็ก ส่งคืน BchAddress - ที่อยู่หรือ null เมื่อความล้มเหลว
รับข้อมูลทั่วไป (ทั่วทั้งเครือข่าย) เกี่ยวกับโทเค็น SLP
string $tokenID - ส่งคืน SlpToken - โทเค็นหรือ null เมื่อความล้มเหลว
ส่งคืนยอดคงเหลือ BCH ของที่อยู่ที่กำหนด (รวมถึงธุรกรรมที่ไม่ได้รับการยืนยัน)
string $address - ที่อยู่ BCH ในรูปแบบ CashAddress ส่งคืน float - ยอดคงเหลือหรือ -1 หากไม่มีที่อยู่
ส่งคืนสมดุลโทเค็นของที่อยู่ SLP ที่กำหนด (รวมถึงธุรกรรมที่ไม่ได้รับการยืนยัน)
string $address -string $tokenID - ส่งคืน float - ยอดคงเหลือหรือ -1 หากไม่มีที่อยู่
ส่งคืนที่อยู่ BCH ด้วยคุณสมบัติทั้งหมดเช่น Balance, TXIDS, ...
string $address - ที่อยู่ BCH ในรูปแบบ CashAddress ส่งคืน BchAddress - ที่อยู่หรือ null เมื่อความล้มเหลว
ส่งคืนรายละเอียดโทเค็น SLP ของที่อยู่ที่กำหนดรวมถึงยอดคงเหลือ, TXIDS, ...
string $address -string $tokenID - ส่งคืน SlpTokenAddress - โทเค็นหรือ null เมื่อความล้มเหลว
ส่งคืนธุรกรรมด้วยอินพุตและเอาต์พุตทั้งหมดรวมถึงข้อมูล SLP
string $transactionID - ส่งคืน Transaction - ธุรกรรมหรือ null เมื่อความล้มเหลว
ในการเรียกใช้การทดสอบหน่วยพิมพ์คำสั่งต่อไปนี้ในไดเรกทอรีรูทโครงการ (ต้องใช้ phpunit ติดตั้งโดยอัตโนมัติด้วยนักแต่งเพลง):
./vendor/bin/phpunit --bootstrap vendor/autoload.php tests
ปลั๊กอิน WordPress