Blockchain 如何将TRON地址转换为不同的格式

Blockchain 如何将TRON地址转换为不同的格式,blockchain,tron,Blockchain,Tron,我在TRON网络中部署contract时遇到了一个问题,我需要以4开头的格式指定地址。。或者,当我在此处收到事务历史记录时,api将以4.响应。。地址也一样 因此,我有一个问题: 如何转换TRON地址从TLAXTJU7GKYQOP开始。。。419b6e043089843624c36f1e3b1e8572d189cbe170,反之亦然?您只需从Base58解码Base58地址即可。在结果中,您将获得addresschecksum,所以您应该从结果中删除最后4个字节并获得所需的地址 address

我在TRON网络中部署contract时遇到了一个问题,我需要以4开头的格式指定地址。。或者,当我在此处收到事务历史记录时,api将以4.响应。。地址也一样

因此,我有一个问题:


如何转换TRON地址从TLAXTJU7GKYQOP开始。。。419b6e043089843624c36f1e3b1e8572d189cbe170,反之亦然?

您只需从Base58解码Base58地址即可。在结果中,您将获得addresschecksum,所以您应该从结果中删除最后4个字节并获得所需的地址

address = 41||sha3[12,32): 415a523b449890854c8fc460ab602df9f31fe4293f 
sha256_0 = sha256(address): 06672d677b33045c16d53dbfb1abda1902125cb3a7519dc2a6c202e3d38d3322 
sha256_1 = sha256(sha256_0): 9b07d5619882ac91dbe59910499b6948eb3019fafc4f5d05d9ed589bb932a1b4 
checkSum = sha256_1[0, 4): 9b07d561 
addchecksum = address || checkSum: 415a523b449890854c8fc460ab602df9f31fe4293f9b07d561 
base58Address = Base58(addchecksum): TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW
const TronWeb = require('tronweb');
const tronWeb = new TronWeb(
  'http://127.0.0.1:9090',
  'http://127.0.0.1:9090',
  'http://127.0.0.1:9090',
  'd6fbbf6eecffdb32172e391363a401f89617acb9dd01897b9fa180830a8a46b2',
);

你只需要从Base58解码你的Base58地址。在结果中,您将获得addresschecksum,所以您应该从结果中删除最后4个字节并获得所需的地址

address = 41||sha3[12,32): 415a523b449890854c8fc460ab602df9f31fe4293f 
sha256_0 = sha256(address): 06672d677b33045c16d53dbfb1abda1902125cb3a7519dc2a6c202e3d38d3322 
sha256_1 = sha256(sha256_0): 9b07d5619882ac91dbe59910499b6948eb3019fafc4f5d05d9ed589bb932a1b4 
checkSum = sha256_1[0, 4): 9b07d561 
addchecksum = address || checkSum: 415a523b449890854c8fc460ab602df9f31fe4293f9b07d561 
base58Address = Base58(addchecksum): TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW

地址格式在中有很好的解释

在Java代码中,基于:


查找Base58类、Sha256Hash类和对Spongy Castle所需的依赖项。

中详细解释了地址格式

在Java代码中,基于:


查找Base58类、Sha256Hash类和对Spongy Castle所需的依赖项。

如何转换从TLAXtqju7GKyqoP开始的TRON地址。。。419b6e043089843624c36f1e3b1e8572d189cbe170,反之亦然

const TronWeb = require('tronweb');
const tronWeb = new TronWeb(
  'http://127.0.0.1:9090',
  'http://127.0.0.1:9090',
  'http://127.0.0.1:9090',
  'd6fbbf6eecffdb32172e391363a401f89617acb9dd01897b9fa180830a8a46b2',
);
拥有tronWeb对象后,可以使用tronWeb的地址实用程序将地址转换为tronWeb对象,反之亦然


上面的tronWeb对象是使用Tron的Quickstart Docker容器创建的。通过这种方式,地址可以进行转换,反之亦然。

如何转换从TLAXTJU7GKYQOP开始的TRON地址。。。419b6e043089843624c36f1e3b1e8572d189cbe170,反之亦然

const TronWeb = require('tronweb');
const tronWeb = new TronWeb(
  'http://127.0.0.1:9090',
  'http://127.0.0.1:9090',
  'http://127.0.0.1:9090',
  'd6fbbf6eecffdb32172e391363a401f89617acb9dd01897b9fa180830a8a46b2',
);
拥有tronWeb对象后,可以使用tronWeb的地址实用程序将地址转换为tronWeb对象,反之亦然

上面的tronWeb对象是使用Tron的Quickstart Docker容器创建的。通过这种方式,地址可以进行转换,反之亦然。

C示例:

        public static string GetHex(this String str)
        {
            var sb = new StringBuilder();

            var bytes = Base58.Bitcoin.Decode(str); // nuget https://www.nuget.org/packages/SimpleBase/

            for (int i = 0; i < bytes.Length - 4; i++)
            {
                var t = bytes[i];
                sb.Append(t.ToString("X2"));
            }

            return sb.ToString();
        }

C例如:

        public static string GetHex(this String str)
        {
            var sb = new StringBuilder();

            var bytes = Base58.Bitcoin.Decode(str); // nuget https://www.nuget.org/packages/SimpleBase/

            for (int i = 0; i < bytes.Length - 4; i++)
            {
                var t = bytes[i];
                sb.Append(t.ToString("X2"));
            }

            return sb.ToString();
        }