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);
    }
点击并拖拽以移动

效果图如下:

相关推荐
The_Ticker11 小时前
日股实时行情接口使用指南
java·经验分享·笔记·python·算法·区块链
三秋树11 小时前
从 Solv Protocol 273 万美元被黑事件,深入理解 Solidity 自重入攻击 —— ERC-3525 标准中的暗坑
区块链
MicroTech202511 小时前
微算法科技(NASDAQ: MLGO)探索量子隐形传态区块链隐私保护签名技术,增强Web 3.0元宇宙环境的效率、安全性和真实性
科技·区块链
草原猫11 小时前
公链开发:从技术筑基到生态共生,重构数字信任基础设施
重构·区块链
小白的代码日记11 小时前
区块链分叉检测与回扫系统(Go语言)
人工智能·golang·区块链
Blockchina12 小时前
Web3项目开发全流程详解:从0到1搭建DApp架构(实战版)
架构·web3·区块链·perp dex
Blockchina1 天前
Web3金融革命:PerpDEX的深度解析
金融·web3·区块链·perp dex·永续去中心化交易所
Joy T2 天前
【Web3】Solidity收款合约初探与去中心化预言机(Chainlink)机制解析
web3·去中心化·区块链·预言机·chainlink·don·datafeed
fuzamei8882 天前
【市场观察】黄金、白银等金属回归“真实资产”,区块链价值的时代也在路上
区块链
CryptoPP2 天前
开发者指南:构建实时期货黄金数据监控系统
大数据·数据结构·笔记·金融·区块链