Java多线程生成波场靓号

 玩区块链,手上没靓号怎么行。用网上的靓号生成器有一定的风险性,思来想去决定自己写一个。首先需要导入波场官方编辑

<!--        引用本地Maven仓库-->         <dependency>             <groupId>org.tron.trident</groupId>             <artifactId>utils</artifactId>             <version>0.8.0</version>         </dependency>         <dependency>             <groupId>org.tron.trident</groupId>             <artifactId>abi</artifactId>             <version>0.8.0</version>         </dependency>

 

生成很简单,就几行代码。

 /**      * 生成地址      * @return      */     public static Map<String, String> createAddress() {         KeyPair keyPair = KeyPair.generate();         String privateKey = keyPair.toPrivateKey();         String base58CheckAddress = keyPair.toBase58CheckAddress();         Map<String, String> stringMap = new HashMap<>();         stringMap.put("address", base58CheckAddress);         stringMap.put("privateKey", privateKey);         return stringMap;   启动看了下大概一秒能生成几百个,速度太慢,写多线程来增加速度。  /**      * 新建一个线程生成地址      * @param minLength      */     public static void runGenerate(int minLength ) {         new Thread(()->{             while (true){                 Map<String, String> address = createAddress();                 if ( isPrettyAddress(address.get("address"), minLength) ){                     writeText(address.toString());                     System.out.println("address = " + address);                 }             }         }).start();      }      /**      * start      * @param num      * @param minLength      */     public static void start(int num, int minLength) {         for (int i = 1; i <= num; i++) {             System.out.println("启动第"+i+"个线程");             runGenerate(minLength);         }     }

 

Java多线程生成波场靓号

通过Java启动参数来控制线程数量以及连号规则。

public static void main(String[] args) {         if ( args.length<2 ){             System.out.println("请在运行参数上输入线程数量和连号数,请输入整形并以空格分开。如 1 2");             System.exit(0);         }         int num = Integer.parseInt(args[0]); // 线程数量         int minLength = Integer.parseInt(args[1]); // 读取一行文本         System.out.println("进程数量:"+num+",生成最小连号:"+minLength+"。程序开始运行。");         AddressService.start(num, minLength);     }

Java多线程生成波场靓号

效果图如下:

Java多线程生成波场靓号

Java多线程生成波场靓号

发表评论

评论已关闭。

相关文章

  • 0