# 钱包rpc接口封装 **Repository Path**: lkl1521/rpctest ## Basic Information - **Project Name**: 钱包rpc接口封装 - **Description**: 由于频繁用到rpcapi,考来考去,改来改去,很烦,尝试对rpcapi进行一个封装 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2018-06-30 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 钱包rpc接口封装 目前是针对eth、btc系列的币的rpc封装 ## BaseApi类 该类是封装了钱包的一些基础信息: BaseRpcSend netRPCDefine:rpc调用方式 后面介绍 BigDecimal WEI:精度,或者可以理解是一个单位换算的最小单位,比如说 1个eth 是 10^18 wei, 其中wei是eth的最小单位,eth是eth的最大单位 BigDecimal gas:预设旷工费的参数之一,他可以理解成是次数 BigDecimal gasPrice:预设旷工费的参数之一,他可以理解成是每次所需的旷工费。根据gas和gasPrice两个参数可以预估出最高的旷工费那就是gas*gasPrice,要决定最高旷工费前提是转账的这两个参数都是自己设定 String tokenAddress:这是代币的参数之一;是非必须参数,但是如果要对接代币,这个参数是必须的。他是代币的合约地址 String transMethodId:这是代币的参数之一;是非必须参数,对接代币是必须的。他代表的是转账的方法id String balanceMethodId:这是代币的参数之一;是非必须参数,对接代币是必须的,他是查询余额的方法id 构造方法:需要传一个rpc请求方式类:BaseRpcSend,然后会调用一个初始参数方法initParam,子类进行相关参数的设置 ## BaseRpcSend类 该类是rpc请求需要的参数进行的一个封装,其中封装的参数是: String nodeRPCIP:该参数是钱包服务器的ip地址 String nodeRPCPort:该参数是钱包服务器的端口 String nodeRPCUser:该参数是rpc请求的用户名 String nodeRPCPassword:该参数是rpc请求的密码 提供了一个构造方法,通过该方法初始化这些参数 ## BitMethodDefine接口 是比特币系列rpc方法的提取,也就是包括了btc系列共有的方法 getHeight 获取高度,返回十进制的高度数据 sendTransaction 转账方法,单独发给某个地址,参数是转入地址和十六进制金额,返回rpc的流水hash getBalance 获取余额的方法,如传参数就是获取地址的余额,不传就是获取节点的余额,返回十六进制的金额数据 newAddress 根据某个标识创建一个钱包地址。 getTransactionByHash 这是根据流水hash获取该hash的流水信息 openWallet 打开钱包,这操作需要谨慎。 responseBody 关闭钱包 getBlock 根据区块hash获取区块信息 getBlockHash 根据区块高度获取区块hash listTransaction 获取某个标识的流水,分页。name是某个标识,若为“*“号表示获取所有的,count是获取多少条,from是从第几条开始 ## EthMethodDefine接口 该接口是对eth系列的rpc共有方法的提取 getHeight 方法是获取区块高度,返回十六进制数据 sendTransaction 转账方法from是从哪个地址转出,to是那个地址接收,value是十六进制金额,password是转出地址的密码 getTransactionList 获取区块高度获取区块的所有流水 getBalance 获取钱包地址的余额,返回十六进制数据 newAddress 根据密码创建一个钱包地址 getTransactionByHash 根据流水hash获取流水 getGasAndGasPrice 获取预估旷工费,参数和转账参数一致(注意! 如果没有设置gas和gasPrice这里返回的仅仅是预估的旷工费,如果gas和gasPrice都设置了返回的是最高的旷工费)