public function testP2SHMultisig() { $j = 0; for ($i = 0; $i < 5; $i++) { $n = rand(1, 20); $m = rand(1, $n); $k = []; $pk_list = []; for ($i = 0; $i < $n; $i++) { $k[$i] = BitcoinLib::get_new_key_set(null, (bool) ($j++ % 2)); $pk_list[] = $k[$i]['pubKey']; } $multisig = RawTransaction::create_multisig($m, $pk_list); $real = $this->client->createmultisig($m, $pk_list); $this->assertEquals($real['address'], $multisig['address']); $this->assertEquals($real['redeemScript'], $multisig['redeemScript']); } }
<?php use BitWasp\BitcoinLib\BitcoinLib; require_once __DIR__ . '/../vendor/autoload.php'; $magic_byte = '00'; $keypair = BitcoinLib::get_new_key_set($magic_byte); echo "Key pair: \n"; print_r($keypair); echo "\n"; $compress = BitcoinLib::compress_public_key($keypair['pubKey']); echo "Compressed public key: {$compress} \n"; $decompress = BitcoinLib::decompress_public_key($compress); echo "Decompressed key info: \n"; print_r($decompress); echo "\n"; $address = BitcoinLib::public_key_to_address($compress, $magic_byte); echo "decoding {$address}\n"; echo BitcoinLib::base58_decode($address); echo "\n\n"; $sc = '5357'; $ad = BitcoinLib::public_key_to_address($sc, '05'); echo $ad . "\n";
public function testP2SHMultisig() { $n = 3; $m = 2; $k = []; $pk_list = []; for ($i = 0; $i < $n; $i++) { $k[$i] = BitcoinLib::get_new_key_set(); $pk_list[] = $k[$i]['pubKey']; } $multisig = RawTransaction::create_multisig($m, RawTransaction::sort_multisig_keys($pk_list)); $this->assertTrue(!!$multisig['address']); $this->assertTrue(BitcoinLib::validate_address($multisig['address'])); }
public function a() { print_r(BitcoinLib::get_new_key_set('00')); }
public function testPrivateKeyValidation() { $cnt = (getenv('BITCOINLIB_EXTENSIVE_TESTING') ?: 1) * 5; $val = FALSE; for ($i = 0; $i < $cnt; $i++) { $key = BitcoinLib::get_new_key_set($this->addressVersion, $val); $val = $val == FALSE ? TRUE : FALSE; $this->assertTrue(BitcoinLib::validate_WIF($key['privWIF'], $this->WIFVersion)); } }