コード例 #1
0
 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']);
     }
 }
コード例 #2
0
<?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";
コード例 #3
0
 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']));
 }
コード例 #4
0
 public function a()
 {
     print_r(BitcoinLib::get_new_key_set('00'));
 }
コード例 #5
0
 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));
     }
 }