使用Java对易点国际交易所钱包客户端进行操作(二)

我们在上一篇文章中将前期工作准备完成,现在就开始编码对客户端进行一些简单的操作。
今天我们就来实现生成钱包地址判断钱包地址是否正确两个功能。

下面就开始一一进行编码操作。

生成钱包地址

    /*
     * 根据用户ID,生成交易地址
     * @throws Exception 
     * {"result":"1MySAsi6bzPLY3HbCcrDd7qgiG7CYnQn3k","error":null,"id":1}
     * 若获取失败,result为空,error信息为错误信息的编码
      /
    public JSONObject getNewaddress(int userId) throws Exception {
        String s = main("getnewaddress", "[""+userId+""]");
        JSONObject json = JSONObject.fromObject(s); 
        return json;
    }

userId:自行生成,对应钱包客户端中发送里拉令牌标签字段。推荐生成方式:获取当前时间戳截取后9位数

测试

public static void main(String args[]) throws Exception{
        BTCMessage message = new BTCMessage();
        message.setIP("192.168.0.250");
        message.setPORT("18083");
        message.setACCESS_KEY("admin");
        message.setSECRET_KEY("12345678");
        BTCUtils utils = new BTCUtils(message);
        //生成userId
        long date = System.currentTimeMillis();
        String string = String.valueOf(date);
        String sub = string.substring(4, 13);
        int userId = Integer.parseInt(sub);
        JSONObject objects = utils.getNewaddress(userId);
        System.out.println(objects);
    }

成功示例:{"result":"LUE23epVqGUexyVstL6xoKc7jemRQe2yLY","error":null,"id":1}
失败示例:{"result":null,"error":500,"id":1}

判断钱包地址是否正确

    public boolean validateaddress(String address) throws Exception {
        boolean result = false;
        JSONObject s = isValidateaddress(address);
        if(s.containsKey("result")){
            String xx =JSONObject.fromObject(s.get("result")).getString("isvalid");
            if(xx.equals("true")){
                result = true;
            }
        }
        return result;
    }
    public JSONObject isValidateaddress(String address) throws Exception {
        String s = main("validateaddress", "[""+address+""]");
        JSONObject json = JSONObject.fromObject(s);
        return json;
    }

address:钱包地址

测试

public static void main(String args[]) throws Exception{
        BTCMessage message = new BTCMessage();
        message.setIP("192.168.0.250");
        message.setPORT("18083");
        message.setACCESS_KEY("admin");
        message.setSECRET_KEY("12345678");
        BTCUtils utils = new BTCUtils(message);
        boolean objects = utils.validateaddress("LT7kHNPa1dooLh9SFQE1imHSUjojMnTc5F");
        System.out.println(objects);
    }

成功示例:true
失败示例:false

总结

在测试代码中,有以下几句代码:

BTCMessage message = new BTCMessage();
message.setIP("192.168.0.250");
message.setPORT("18083");
message.setACCESS_KEY("admin");
message.setSECRET_KEY("12345678");
BTCUtils utils = new BTCUtils(message);

这段代码就是设置客户端的配置信息:
message.setIP:LMToken.conf中的rpcallowip
message.setPORT:LMToken.conf中的rpcport
message.setACCESS_KEY:LMToken.conf中的rpcuser
message.setSECRET_KEY:LMToken.conf中的rpcpassword

TODO:

客户端配置信息详细介绍

Last modification:January 24th, 2019 at 12:20 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment