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启动参数来控制线程数量以及连号规则。
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随机生成18位身份证号
package com.ihome.data; import java.text.SimpleDateFormat; import java.util.Calendar; import java.ut ...
- Java订单号生成,唯一订单号(日均千万级别不重复)
Java订单号生成,唯一订单号 相信大家都可以搜索到很多的订单的生成方式,不懂的直接百度.. 1.订单号需要具备以下几个特点. 1.1 全站唯一性. 1.2 最好可读性. 1.3 随机性,不能重复,同 ...
- Java多线程之赛跑游戏(含生成exe文件)
在JavaSE中,多线程是一个重要的内容. 我们要了解多线程的概念,就要先了解进程的概念:要了解进程的概念,就离不开操作系统的概念. 在一台正常运行的电脑中,计算机硬件(如CPU.内存.硬盘.网卡.显 ...
- Java多线程面试题整理
部分一:多线程部分: 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速. ...
- 40个Java多线程问题总结
前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行 ...
- Java多线程问题总结
前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行 ...
- Java多线程编程详解
转自:http://programming.iteye.com/blog/158568 线程的同步 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题.Ja ...
- [java] 40个Java多线程问题总结
40个问题汇总 1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓"知其然知其所以然","会用 ...
- (转载)Java多线程的监控分析工具(VisualVM)
原文链接:http://blog.csdn.net/chendc201/article/details/22905511 在Java多线程程序运行时,多数情况下我们不知道到底发生了什么,只有出了错误的 ...
- 互联网校招面试必备——Java多线程
本文首发于我的个人博客:尾尾部落 本文是我刷了几十篇一线互联网校招java后端开发岗位的面经后总结的多线程相关题目,虽然有点小长,但是面试前看一看,相信能帮你轻松啃下多线程这块大骨头. 什么是进程,什 ...
随机推荐
- 如何将data中字符传的换行正常显示
后端传来的字符串有换行符: 直接输出的效果: 解决方法demo: <p class="" v-html="text"></p> js: ...
- 动态修改manifest.json
点击查看代码 // h5开发环境 const h5Dev = { baseUrl: 'https://devh5.....' } // h5测试环境 const h5Test= { baseUrl: ...
- gpu机器没有开启ipv6
参考: https://blog.csdn.net/asdfaa/article/details/137884414 检查系统是否支持 IPv6,查看被禁用了 在启用 IPv6 之前,首先要确保您的系 ...
- VS Code 代码片段编写教程
VS Code 代码片段编写教程 最近要做一个vs code的代码片段插件,于是搜索和学习相关内容,整理分享给大家! [!TIP] 本篇博客50%+内容由BingChat提供,然后作者对内容进行验证和 ...
- 【题解】A18747.眼红的同学
题目链接:眼红的同学 题干信息很简单,看到数据量之后就不简单了.在数据量小的时候可以使用双层循环暴力的方法来求答案.显然对于这道题而言O(n^2)是完全过不去的. 前置知识: 使用树状数组求逆序对 会 ...
- .eslintrc.js 文件语法规则定义
添加某个全局变量: globals: { 'ActiveXObject': true },
- 这是一个基于threading可停止线程的有限容量有限并行度的python任务管理器
这是一个可停止线程的有限容量有限并行度的任务管理器 基于:GitHub - AlitaIcon/StopableThreadJob: 可停止线程任务管理器 Quick Start 基础调用与效果 im ...
- zabbix第一天 zabbix安装,添加监控项
1. zabbix 介绍 公司规模大,服务器众多,运维人员需要用到zabbix来监控整个服务器的运行状况,避免服务器故障后运维人员无法察觉. 清华zabbix源: https://mirrors.tu ...
- FlexBox 行间距
问题背景 在Flex布局方式下, 父容器约定是换行的方式, 不足以容纳一行子元素的时候, 会单独进行折行, 那么折行的行间距如何处理呢? 解决办法 通过在子Item上面设置margin-top可以模拟 ...
- ABC326
上次说我的写法low的人的AT号在这里!!( 我又来提供 low 算法了. 从 D 开始. T4 我们把 \(\text{A}\) 看成 \(1\),把 \(\text{B}\) 看成 \(2\),把 ...