Java实现Tron(波场)区块链的开发实践(三)波场链水龙头、WEB3测试实战

上一节我们具体讲到Java实现Tron波场链的逻辑代码实现。

这一节我们通过部署和开发好的代码,针对测试链进行自测开发,准备测试环境。

  1. 创建离线地址

首先我们需要一个离线地址,我们不需要在线进行创建,直接可以通过第一节的离线创建地址代码运行获取,为了更好的测试,我们直接生成两个地址。

java 复制代码
/**
     * 创建地址(离线)
     */
    @Override
    public Map<String, String> createAddress() {
        KeyPair keyPair = KeyPair.generate();
        String privateKey = keyPair.toPrivateKey();
        String base58CheckAddress = keyPair.toBase58CheckAddress();
        String publicKey = keyPair.toPublicKey();
        Map<String, String> stringMap = new HashMap<>();
        stringMap.put("address", base58CheckAddress);
        stringMap.put("privateKey", privateKey);
        stringMap.put("publicKey", publicKey);
        return stringMap;
    }

运行结果会得到地址、私钥、公钥信息;私钥,请妥善保管。

  1. 安装区块链插件*(🪜)*

获取链接:插件地址

TronLink为浏览器插件,插件安装成功后,通过私钥导入地址。

  1. 波场链水龙头(🪜)

获取链接:水龙头地址

4.测试转账

java 复制代码
public static void main(String[] args) {
        String fromAddress = "TKbScJKL2Gjfzxva1UsgxDDestS2oGmNLZ";
        String toAddress = "TNfopqucyZitZVFXT8VT2Ty857UPXVHxxe";
        String hexPrivateKey = "123*********123";
        String contractAddress = "TXLAQ63Xg1NAzckPwKHvzw7CSEmLMEqcdj";
        ApiWrapper client = new ApiWrapper("grpc.nile.trongrid.io:50051", "grpc.nile.trongrid.io:50061", hexPrivateKey);
        Contract contract = client.getContract(contractAddress);
        Trc20Contract token = new Trc20Contract(contract, fromAddress, client);
        String transfer = null;
        // 获取转账账户的TRC20余额
        BigInteger trc20Value = token.balanceOf(fromAddress);
        // 获取想要转账的数额
        BigInteger sunAmountValue = Convert.toSun("2.01", Convert.Unit.TRX).toBigInteger();
        // 进行比较
        if (trc20Value.compareTo(sunAmountValue) >= 0) {
            log.info("开始转账.........");
            // 设置最大矿工费用
            long feeLimit = Convert.toSun("100", Convert.Unit.TRX).longValue();
            //转账
            transfer = token.transfer(toAddress, sunAmountValue.longValue(), 0, "转账", feeLimit);
        }
        log.info("交易ID:{}", transfer);
    }
相关推荐
fengxin_rou19 分钟前
深入理解Java类加载机制:从原理到实战详解
java·开发语言
糖果店的幽灵20 分钟前
Spring AI 从入门到精通-Prompt 工程
java·spring·prompt
小江的记录本23 分钟前
【Spring全家桶】Spring Cloud 2023.0.x:配置中心:Nacos Config、Apollo(附《思维导图》+《面试高频考点清单》)
java·spring boot·后端·python·spring·spring cloud·面试
weixin_4083180424 分钟前
2026年医疗直播行业趋势报告:技术方向、监管变化与市场格局
java·大数据·人工智能
linge_sun25 分钟前
SpringAI 五步提示词大法:构建高效 AI 提示词
java·人工智能·ai编程
huipeng92630 分钟前
企业级微服务开发实战(三):公共模块设计与统一规范封装
java·spring boot·spring cloud·微服务·架构·系统架构·php
我登哥MVP35 分钟前
Spring Boot 从“会用”到“精通”:参数绑定体系全景
java·spring boot·spring·servlet·maven·intellij-idea·mybatis
C137的本贾尼38 分钟前
JDBC 编程:用 Java 连接 MySQL
java·开发语言·mysql
华大哥44 分钟前
spring boot 和php 调用 LibreOffice 转换 Excel 到 PDF 完整实现
java·pdf·excel
微风欲寻竹影1 小时前
Java数据结构——二叉树相关OJ题目详解
java·数据结构