使用PHP curl和TRON API发送事务时遇到问题

问题描述

我正在使用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

就像在沙箱中给出的示例一样。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...