|
|
@@ -1031,11 +1031,14 @@ class Pay extends Api
|
|
|
}
|
|
|
public function test()
|
|
|
{
|
|
|
- $site = config('site');
|
|
|
- var_dump($site['gxz']['普通会员']);
|
|
|
- var_dump($site['gxz']['初级合伙人']);
|
|
|
- var_dump($site['gxz']['高级合伙人']);
|
|
|
- var_dump($site['gxz']['董事']);
|
|
|
+ $base58_addr = "TFRpdAs4SP1uoWcq8Kkx4769QQnJJGyPUX";
|
|
|
+ $hex =self::base58ToHex($base58_addr);
|
|
|
+ var_dump($hex);
|
|
|
+// $site = config('site');
|
|
|
+// var_dump($site['gxz']['普通会员']);
|
|
|
+// var_dump($site['gxz']['初级合伙人']);
|
|
|
+// var_dump($site['gxz']['高级合伙人']);
|
|
|
+// var_dump($site['gxz']['董事']);
|
|
|
die();
|
|
|
|
|
|
$service = Web3Service::instance('bsc', 'usdt', '');
|
|
|
@@ -1113,5 +1116,44 @@ class Pay extends Api
|
|
|
// }
|
|
|
// var_dump($info);die();
|
|
|
}
|
|
|
+ function base58ToHex($base58) {
|
|
|
+ // TRON 专用 Base58 字符集
|
|
|
+ $alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
|
+
|
|
|
+ // 1. 将 Base58 转换为十进制大数
|
|
|
+ $num = '0';
|
|
|
+ for ($i = 0; $i < strlen($base58); $i++) {
|
|
|
+ $char = $base58[$i];
|
|
|
+ $pos = strpos($alphabet, $char);
|
|
|
+ if ($pos === false) {
|
|
|
+ throw new Exception("无效的 Base58 字符: $char");
|
|
|
+ }
|
|
|
+ $num = bcmul($num, '58');
|
|
|
+ $num = bcadd($num, (string)$pos);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2. 将十进制大数转换为十六进制
|
|
|
+ $hex = '';
|
|
|
+ while ($num !== '0') {
|
|
|
+ $remainder = bcmod($num, '16');
|
|
|
+ $hex = dechex((int)$remainder) . $hex;
|
|
|
+ $num = bcdiv($num, '16', 0);
|
|
|
+ }
|
|
|
|
|
|
+ // 3. 添加前导零(每个前导'1'对应一个00)
|
|
|
+ $leadingZeros = '';
|
|
|
+ for ($i = 0; $i < strlen($base58) && $base58[$i] === '1'; $i++) {
|
|
|
+ $leadingZeros .= '00';
|
|
|
+ }
|
|
|
+
|
|
|
+ // 4. 组合并确保长度为50字符(25字节)
|
|
|
+ $hex = $leadingZeros . $hex;
|
|
|
+ $hex = str_pad($hex, 50, '0', STR_PAD_LEFT);
|
|
|
+
|
|
|
+ // 5. 提取地址部分并添加 TRON 前缀
|
|
|
+ // 跳过版本字节(0x41)和校验码(最后4字节)
|
|
|
+ $addressPart = substr($hex, 2, 40); // 取20字节地址
|
|
|
+
|
|
|
+ return '0x41' . $addressPart; // TRON 地址以0x41开头
|
|
|
+ }
|
|
|
}
|