Skip to content

Latest commit

 

History

History
115 lines (86 loc) · 3.99 KB

README.md

File metadata and controls

115 lines (86 loc) · 3.99 KB

Blockcypher SDK Modernization

Current blockcypher/php-client is built for PHP 5.2, 5.3 and an older version of PHPUnit. Purpose of this project is to bring the SDK upto par with PHP >7.2, PHPUnit 8.3.4, and bitwasp/bit-coin v1.0 libraries

See the Wiki for Updates

PHP REST API SDK for BlockCypher

Home Image

Build Status Coverage Status

Welcome to BlockCypher PHP SDK. This repository contains BlockCypher's PHP SDK and samples for REST API.

SDK Documentation

Our BlockCypher-PHP-SDK Page includes all the documentation related to PHP SDK. Everything from SDK Wiki, to Sample Codes, to Releases. Here are few quick links to get you there faster.

Prerequisites

More help

Upcoming features

Currently unavailable/upcoming REST API features

  • Install from phar

New samples

  • Capturing callback sample.
  • Managing errors in batching requests.

Quick Examples

Setup ApiContext

<?php
// Autoload the SDK Package. Installed via direct download.
require __DIR__  . '/php-client/autoload.php';
// Require the Composer autoloader. Installed via composer
//require 'vendor/autoload.php';

use BlockCypher\Auth\SimpleTokenCredential;
use BlockCypher\Rest\ApiContext;
use BlockCypher\Api\Address;

// Provide your Token. Replace the given one with your app Token
// https://accounts.blockcypher.com/dashboard
$token = 'c0afcccdde5081d6429de37d16166ead';

// SDK config
$config = array(
    'mode' => 'sandbox',
    'log.LogEnabled' => true,
    'log.FileName' => 'BlockCypher.log',
    'log.LogLevel' => 'DEBUG', // PLEASE USE 'INFO' LEVEL FOR LOGGING IN LIVE ENVIRONMENTS
    'validation.level' => 'log',
);

$apiContext = ApiContext::create(
    'main', 'btc', 'v1',
    new SimpleTokenCredential('c0afcccdde5081d6429de37d16166ead'),
    $config
);

Get Address info

<?php
use BlockCypher\Api\Address;

$addressClient = new AddressClient($apiContext);
$address = $addressClient->get('1DEP8i3QJCsomS4BSMY2RpU1upv62aGvhD');

echo "JSON Address: " . $address->toJson() . "\n";
var_dump($address);

Send a microtransaction

<?php
$microTXClient = new MicroTXClient($apiContext);

try {
    $microTX = $microTXClient->sendSigned(
        "2c2cc015519b79782bd9c5af66f442e808f573714e3c4dc6df7d79c183963cff", // private key
        "C4MYFr4EAdqEeUKxTnPUF3d3whWcPMz1Fi", // to address
        10000 // value (satoshis)
    );
} catch (\Exception $e) {
    echo "There was an error sending the microtx.\n";
}