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");