Невозможно создать биткойн-транзакцию с помощью blockcypher api

У меня есть биткойн-адрес, созданный с помощью blockcypher, и я хотел бы перевести с него немного биткойнов (уже внес депозит) на другой адрес.

Я использую php-клиент blockcypher для создания транзакции, используя пример кода https://www.blockcypher.com/dev/bitcoin/?php#creating-transactions и https://github.com/blockcypher/php-client/blob/master/sample/transaction-api/CreateTransaction.php, я получаю сообщение об ошибке

Class 'Mdanter\Ecc\Math\Gmp' not found in C:\xampp\htdocs\cck\vendor\bitwasp\bitcoin\src\Math\Math.php on line 8

Я проверил файл поставщика, и в Mdanter\Ecc\Math\Gmp есть файл или класс Gmp, поэтому я отредактировал файл math.php и отредактировал строку 6, чтобы использовать \Mdanter\Ecc\Math\GmpMath как Gmp; и теперь получите ошибку, как в https://github.com/blockcypher/php-client/issues/21

Мой код, как показано ниже

require_once __DIR__.'/vendor/autoload.php';

use BlockCypher\Auth\SimpleTokenCredential;
use BlockCypher\Rest\ApiContext;
use BlockCypher\Api\TX as DD;
use BlockCypher\Client\TXClient;

// ... other classes

$apiContext = ApiContext::create(
 'main', 'btc', 'v1',
new SimpleTokenCredential('4e3a287e603f48c994d978dab061084a'),
array('log.LogEnabled' => true, 'log.FileName' => 'BlockCypher.log',      'log.LogLevel' => 'DEBUG') );


$tx = new DD();

// Tx inputs
$input = new \BlockCypher\Api\TXInput();
$input->addAddress("1DZR2kUCa5HTyVZLY8TWFf2ZfjhWgsgNtf");
$tx->addInput($input);
// Tx outputs
$output = new \BlockCypher\Api\TXOutput();
$output->addAddress("1Mye4sZmd9rzjY6yUw19etZhzeVU2q1kcj");
$output->setValue(1000); // Satoshis
$tx->addOutput($output);
// Tx amount



$txClient = new TXClient($apiContext);

$txSkeleton = $txClient->create($tx);

$privateKeys =     array("3ed07ff3e458fabb8b99b723002f4817eebd5fc11f9c76fdd9c200090c04fd1c");

$txSkeleton = $txClient->sign($txSkeleton, $privateKeys);

$txSkeleton = $txClient->send($txSkeleton);

person Erick    schedule 04.11.2016    source источник
comment
Не могли бы вы сказать мне, какая у вас версия библиотеки для mdanter/ecc? Я думаю, проблема может заключаться в том, что библиотека bitwasp/bitcoi использует эту зависимость mdanter/ecc: ~0.3, а последняя версия mdanter/ecc не имеет класса Mdanter\Ecc\Math\Gmp. В этом случае мы должны открыть задачу на github.com/Bit-Wasp/bitcoin-php и скажите им заменить mdanter/ecc: ~0.3 на mdanter/ecc: 0.3.*   -  person josecelano    schedule 05.11.2016
comment
@josecelano какую версию SDK вы используете?   -  person Erick    schedule 09.11.2016


Ответы (1)


Проблема была вызвана плохой конфигурацией зависимостей в одной из зависимостей php-client. Это было исправлено. Больше информации:

https://github.com/blockcypher/php-client/issues/21

Вам нужно только обновить php-client до последней версии.

person josecelano    schedule 16.11.2016