玩转区块链-java TRC20USDT 转账实践

使用波场进行 转账、查询 java demo

otc、ctc。。。可用

1.转帐usdt

/**
     * 转账
     * @param fromAddress 来源地址
     * @param fromHexPrivateKey 来源密钥
     * @param toAddress 对方地址
     * @param amount 数量
     * @return 区块链交易id
     */
    public static String transferUSDT(String fromAddress, String fromHexPrivateKey, String toAddress, BigInteger amount) {
        ApiWrapper client = getApiWrapper(fromHexPrivateKey);
        Function transfer =
                new Function(
                        "transfer",
                        Arrays.asList(new Address(toAddress), new Uint256(amount)),
                        Arrays.asList(new TypeReference<Bool>() {}));

        TransactionBuilder builder =
                client.triggerCall(fromAddress, TRC20_USDT_CONTRACT_ADDR, transfer);
        builder.setFeeLimit(50000000);

        Chain.Transaction transaction = client.signTransaction(builder.getTransaction());
        String txid = client.broadcastTransaction(transaction);
        client.close();
        return txid;
    }

2.转帐 trx

/**
     * 转账TRX
     * @param fromAddress 来源地址
     * @param fromHexPrivateKey 来源 秘钥
     * @param toAddress 目标地址
     * @param amount 数量
     * @return
     * @throws IllegalException
     */
    public static String transferTRX( String fromAddress, String fromHexPrivateKey, String toAddress, long amount)
            throws IllegalException {
        ApiWrapper client = getApiWrapper(fromHexPrivateKey);
        Response.TransactionExtention transactionExtention =
                client.transfer(fromAddress, toAddress, amount);
        Chain.Transaction transaction = client.signTransaction(transactionExtention);
        String txid = client.broadcastTransaction(transaction);
        client.close();
        return txid;
    }

3.查询交易状态

/**
   * 查询交易状态
   *
   * @param txid
   * @return
   * @throws IllegalException
   */
  public String getTransactionStatusById(String txid) throws IllegalException {
    ApiWrapper client = getApiWrapper(tronServiceConfig.getHexPrivateKey());
    Chain.Transaction getTransaction = client.getTransactionById(txid);
    return getTransaction.getRet(0).getContractRet().name();
  }
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值