0

如何在solidity中使用TRON地址。我无法通过 TRON 地址使用已部署的智能合约。怎么可能。请帮忙。

// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 <0.8.0;

abstract contract TRC20 {
    function decimals() public virtual returns (uint8);
}

contract Matrix {

    function greet() public payable returns (uint8) {
        TRC20 t = TRC20(TKssrn5v8ephdmJbh7UYaUeoR4L1d4ZXds);
        return t.decimals();
    }
}
4

1 回答 1

1

TKssrn5v8ephdmJbh7UYaUeoR4L1d4ZXds 地址为 base58 格式,您需要将其转换为十六进制格式。

使用您的示例,您可以更改 greet 函数以获取地址参数。

    function greet(address _address) public payable returns (uint8) {
        TRC20 t = TRC20(_address);
        ...

然后,您可以使用 tronWeb 的 to hex 函数将地址从 base58 格式转换为 hex 格式。 tronweb.address.toHex('TKssrn5v8ephdmJbh7UYaUeoR4L1d4ZXds')

于 2021-01-31T13:45:19.330 回答