Valide direcciones Bitcoin heredadas, segwit, segwit nativas (bech32) y taproot.
PHP | Versión del paquete |
---|---|
7.x | v1.0 |
8.x | v2.0+ |
Tenga en cuenta que las direcciones de raíz principal son compatibles con la versión 2.1 de este paquete.
Instale el paquete a través del compositor:
composer require kielabokkie/bitcoin-address-validator
Primero creas una instancia de la clase de validador:
$ addressValidator = new Kielabokkie Bitcoin AddressValidator ;
Valide cualquier tipo de dirección (legacy, segwit, segwit nativa y taproot):
$ addressValidator -> isValid ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
Dirección heredada (P2PKH):
$ addressValidator -> isPayToPublicKeyHash ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
Dirección de Segwit (P2SH):
$ addressValidator -> isPayToScriptHash ( ' 3ALJH9Y951VCGcVZYAdpA3KchoP9McEj1G ' );
Dirección nativa de segwit (bech32):
$ addressValidator -> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
Dirección de raíz primaria (P2TR):
$ addressValidator -> isPayToTaproot ( ' bc1pveaamy78cq5hvl74zmfw52fxyjun3lh7lgt44j03ygx02zyk8lesgk06f6 ' );
De forma predeterminada, el validador solo pasa las direcciones de la red principal como válidas. Si desea validar las direcciones de la red principal y de la red de prueba, puede utilizar el encadenamiento de métodos:
// Both valid
$ addressValidator -> includeTestnet ()-> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
$ addressValidator -> includeTestnet ()-> isBech32 ( ' tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx ' );
Si desea validar solo direcciones de testnet, puede hacerlo de la siguiente manera:
// Invalid
$ addressValidator -> onlyTestnet ()-> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
// Valid
$ addressValidator -> onlyTestnet ()-> isBech32 ( ' tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx ' );
Este paquete se prueba con los datos de prueba del repositorio oficial de bitcoin/bitcoin. Si encuentra una dirección que no está validada correctamente, abra un problema.
Ejecute las pruebas con:
composer test
Este paquete se basa en los siguientes paquetes y utiliza gran parte de su código:
Todo el crédito va a los autores originales.
¿Este paquete le generó mucho dinero, le ahorró algo de tiempo o simplemente le provocó alegría?
Una donación sería muy apreciada: 32vtWJSomccxQ6y1tgSwSHXN5PChpdYy27