Exemplo n.º 1
0
 /**
  * Generates a new set of keys to interact with BitPay's API
  * @return PrivateKey
  */
 public function generateId()
 {
     // Generate new keys
     $private_key = new Bitpay\PrivateKey();
     $private_key->generate();
     $public_key = $private_key->getPublicKey();
     // Persist the keys to the database
     $this->setting('private_key', $this->encryption->encrypt(serialize($private_key)));
     $this->setting('public_key', $this->encryption->encrypt(serialize($public_key)));
     $this->setting('connection', 'disconnected');
     $this->setting('token', null);
     return $private_key;
 }
Exemplo n.º 2
0
<?php

/**
 * Copyright (c) 2014-2016 BitPay
 */
require __DIR__ . '/../vendor/autoload.php';
$private = new \Bitpay\PrivateKey();
//if you've got a hex-encoded private key string, you can use it to create a private key
$private->setHex('662be90968bc659873d723374213fa5bf7a30c24f0f0713aa798eb7daa7230fc');
$public = new \Bitpay\PublicKey();
$public->generate($private);
$sin = $public->getSin();
printf("Public Key:  %s\n", $public);
printf("Private Key: %s\n", $private);
printf("Sin Key:     %s\n\n", $sin);
$keypair = array($private->getHex(), $public->getHex());
printf("PEM keypair:  %s\n", $private->pemEncode($keypair));
// -or- if you've got a PEM-encoded text file containing your key pair, we can use this
$keys = file_get_contents(getenv('HOME') . '/.php-bitpay-client/key.pem');
if (isset($keys) && strlen($keys) > 0) {
    $keys = chop($keys);
    $private = new \Bitpay\PrivateKey();
    $private->setHex($private->pemDecode($keys)['private_key']);
    printf("\n\n");
    printf("Public Key:  %s\n", $private->getPublicKey());
    printf("Private Key: %s\n", $private);
    printf("Sin Key:     %s\n\n", $private->getPublicKey()->getSin());
}