创建事务中的登录错误blockcypher / php-client

时间:2018-01-30 09:56:41

标签: php laravel bitcoin block-cipher

这里是我的代码,用于创建和签名并发送

  $request = clone $tx;
/// For Sample Purposes Only.
    $params = array(
           'includeToSignTx' => 1,
           'script_type'=>'mutlisig-n-of-m',
        );
$txClient = new TXClient($apiContext);

try {

  // dd($tx);
    $txSkeleton = $txClient->create($tx,$params);
    $privateKeys = array("private key");
$txSkeleton = $txClient->sign($txSkeleton, $privateKeys);
$txSkeleton = $txClient->send($txSkeleton);
} catch (Exception $ex) {
    dd("Created TX", "TXSkeleton", null, $request, $ex);
    exit(1);
}

这是我得到的错误:

  

PrivateKeyList.php第54行中的FatalThrowableError:输入错误:   争论1传递给   BlockCypher \ Crypto \ PrivateKeyList :: addPrivateKey()必须是一个实例   BitWasp \ Bitcoin \ Key \ PrivateKeyInterface,实例   给出BitWasp \ Bitcoin \ Crypto \ EcAdapter \ Impl \ PhpEcc \ Key \ PrivateKey,   呼唤   /home/pixel/Documents/tests/vendor/blockcypher/php-client/lib/BlockCypher/Crypto/PrivateKeyList.php   在第43行

这是代码

public function addPrivateKey(PrivateKeyInterface $privateKey)
{
   $pubKeyHex = $privateKey->getPublicKey()->getHex();
   $this->privateKeys[$pubKeyHex] = $privateKey;
}

1 个答案:

答案 0 :(得分:0)

很难说这么少的信息到底出了什么问题,但是从错误中可以清楚地知道你传递的内容是$privateKey是不正确的类型。从这里回到调用此函数的代码。

验证BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PrivateKey是否实现了接口BitWasp\Bitcoin\Key\PrivateKeyInterface