Проверка устаревших, segwit, собственных segwit (bech32) и адресов биткойнов Taproot.
PHP | Версия пакета |
---|---|
7.х | v1.0 |
8.х | v2.0+ |
Обратите внимание, что адреса Taproot поддерживаются начиная с версии 2.1 этого пакета.
Установите пакет через композитор:
composer require kielabokkie/bitcoin-address-validator
Сначала вы создаете экземпляр класса валидатора:
$ addressValidator = new Kielabokkie Bitcoin AddressValidator ;
Подтвердите любой тип адреса (устаревший, segwit, собственный segwit и Taproot):
$ addressValidator -> isValid ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
Старый адрес (P2PKH):
$ addressValidator -> isPayToPublicKeyHash ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
Адрес Segwit (P2SH):
$ addressValidator -> isPayToScriptHash ( ' 3ALJH9Y951VCGcVZYAdpA3KchoP9McEj1G ' );
Собственный адрес segwit (bech32):
$ addressValidator -> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
Адрес Taproot (P2TR):
$ addressValidator -> isPayToTaproot ( ' bc1pveaamy78cq5hvl74zmfw52fxyjun3lh7lgt44j03ygx02zyk8lesgk06f6 ' );
По умолчанию валидатор передает как действительные только адреса основной сети. Если вы хотите проверить адреса как основной, так и тестовой сети, вы можете использовать цепочку методов:
// Both valid
$ addressValidator -> includeTestnet ()-> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
$ addressValidator -> includeTestnet ()-> isBech32 ( ' tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx ' );
Если вы хотите проверить только адреса тестовой сети, вы можете сделать это следующим образом:
// Invalid
$ addressValidator -> onlyTestnet ()-> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
// Valid
$ addressValidator -> onlyTestnet ()-> isBech32 ( ' tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx ' );
Этот пакет протестирован на основе тестовых данных официального репозитория биткойнов/биткойнов. Если вы встретите адрес, который не подтвержден правильно, откройте для него проблему.
Запустите тесты с помощью:
composer test
Этот пакет основан на следующих пакетах и использует большую часть их кода:
Вся заслуга принадлежит первоначальным авторам.
Этот пакет принес вам много денег, сэкономил время или просто вызвал радость?
Мы будем очень признательны за пожертвование: 32vtWJSomccxQ6y1tgSwSHXN5PChpdYy27