bitcoin address validator
2.2.0
レガシー、segwit、ネイティブ segwit (bech32)、およびタップルート ビットコイン アドレスを検証します。
PHP | パッケージバージョン |
---|---|
7.x | v1.0 |
8.x | v2.0以降 |
タップルート アドレスはこのパッケージの v2.1 からサポートされることに注意してください。
Composer を介してパッケージをインストールします。
composer require kielabokkie/bitcoin-address-validator
まず、バリデーター クラスをインスタンス化します。
$ addressValidator = new Kielabokkie Bitcoin AddressValidator ;
あらゆる種類のアドレス (レガシー、segwit、ネイティブ segwit、およびタップルート) を検証します。
$ addressValidator -> isValid ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
レガシー (P2PKH) アドレス:
$ addressValidator -> isPayToPublicKeyHash ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
Segwit (P2SH) アドレス:
$ addressValidator -> isPayToScriptHash ( ' 3ALJH9Y951VCGcVZYAdpA3KchoP9McEj1G ' );
ネイティブ segwit (bech32) アドレス:
$ addressValidator -> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
タップルート (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