我正在使用 TronGrid API 签署/广播我的交易,遵循此处的文档:https ://developers.tron.network/docs/api-sign-flow
但是,当我尝试使用 API:https://api.trongrid.io/wallet/gettransactionsignAPI 签署我的交易时,我得到 404 Not Found。
即使使用他们的 API 资源管理器“试用”功能,我仍然得到 404:
有谁知道这是为什么?
我正在使用 TronGrid API 签署/广播我的交易,遵循此处的文档:https ://developers.tron.network/docs/api-sign-flow
但是,当我尝试使用 API:https://api.trongrid.io/wallet/gettransactionsignAPI 签署我的交易时,我得到 404 Not Found。
即使使用他们的 API 资源管理器“试用”功能,我仍然得到 404:
有谁知道这是为什么?
出于安全原因,该方法在 api.trongrid.io 下已弃用,请在本地节点上使用 wallet/gettransactionsign,或以编程方式签署交易:
对于 PHP,例如:
首先:$transaction -> "/wallet/createtransaction"
然后:
$signature = Support\Secp::sign($transaction['txID'], $this->privateKey);
public static function sign(string $message, string $privateKey): string
{
$secp = new Secp256k1();
/** @var Signature $sign */
$sign = $secp->sign($message, $privateKey, ['canonical' => false]);
return $sign->toHex() . bin2hex(implode('', array_map('chr', [$sign->getRecoveryParam()])));
}
最后:$result -> "/wallet/broadcasttransaction"
我找到了根本原因。问题在于他们的 API 文档。他们的中文版本完美地解释了它,但我认为他们在用英文翻译时遇到了一些麻烦。
本质上,此 API 已被弃用,因为它不安全。要使用此 API,您必须自己运行一个完整节点,然后在完整节点服务器上调用此 API。