Staking 请求

YOUCreateValidator

描述:创建验证者

parameter

参数名 类型 描述
name String 验证者的别名
operator String 执行者地址
coinbase String 矿工奖励地址
mainPubKey String 公钥
blsPubKey String BLS 公钥
value String 金额
role BigInteger chancellor(议长) - 1, senator(参议) - 2, house(众议) - 3
nonce BigInteger nonce,防止多重交易

return

参数名 类型 描述
data String 编码后的数据

示例:

// createValidator
YOUCreateValidator youCreateValidator = youChain.youCreateValidator("myValidator", "0x59677fd68ec54e43ad4319d915f81748b5a6ff8b", "0x59677fd68ec54e43ad4319d915f81748b5a6ff8b","0x03485ae0ddd3c95a8f0c6fb159d2083c7ccca86945fd0abc4bb61d54c6360906d5", "0x03485ae0ddd3c95a8f0c6fb159d2083c7ccca86945fd0abc4bb61d54c6360906d5", "0x100", BigInteger.valueOf(1), BigInteger.valueOf(10)).send();
String createValidator = youCreateValidator.getCreateValidatorData();
logger.info("createValidator: " + createValidator);

YOUUpdateValidator

描述:更新验证者信息

parameter

参数名 类型 描述
name String 验证者的别名
mainAddress String 节点共识地址
operator String 执行者地址
coinbase String 矿工奖励地址
nonce BigInteger nonce,防止多重交易

return

参数名 类型 描述
data String 编码后的数据

示例:

// updateValidator
YOUUpdateValidator youUpdateValidator = youChain.youUpdateValidator("myValidator", "0x59677fd68ec54e43ad4319d915f81748b5a6ff8b", "0x59677fd68ec54e43ad4319d915f81748b5a6ff8b","0x59677fd68ec54e43ad4319d915f81748b5a6ff8b", BigInteger.valueOf(11)).send();
String updateValidator = youUpdateValidator.getUpdateValidatorData();
logger.info("updateValidator: " + updateValidator);

YOUDepositValidator

描述:验证者抵押 Token

parameter

参数名 类型 描述
mainAddress String 节点共识地址
value String 抵押金额
nonce BigInteger nonce,防止多重交易

return

参数名 数据类型 备注
data String 编码后的数据

示例:

// depositValidator
YOUDepositValidator youDepositValidator = youChain.youDepositValidator("0x59677fd68ec54e43ad4319d915f81748b5a6ff8b", "0x100", BigInteger.valueOf(100)).send();
String depositValidator = youDepositValidator.getDepositValidatorData();
logger.info("depositValidator: " + depositValidator);

YOUWithdrawValidator

描述:验证者取回 Token

parameter

参数名 类型 描述
mainAddress string mainPubKey 对应的共识地址
recipient String 指定到账地址
value String 提取金额
nonce BigInteger nonce,防止多重交易

return

参数名 数据类型 备注
data String 编码后的数据

示例:

//  withdrawValidator
YOUWithdrawValidator youWithdrawValidator = youChain.youWithdrawValidator("0x59677fd68ec54e43ad4319d915f81748b5a6ff8b", "0x59677fd68ec54e43ad4319d915f81748b5a6ff8b", "0x100", BigInteger.valueOf(100)).send();
String withdrawValidator = youWithdrawValidator.getWithdrawValidatorData();
logger.info("withdrawValidator: " + withdrawValidator);

YOUChangeStatusValidator

描述:修改验证者状态

parameter

参数名 类型 描述
mainAddress String 节点共识地址
status BigInteger 共识状态, 0 - 不参与共识,1 - 参与共识
nonce BigInteger nonce,防止多重交易

return

参数名 数据类型 备注
data String 编码后的数据

示例:

// changeStatusValidator
YOUChangeStatusValidator youChangeStatusValidator = youChain.youChangeStatusValidator("0x59677fd68ec54e43ad4319d915f81748b5a6ff8b", BigInteger.valueOf(1),  BigInteger.valueOf(100)).send();
String changeStatusValidator = youChangeStatusValidator.getChangeStatusValidatorData();
logger.info("changeStatusValidator: " + changeStatusValidator);

YOUSettleValidator

描述:验证者结算

parameter

参数名 类型 描述
mainAddress String 节点共识地址
nonce BigInteger nonce,防止多重交易

return

参数名 数据类型 备注
data String 编码后数据

示例:

// settleValidator
YOUSettleValidator youSettleValidator = youChain.youSettleValidator("0x59677fd68ec54e43ad4319d915f81748b5a6ff8b",  BigInteger.valueOf(100)).send();
String settleValidator = youSettleValidator.getSettleValidatorData();
logger.info("changeStatusValidator: " + changeStatusValidator);

YOUGetWithdrawRecords

描述:获取解押记录列表

parameter

参数名 类型 描述
blockNumber String or BigInteger DefaultBlockParameter.valueOf("0x1") 或 DefaultBlockParameterName.Latest

return

参数名 数据类型 备注
mainAddress string mainPubKey 对应的共识地址
nonce BigInteger nonce,防止多重交易
operatorAddress String 节点管理员
recipient String 接收者地址
creationHeight String 解押发生的块高度
completionTime String 解压委托完成时间
initialBalance String 计划在完成时接收的令牌数量
finalBalance String 最后实际收到的token数量
finished boolean 是否已完成

示例:

 // TODO: getWithdrawsRecords
YOUGetWithdrawRecords youGetWithdrawRecords = youChain.youGetWithdrawRecords(DefaultBlockParameter.valueOf("latest")).send();
List<YOUGetWithdrawRecords.WithdrawRecord> withdrawRecords = youGetWithdrawRecords.getWithdrawRecords();
logger.info("withdrawRecords: " + withdrawRecords.toString() + "\n");

YOUValidators

描述:获取验证者列表

parameter

参数名 类型 描述
role number 验证者角色
page number 返回第几页
pageSize number 每页返回数据多少
blockNumber String or BigInteger 区块高度

return

验证者列表数组,单个验证者结构:

参数名 数据类型 备注
mainAddress string mainPubKey 对应的共识地址
name String 验证者的别名
operatorAddress String 节点管理员
coinbase String 节点收益钱包
token String 抵押额
stake String 抵押stake
status BigInteger 状态
mainPubKey String 公钥
blsPubKey String BLS 公钥
role BigInteger 节点角色
rewardsBase String 基础收益
rewardsTotal String 节点加入后累计获得收益
expelled boolean 是否被罚下线
expelExpired String 被罚下线解锁的区块高度
lastInactive String 上一次怠工的区块高度

示例:

// TODO: youValidators
YOUValidators youValidators = youChain.youValidators(1,0,10,DefaultBlockParameterName.LATEST).send();
String validators = youValidators.getValidators().toString();
logger.info("validators: " + validators + "\n");

YOUValidatorByMainAddress

描述:根据节点共识地址获取验证者

parameter

参数名 类型 描述
blockNumber String 区块高度
mainAddress string mainPubKey 对应的共识地址

return

参数名 数据类型 备注
mainAddress string mainPubKey 对应的共识地址
operatorAddress String 节点管理员
coinbase String 节点收益钱包
token String 抵押额
stake String 抵押stake
status BigInteger 状态
mainPubKey String 公钥
blsPubKey String BLS 公钥
role BigInteger 节点角色
rewardsBase String 基础收益
rewardsTotal String 节点加入后累计获得收益
expelled boolean 是否被罚下线
expelExpired String 被罚下线解锁的区块高度
lastInactive String 上一次怠工的区块高度

示例:

// TODO: youValidatorByMainAddress
YOUValidator youValidator2 = youChain.youValidatorByMainAddress(DefaultBlockParameterName.LATEST, "0x93e8cCBF6383Ce4186d8f1F25a9429Ce6Aecc954").send();
String operatorAddress = youValidator2.getValidator().getOperatorAddress();
logger.info("operatorAddress: " + operatorAddress + "\n");

YOUValidatorsStat

描述:获取验证者统计信息

parameter

参数名 类型 描述
blockNumber String 区块高度

return

参数名 数据类型 备注
onlineToken String 抵押额
onlineStake String 抵押stake
onlineCount BigInteger 验证者数量
offlineStake String 离线抵押 stake
offlineToken String 离线抵押额
offlineCount BigInteger 离线验证者数量
lastSettle BigInteger 最后一次结算的高度
rewardsResidue String 收益剩余
rewardsLevel String 收益等级
rewardsTotal String 节点加入后累计获得收益

示例:

// TODO: youValidatorStats
YOUValidatorsStat youValidatorStat = youChain.youValidatorsStat(DefaultBlockParameterName.LATEST).send();
String offlineStake = youValidatorStat.getValidatorsStat().get("offlineStake").getOfflineStake();
logger.info("offlineStake: " + offlineStake + "\n");

描述:获取验证者奖励信息

YOUChain youChain = YOUChain.build(new HttpService("http://localhost:8283"));

// TODO: youValidatorRewardsInfo
YOUValidatorRewardsInfo youValidatorRewardsInfo = youChain.youValidatorRewardsInfo(DefaultBlockParameterName.LATEST, "0x93e8cCBF6383Ce4186d8f1F25a9429Ce6Aecc954").send();
String settled = youValidatorRewardsInfo.youValidatorRewardsInfo().getSettled();
logger.info("settled: " + settled + "\n");
String pending = youValidatorRewardsInfo.youValidatorRewardsInfo().getPending();
logger.info("pending: " + pending + "\n");