التحقق من صحة عناوين Bitcoin القديمة وsegwit وsegwit الأصلية (bech32) وعناوين Bitcoin الرئيسية.
PHP | إصدار الحزمة |
---|---|
7.x | v1.0 |
8.x | الإصدار 2.0+ |
يرجى ملاحظة أن عناوين الجذر مدعومة من الإصدار 2.1 من هذه الحزمة.
تثبيت الحزمة عبر الملحن:
composer require kielabokkie/bitcoin-address-validator
أولاً، تقوم بإنشاء مثيل لفئة التحقق من الصحة:
$ addressValidator = new Kielabokkie Bitcoin AddressValidator ;
التحقق من صحة أي نوع من العناوين (القديم، segwit، segwit الأصلي، وtaroot):
$ addressValidator -> isValid ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
العنوان القديم (P2PKH):
$ addressValidator -> isPayToPublicKeyHash ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
عنوان سيجويت (P2SH):
$ addressValidator -> isPayToScriptHash ( ' 3ALJH9Y951VCGcVZYAdpA3KchoP9McEj1G ' );
عنوان segwit الأصلي (bech32):
$ addressValidator -> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
عنوان الجذر (P2TR):
$ addressValidator -> isPayToTaproot ( ' bc1pveaamy78cq5hvl74zmfw52fxyjun3lh7lgt44j03ygx02zyk8lesgk06f6 ' );
افتراضيًا، يقوم المدقق بتمرير عناوين الشبكة الرئيسية باعتبارها عناوين صالحة فقط. إذا كنت ترغب في التحقق من صحة عناوين الشبكة الرئيسية وtestnet، فيمكنك استخدام تسلسل الطريقة:
// Both valid
$ addressValidator -> includeTestnet ()-> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
$ addressValidator -> includeTestnet ()-> isBech32 ( ' tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx ' );
إذا كنت تريد التحقق من صحة عناوين testnet فقط، فيمكنك القيام بذلك على النحو التالي:
// Invalid
$ addressValidator -> onlyTestnet ()-> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
// Valid
$ addressValidator -> onlyTestnet ()-> isBech32 ( ' tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx ' );
تم اختبار هذه الحزمة مقابل بيانات الاختبار الخاصة بمستودع البيتكوين/البيتكوين الرسمي. إذا صادفت عنوانًا لم يتم التحقق من صحته بشكل صحيح، فيرجى فتح مشكلة له.
قم بإجراء الاختبارات باستخدام:
composer test
تعتمد هذه الحزمة على الحزم التالية وتستخدم الكثير من التعليمات البرمجية الخاصة بها:
كل الفضل يذهب إلى المؤلفين الأصليين.
هل جلبت لك هذه الحزمة الكثير من المال، أو وفرت عليك بعض الوقت، أو أثارت الفرحة فحسب؟
سيكون التبرع موضع تقدير كبير: 32vtWJSomccxQ6y1tgSwSHXN5PChpdYy27