PHPCoinAddress is a PHP object that creates public/private key pairs for: Bitcoin, Namecoin, Litecoin, PPCoin and many other cryptocoins.
PHPCoinAddress is intended to be easy to integrate into other PHP projects.
Version 0.2.0.pre
- Info: https://github.com/zamgo/PHPCoinAddress
- Download ZIP: https://github.com/zamgo/PHPCoinAddress/archive/master.zip
- Git clone: https://github.com/zamgo/PHPCoinAddress.git
- Raw TXT: https://raw.github.com/zamgo/PHPCoinAddress/master/PHPCoinAddress.php
- Bitcointalk thread: https://bitcointalk.org/index.php?topic=200042.0
require_once 'PHPCoinAddress.php'; // CoinAddress::set_debug(true); // optional - show debugging messages // CoinAddress::set_reuse_keys(true); // optional - use same key for all addresses $coin = CoinAddress::bitcoin(); print 'public (base58): ' . $coin['public'] . "\n"; print 'public (Hex) : ' . $coin['public_hex'] . "\n"; print 'private (WIF) : ' . $coin['private'] . "\n"; print 'private (Hex) : ' . $coin['private_hex'] . "\n";
- See test.php for more extensive tests.
- modded from https://gist.github.com/scintill/3549107
- includes Pure PHP Elliptic Curve Cryptography Library from https://github.com/mdanter/phpecc
- Requires GMP or bcmath extension (GMP preferred for better performance)
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
- confirm prefix settings for all coin types, test importing
- add coin types: IXcoin, Fairbrix, royalcoin, etc
- improved error checking + return values
Copyright (C) 2013 PHPCoinAddress 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.