比特币command java

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26917447/article/details/81295414

1.pom加入依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.31</version>
        </dependency>
    <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.4.5</version>
        </dependency>

        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.2</version>
        </dependency>

2..service类

public class BitCoinService {

    private static final Logger logger = LoggerFactory.getLogger(BitCoinService.class);

    //钱包地址
    private String bitCoinUrl;
    //钱包验证 用户名
    private String userName;
    //钱包验证 用户密码
    private String passwd;

    /**
     * 不带参命令
     * @param command 命令字符串
     * @return
     * @throws Exception
     */
    public String executeCommand(String command) throws Exception {
        String cmd = BitCmdUtil.getCommand(command);
        CloseableHttpClient httpClient = HttpClientServiceUtil.getCloseableClient();
        HttpPost post = HttpPostUtil.getHttpPost(bitCoinUrl, userName + ":" + passwd, cmd);
        CloseableHttpResponse res = httpClient.execute(post);
        logger.info(" getStatusCode is " +res.getStatusLine().getStatusCode());
        if (200 == res.getStatusLine().getStatusCode()) {
            return EntityUtils.toString(res.getEntity(), "utf-8");
        } else {
            logger.error(EntityUtils.toString(res.getEntity(), "utf-8"));
            throw new Exception("访问异常!");
        }
    }

    /**
     *   带参命令
     */
    public String executeCommand(String command, List<Object> params) throws Exception {
        logger.info(" command is " +command);
        String cmd = BitCmdUtil.getCommand(command, params);
        CloseableHttpClient httpClient = HttpClientServiceUtil.getCloseableClient();
        HttpPost post = HttpPostUtil.getHttpPost(bitCoinUrl, userName + ":" + passwd, cmd);
        CloseableHttpResponse res = httpClient.execute(post);
        logger.info(" getStatusCode is " +res.getStatusLine().getStatusCode());
        if (200 == res.getStatusLine().getStatusCode()) {
            return EntityUtils.toString(res.getEntity(), "utf-8");
        } else {
            logger.error(EntityUtils.toString(res.getEntity(), "utf-8"));
            throw new Exception("访问异常!");
        }
    }

    public void setBitCoinUrl(String bitCoinUrl) {
        this.bitCoinUrl = bitCoinUrl;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }

3.Util类

public class BitCmdUtil {

    private static final Logger logger = LoggerFactory.getLogger(BitCmdUtil.class);


    //输入参数
    private static String jsonrpc ="1.0";
    private static String id ="1";
//  private static String method;
    private static List<Object> params;

    /**
     * 获取命令字符窜
     * @param method 命令方法
     * @return
     */
    public static String getCommand(String method) {
        return getCommand( method, params) ;
    }

    /**
     *  获取命令字符窜
     * @param method method 命令方法
     * @param params List参数 
     * @return
     */
    public static String getCommand(String method,List<Object> params) {
        return getCommand( method,params, jsonrpc, id);
    }

    public static String getCommand(String method,List<Object> params,String jsonrpc,String id) {
        JSONObject commandJson = new JSONObject();
        commandJson.put("jsonrpc", jsonrpc);
        commandJson.put("id", id);
        commandJson.put("method", method);
        JSONArray paramsArray = new JSONArray();
        if (null != params && params.size() >0) {
            paramsArray.addAll(params);
        }
        commandJson.put("params", paramsArray);
        logger.info( commandJson.toString() );
        return commandJson.toString();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_26917447/article/details/81295414