问题描述
我正在使用TRON api并尝试使用PHP curl方法发送事务。我可以在TRON Developer沙箱中成功发送事务,但是在我的服务器上执行时却出错。
收到错误消息-
status_code: 200
{"result": {"code": "CONTRACT_VALIDATE_ERROR","message": "313a39343a20494e56414c49442068657820537472696e67"}}
我的PHP Curl请求-
$ch = curl_init();
$headers = [
'Content-Type: application/json'
];
$postData = [
'privateKey' => 'MY Private Key','toAddress' => 'To Address','amount' => '100000'
];
curl_setopt($ch,CURLOPT_URL,"https://api.trongrid.io/wallet/easytransferbyprivate");
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,CURLOPT_POSTFIELDS,json_encode($postData));
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
$result = curl_exec ($ch);
$statusCode = curl_getinfo($ch,CURLINFO_HTTP_CODE);
echo $statusCode;
print_r($result);
以下是使用--
到TRON沙箱即时消息的链接https://developers.tron.network/reference#east-transfer-by-private-key
沙箱中的成功代码为200,所以不确定为什么我会收到该消息,也不确定如何查找返回的错误消息,知道我在做什么错了吗?
这是TRON发出的示例发帖请求-
curl -X POST https://api.trongrid.io/wallet/easytransferbyprivate -d '{"privateKey": "D95611A9AF2A2A45359106222ED1AFED48853D9A44DEFF8DC7913F5CBA727366","toAddress":"4112E621D5577311998708F4D7B9F71F86DAE138B5","amount":10000}'
解决方法
我发现了,我准备的数据有误。.
代替创建数组-
$postData = [
'privateKey' => 'MY Private Key','toAddress' => 'To Address','amount' => '100000'
];
我需要处理文字字符串而不是对其进行编码。
$postData = '{"privateKey": "xxx","toAddress..etc
就像在沙箱中给出的示例一样。