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

<!--        引用本地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多线程生成波场靓号的更多相关文章

  1. Java随机生成18位身份证号

    package com.ihome.data; import java.text.SimpleDateFormat; import java.util.Calendar; import java.ut ...

  2. Java订单号生成,唯一订单号(日均千万级别不重复)

    Java订单号生成,唯一订单号 相信大家都可以搜索到很多的订单的生成方式,不懂的直接百度.. 1.订单号需要具备以下几个特点. 1.1 全站唯一性. 1.2 最好可读性. 1.3 随机性,不能重复,同 ...

  3. Java多线程之赛跑游戏(含生成exe文件)

    在JavaSE中,多线程是一个重要的内容. 我们要了解多线程的概念,就要先了解进程的概念:要了解进程的概念,就离不开操作系统的概念. 在一台正常运行的电脑中,计算机硬件(如CPU.内存.硬盘.网卡.显 ...

  4. Java多线程面试题整理

    部分一:多线程部分: 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速. ...

  5. 40个Java多线程问题总结

    前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行 ...

  6. Java多线程问题总结

    前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行 ...

  7. Java多线程编程详解

    转自:http://programming.iteye.com/blog/158568 线程的同步 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题.Ja ...

  8. [java] 40个Java多线程问题总结

    40个问题汇总 1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓"知其然知其所以然","会用 ...

  9. (转载)Java多线程的监控分析工具(VisualVM)

    原文链接:http://blog.csdn.net/chendc201/article/details/22905511 在Java多线程程序运行时,多数情况下我们不知道到底发生了什么,只有出了错误的 ...

  10. 互联网校招面试必备——Java多线程

    本文首发于我的个人博客:尾尾部落 本文是我刷了几十篇一线互联网校招java后端开发岗位的面经后总结的多线程相关题目,虽然有点小长,但是面试前看一看,相信能帮你轻松啃下多线程这块大骨头. 什么是进程,什 ...

随机推荐

  1. C# - 自建 SDK 的 API 文档

    在代码中添加 API 文档 用户在使用类库时,通常需要通过 VS 的 Intellisense 或 F12 反编译查看 API 的注释,借助这些注释来了解如何使用 API.在 C# 源文件中,可以通过 ...

  2. fastreport .net打印普通报表

    fastreport .net打印普通报表 前言: .net代码层先不记录在这,后续会单独写一篇博客来记录. 直接在工具上进行功能点的实现 一.效果图 二.功能点 分页 分页小计 金额大写 三.功能点 ...

  3. 鸿蒙HarmonyOS实战-ArkUI事件(焦点事件)

    前言 焦点事件是指程序中的重要事件或关键点.焦点事件通常是程序的核心逻辑和功能,需要引起特殊的关注和处理. 在图形用户界面(GUI)编程中,焦点事件通常与用户交互和界面输入相关.例如,当用户点击按钮. ...

  4. vue路由跳转的三种方式

    目录 1.router-link [实现跳转最简单的方法] 2.this.$router.push({ path:'/user'}) 3.this.$router.replace{path:'/' } ...

  5. github无法push?看这篇文章就够了

    参考文章: https://mp.weixin.qq.com/s/56Dp3pM0BMyH2GZMGEsmCQ

  6. gin 图片上传到本地或者oss

    路由层 func registerCommonRouter(v1 *gin.RouterGroup) { up := v1.Group("upload") { up.POST(&q ...

  7. geojson介绍和常用转换编辑工具

    GeoJSON是一种基于JSON的地理空间数据交换格式,它定义了几种类型JSON对象以及它们组合在一起的方法,以表示有关地理要素.属性和它们的空间范围的数据. 2015年,互联网工程任务组(IETF) ...

  8. createRange表示文档中的一个范围——用于js判断文字添加省略号情况

    document.createRange() 是 JavaScript 中的一个方法,用于创建一个 Range 对象,表示文档中的一个范围.Range 对象通常用于选择文档中的一部分内容,然后对其进行 ...

  9. VSCode:Mac(M1)配置VSCode中C/C++环境(只需三步)

    只需三步. 1. 下载CodeLLDB插件: 2. 配置tasks.json { "version": "2.0.0", "tasks": ...

  10. Stenciljs 学习之搭建项目

    框架介绍 stenciljs 是用于构建可重用.可扩展的设计系统的工具链.生成在每个浏览器中运行的小型.超快且 100% 基于标准的 Web Component. 更对介绍请参考官方网站 创建项目 使 ...