Validieren Sie Legacy-, Segwit-, native Segwit- (bech32) und Taproot-Bitcoin-Adressen.
PHP | Paketversion |
---|---|
7.x | v1.0 |
8.x | v2.0+ |
Bitte beachten Sie, dass Taproot-Adressen ab Version 2.1 dieses Pakets unterstützt werden.
Installieren Sie das Paket über Composer:
composer require kielabokkie/bitcoin-address-validator
Zuerst instanziieren Sie die Validator-Klasse:
$ addressValidator = new Kielabokkie Bitcoin AddressValidator ;
Validieren Sie jede Art von Adresse (Legacy, Segwit, natives Segwit und Taproot):
$ addressValidator -> isValid ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
Legacy-Adresse (P2PKH):
$ addressValidator -> isPayToPublicKeyHash ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
Segwit (P2SH)-Adresse:
$ addressValidator -> isPayToScriptHash ( ' 3ALJH9Y951VCGcVZYAdpA3KchoP9McEj1G ' );
Native Segwit-Adresse (bech32):
$ addressValidator -> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
Taproot (P2TR)-Adresse:
$ addressValidator -> isPayToTaproot ( ' bc1pveaamy78cq5hvl74zmfw52fxyjun3lh7lgt44j03ygx02zyk8lesgk06f6 ' );
Standardmäßig übergibt der Validator nur Mainnet-Adressen als gültig. Wenn Sie sowohl Mainnet- als auch Testnet-Adressen validieren möchten, können Sie Methodenverkettung verwenden:
// Both valid
$ addressValidator -> includeTestnet ()-> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
$ addressValidator -> includeTestnet ()-> isBech32 ( ' tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx ' );
Wenn Sie nur Testnet-Adressen validieren möchten, können Sie dies wie folgt tun:
// Invalid
$ addressValidator -> onlyTestnet ()-> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
// Valid
$ addressValidator -> onlyTestnet ()-> isBech32 ( ' tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx ' );
Dieses Paket wird anhand der Testdaten des offiziellen Bitcoin/Bitcoin-Repo getestet. Wenn Sie auf eine Adresse stoßen, die nicht korrekt validiert ist, eröffnen Sie bitte ein Problem dafür.
Führen Sie die Tests aus mit:
composer test
Dieses Paket basiert auf den folgenden Paketen und verwendet einen Großteil ihres Codes:
Der gesamte Kredit geht an die Originalautoren.
Hat Ihnen dieses Paket viel Geld eingebracht, Zeit gespart oder einfach nur Freude geweckt?
Über eine Spende würden wir uns sehr freuen: 32vtWJSomccxQ6y1tgSwSHXN5PChpdYy27