Browse Source

feat(blockchain): 添加区块链相关功能和测试命令

- 新增 Test 命令类,实现 TRON 和 BSC/ETH网络的区块链操作示例- 添加 get_token_info 和 do_request 辅助函数,用于获取代币信息和发起 CURL 请求
- 在 command.php 中注册 Test命令
- 新增 .idea 目录下的 IDE 配置文件,优化开发环境
kirin 6 months ago
parent
commit
0141a68faf
2 changed files with 7 additions and 13 deletions
  1. 7 8
      extend/blockchain/TronService.php
  2. 0 5
      vendor/fenguoz/tron-php/src/TRC20.php

+ 7 - 8
extend/blockchain/TronService.php

@@ -86,21 +86,20 @@ class TronService
 
     /**
      * 余额
-     * @param Address $address
+     * @param string $address
      * @return float
      */
-    public function tokenBalance(Address $address): float
+    public function tokenBalance(string $address): float
     {
         if (!self::$trxWallet) {
             return 0;
         }
-//        try {
-            $balance = self::$trxWallet->balance($address);
+        try {
+            $balance = self::$trxWallet->balance(new Address($address));
             return (float)$balance;
-//        } catch (\Exception $e) {
-//            var_dump($e->getMessage());die();
-//            return 0;
-//        }
+        } catch (\Exception $e) {
+            return 0;
+        }
     }
 
 

+ 0 - 5
vendor/fenguoz/tron-php/src/TRC20.php

@@ -28,13 +28,8 @@ class TRC20 extends TRX
     public function balance(Address $address)
     {
         $format = Formatter::toAddressFormat($address->hexAddress);
-
-        var_dump($this->contractAddress->hexAddress);
-        var_dump($format);
-        var_dump($address->hexAddress);
         $body = $this->_api->post('/wallet/triggersmartcontract', [
             'contract_address' => $this->contractAddress->hexAddress,
-//            'contract_address' => $address->hexAddress,
             'function_selector' => 'balanceOf(address)',
             'parameter' => $format,
             'owner_address' => $address->hexAddress,