Java实现Tron(波场)区块链的开发实践(三)波场链水龙头、WEB3测试实战
上一节我们具体讲到Java实现Tron波场链的逻辑代码实现。
这一节我们通过部署和开发好的代码,针对测试链进行自测开发,准备测试环境。
1. 创建离线地址
首先我们需要一个离线地址,我们不需要在线进行创建,直接可以通过第一节的离线创建地址代码运行获取,为了更好的测试,我们直接生成两个地址。
/** * 创建地址(离线) */ @Override public Map createAddress() { KeyPair keyPair = KeyPair.generate(); String privateKey = keyPair.toPrivateKey(); String base58CheckAddress = keyPair.toBase58CheckAddress(); String publicKey = keyPair.toPublicKey(); Map stringMap = new HashMap(); stringMap.put("address", base58CheckAddress); stringMap.put("privateKey", privateKey); stringMap.put("publicKey", publicKey); return stringMap; }
运行结果会得到地址、私钥、公钥信息;私钥,请妥善保管。
2. 安装区块链插件(🪜)
获取链接:插件地址
TronLink为浏览器插件,插件安装成功后,通过私钥导入地址。
3. 波场链水龙头(🪜)
获取链接:水龙头地址
4.测试转账
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); }
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。