PHPBitcoinAddress is a PHP object that creates public/private key pairs for Bitcoin, Litecoin, Dogecoin, and more.
PHPBitcoinAddress is intended to easily integrate into other PHP projects.
Version 0.2.1 Modded for indie use of Bitcoin without requiring any third party and without running a full node.
- modded from https://github.com/zamgo/PHPCoinAddress
- Bitcointalk thread https://bitcointalk.org/index.php?topic=5110377.0
NOTICE : Before use you must add your own list of keywords to the array $rwa in the public static function create_key_pair() The more keywords, the merrier, take the time to create a long and unique array. Each keygen uses 24 random keywords + 4 random keyword encrypted salt
require_once 'PHPBitcoinAddress.php'; // CoinAddress::set_debug(true); // optional - show debugging messages $coin = CoinAddress::bitcoin(); print 'public (base58): ' . $coin['public'] . "\n"; print 'private (WIF) : ' . $coin['private'] . "\n"; print 'public Compr : ' . $coin['public_compressed'] . "\n"; print 'private Compr : ' . $coin['private_compressed'] . "\n"; print 'public (Hex) : ' . $coin['public_hex'] . "\n"; print 'private (Hex) : ' . $coin['private_hex'] . "\n"; print 'dump k origin : ' . $coin['key_orig'] . "\n";
- modded from https://gist.github.com/scintill/3549107
- includes Pure PHP Elliptic Curve Cryptography Library from https://github.com/mdanter/phpecc
- Requires bcmath extension.
- Requires unique keywords to be added to an array as specified in comments.
- Only tested for use with Bitcoin, no other testing has been done although other cryptocurrency options exist.
- Compatible with PHP5 PHP7 and PHP8
Key: Pub Dec = Prefix for Public Key, Decimal Pub Hex = Prefix for Public Key, Hexadecimal Pub lead = leading character in Public Key Priv Dec = Prefix for Private Key, Decimal Priv Hex = Prefix for Private Key, Hexadecimal Priv lead = leading character in Private Key (Wallet Import Format) PrvC lead = leading character in Private Key (Compressed Wallet Import Format) test = Test results for importing PHPCoinAddress created keys into standard client src = source code repository Note: tests are for uncompressed keys Pub Pub Pub Priv Priv Priv PrvC Coin Dec Hex lead Dec Hex lead lead test src ============ ==== ==== ==== ==== ==== ==== ==== ==== ==== BITCOIN 0 0x00 1 128 0x80 5 K,L OK https://github.com/bitcoin/bitcoin BBQCOIN 85 0x05 3 213 0xD5 8 K, - https://github.com/overware/BBQCoin BITBAR 25 0x19 B 153 0x99 6 K, - https://github.com/aLQ/bitbar BYTECOIN 18 0x12 8 128 0x80 5 K, - https://github.com/bryan-mills/bytecoin CHNCOIN 28 0x1C C 156 0x9C 6 K, - https://github.com/CHNCoin/CHNCoin DEVCOIN 0 0x00 1 128 0x80 5 K,L - http://sourceforge.net/projects/galacticmilieu/files/DeVCoin/ FAIRBRIX - - - - - - - - https://github.com/coblee/Fairbrix FEATHERCOIN 14 0x0E 6 142 0x8E 5 K, - https://github.com/FeatherCoin/FeatherCoin FREICOIN 0 0x00 1 128 0x80 5 K,L - https://github.com/freicoin/freicoin IXCOIN - - - - - - - - https://github.com/ixcoin/ixcoin JUNKCOIN 16 0x10 7 144 0x90 5 K, OK https://github.com/js2082/JKC LITECOIN 48 0x30 L 176 0xB0 6 K, OK https://github.com/litecoin-project/litecoin MINCOIN 50 0x32 M 178 0xB2 6 K, - https://github.com/SandyCohen/mincoin NAMECOIN 52 0x34 M,N 180 0xB4 7 K, - https://github.com/namecoin/namecoin NOVACOIN 8 0x08 4 136 0x88 5 K, - https://github.com/CryptoManiac/novacoin ONECOIN 115 0x73 o 243 0xF3 9 K, - https://github.com/cre8r/onecoin PPCOIN 55 0x37 P 183 0xB7 7 K, OK https://github.com/ppcoin/ppcoin ROYALCOIN - - - - - - - - http://sourceforge.net/projects/royalcoin/ SMALLCHANGE 62 0x3E S 190 0xBE 7 K, - https://github.com/bfroemel/smallchange TERRACOIN 0 0x00 1 128 0x80 5 K,L - https://github.com/terracoin/terracoin YACOIN 77 0x4D Y 205 0xCD 7 K, - https://github.com/pocopoco/yacoin Pub Pub Pub Priv Priv Priv PrvC TESNET Coin Dec Hex lead Dec Hex lead lead test ============ ==== ==== ==== ==== ==== ==== ==== ==== BITCOIN-T 111 0x6F m,n 239 0xEF 9 - OK(uncompressed only) BBQCOIN-T 25 0x19 153 0x99 - - - BITBAR-T 115 0x73 243 0xF3 - - - FAIRBRIX-T - - - - - - - - IXCOIN-T - - - - - - - - NAMECOIN-T - - - - - - - - ROYALCOIN-T - - - - - - - - TESTNET Coins using BITCOIN TESTNET prefixes: BYTECOIN, CHNCOIN, DEVCOIN, FEATHERCOIN, FREICOIN, JUNKCOIN, LITECOIN MINCOIN, NOVACOIN, ONECOIN, PPCOIN, TERRACOIN, SMALLCHANGE, YACOIN
- Security audits welcome to ensure key integrity
Copyright (C) 2013-2023 PHPCoinAddress, PHPBitcoinAddress Developers
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.