Validasi alamat Bitcoin lama, segwit, segwit asli (bech32), dan akar tunggang.
PHP | Versi Paket |
---|---|
7.x | v1.0 |
8.x | v2.0+ |
Harap dicatat bahwa alamat akar tunggang didukung mulai v2.1 paket ini.
Instal paket melalui composer:
composer require kielabokkie/bitcoin-address-validator
Pertama, Anda membuat instance kelas validator:
$ addressValidator = new Kielabokkie Bitcoin AddressValidator ;
Validasi segala jenis alamat (lama, segwit, segwit asli, dan akar tunggang):
$ addressValidator -> isValid ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
Alamat Warisan (P2PKH):
$ addressValidator -> isPayToPublicKeyHash ( ' 1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i ' );
Alamat Segwit (P2SH):
$ addressValidator -> isPayToScriptHash ( ' 3ALJH9Y951VCGcVZYAdpA3KchoP9McEj1G ' );
Alamat segwit asli (bech32):
$ addressValidator -> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
Alamat Akar Tunggang (P2TR):
$ addressValidator -> isPayToTaproot ( ' bc1pveaamy78cq5hvl74zmfw52fxyjun3lh7lgt44j03ygx02zyk8lesgk06f6 ' );
Secara default, validator hanya meneruskan alamat mainnet sebagai valid. Jika Anda ingin memvalidasi alamat mainnet dan testnet, Anda dapat menggunakan rangkaian metode:
// Both valid
$ addressValidator -> includeTestnet ()-> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
$ addressValidator -> includeTestnet ()-> isBech32 ( ' tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx ' );
Jika Anda hanya ingin memvalidasi alamat testnet, Anda dapat melakukannya sebagai berikut:
// Invalid
$ addressValidator -> onlyTestnet ()-> isBech32 ( ' bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ' );
// Valid
$ addressValidator -> onlyTestnet ()-> isBech32 ( ' tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx ' );
Paket ini diuji terhadap data pengujian repo bitcoin/bitcoin resmi. Jika Anda menemukan alamat yang tidak divalidasi dengan benar, silakan buka masalah untuk alamat tersebut.
Jalankan tes dengan:
composer test
Paket ini didasarkan pada paket-paket berikut dan menggunakan banyak kodenya:
Semua kredit diberikan kepada penulis asli.
Apakah paket ini menghasilkan banyak uang, menghemat waktu, atau sekadar menambah kegembiraan?
Sumbangan akan sangat dihargai: 32vtWJSomccxQ6y1tgSwSHXN5PChpdYy27