这里是我的代码,用于创建和签名并发送
$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;
}
答案 0 :(得分:0)
很难说这么少的信息到底出了什么问题,但是从错误中可以清楚地知道你传递的内容是$privateKey
是不正确的类型。从这里回到调用此函数的代码。
验证BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Key\PrivateKey
是否实现了接口BitWasp\Bitcoin\Key\PrivateKeyInterface