Fenguoz / tron-php

Support TRON's TRX and TRC20, which include functions such as address creation, balance query, transaction transfer, query the latest blockchain, query information based on the blockchain, and query information based on the transaction hash
MIT License
194 stars 65 forks source link

你好,有一个技术能不能帮忙咨询一下: CONTRACT_VALIDATE_ERROR 如何来解决 TRC20 #13

Closed HiveProject2021 closed 3 years ago

HiveProject2021 commented 3 years ago

你好,有一个技术能不能帮忙咨询一下: 地址: TV2YNrWetYQmnqaLFoSrjgY2MCprWU4MPG , 查询余额为2USDT

$uri = 'https://api.trongrid.io';// mainnet
// $uri = 'https://api.shasta.trongrid.io';// shasta testnet
$api = new \Tron\Api(new Client(['base_uri' => $uri]));

$config = [
    'contract_address' => 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',// USDT TRC20
    'decimals' => 6,
];
$trc20Wallet = new \Tron\TRC20($api, $config);
$addressData = $trc20Wallet->generateAddress();

$privateKey = "0xf60ba53e0eb89c48ab188ca62a18832ed06bc0157f89b3cfe5d01f9b57dc.....";
$address    = "TV2YNrWetYQmnqaLFoSrjgY2MCprWU4MPG";
$hexAddress = "41d10bcfd682cf0b4ba495b85bb84fa794e4.....";

$To_address     = "TMaY21PY1UxGTT1ehr41N3g8aNsByRqzGJ";
$amount             = 1;
$from       = $trc20Wallet->privateKeyToAddress($privateKey);
$to         = new Address(
    $To_address,
    '',
    $trc20Wallet->tron->address2HexString($To_address)
);
$transferData = $trc20Wallet->transfer($from, $to, $amount);
print_R($transferData);

执行结果为:

{"code":"CONTRACT_VALIDATE_ERROR","txid":"0a0a69d84bbbf92820693f8794b98af9d186b6158a5ccaac193ba9fdd05ab6b8","message":"636f6e74726163742076616c6964617465206572726f72203a206163636f756e7420646f6573206e6f74206578697374"}

能不能给分析一下技术问题出在了哪个地方?

<html>
<body>
<!--StartFragment-->

Array
--
  | (
  | [visible] =>
  | [txID] => ef7a38e73f1728dd5bff26bfbd50ebbc0f672b722953b73c51145bdea48bbe6d
  | [raw_data] => Array
  | (
  | [contract] => Array
  | (
  | [0] => Array
  | (
  | [parameter] => Array
  | (
  | [value] => Array
  | (
  | [data] => a9059cbb0000000000000000000000417f57d0fb73c2014780937014f3abcecef773361000000000000000000000000000000000000000000000000000000000000f4240
  | [owner_address] => 41d10bcfd682cf0b4ba495b85bb84fa794e49a0c8a
  | [contract_address] => 41a614f803b6fd780986a42c78ec9c7f77e6ded13c
  | )
  |  
  | [type_url] => type.googleapis.com/protocol.TriggerSmartContract
  | )
  |  
  | [type] => TriggerSmartContract
  | )
  |  
  | )
  |  
  | [ref_block_bytes] => cb5d
  | [ref_block_hash] => ee4994e9193e9515
  | [expiration] => 1628748222000
  | [fee_limit] => 100000000
  | [timestamp] => 1628748166308
  | )
  |  
  | [raw_data_hex] => 0a02cb5d2208ee4994e9193e951540b09cd6c7b32f5aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541d10bcfd682cf0b4ba495b85bb84fa794e49a0c8a121541a614f803b6fd780986a42c78ec9c7f77e6ded13c2244a9059cbb0000000000000000000000417f57d0fb73c2014780937014f3abcecef773361000000000000000000000000000000000000000000000000000000000000f424070a4e9d2c7b32f900180c2d72f
  | [signature] => Array
  | (
  | [0] => 9052d5a2cbde25192b44f792e69b712194917ab3d508e9d3872eb05eff8a27dacc2acc7ec67bc1a324b3ad58591bb5d0d161a27dc5c39bd6e62d2c1b0936e18e01
  | )
  |  
  | )

<!--EndFragment-->
</body>
</html>
Fenguoz commented 3 years ago

发送地址的带宽是否充足?

HiveProject2021 commented 3 years ago

已经解决,谢谢

Hateem76 commented 2 years ago

$uri = 'https://api.shasta.trongrid.io';// shasta testnet $api = new \Tron\Api(new Client(['base_uri' => $uri])); $config = [ 'contract_address' => 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t', // USDT TRC20 'decimals' => 6, ]; $trc20Wallet = new \Tron\TRC20($api, $config); // dump($trc20Wallet); $fromPrivateKey = '3bb757daacd35687f9a59d02e82b4e068a65054436..........................';// The private key of the sending address $toAddress = 'TQM7QCpVWYDEDygibRgWX1zXFax22bFAXf';// Receiving address $amount = 1;

            $from = $trc20Wallet->privateKeyToAddress($fromPrivateKey);
            // dump($from);
            $to = new Address($toAddress, '', $trc20Wallet->tron->address2HexString($toAddress));
            // dd($to);
            $transferResult = $trc20Wallet->transfer($from, $to, $amount);
            dd($transferResult);

it gives : No contract or Not a valid smart contract Error. Please Help :( @Fenguoz

Hateem76 commented 2 years ago

tell me how many trx should be in the sending address and what should be the bandwidth.

bsc-eth commented 6 months ago

I also encountered this proble。 No contract or not a valid smart contract throw new TransactionException(hex2bin($body['result']['message']));