Skip to content

Binance Chain Staking API

huangsuyu edited this page May 22, 2020 · 1 revision

Release

Tag: https://github.com/binance-chain/go-sdk/releases/tag/bsc_pre_alpha_1.0

Post Staking Transactions with RPC Client

Create SideChain Validator

res, err := c.CreateSideChainValidator(amount, des, commissionMsg, sideChainId, sideConsAddr, sideFeeAddr, rpc.Sync, tx.WithChainID(chainId))

Parameters

  • delegation types.Coin
  • description msg.Description
  • commission types.CommissionMsg
  • sideChainId string, "rialto" for current testnet
  • sideConsAddr []byte
  • sideFeeAddr []byte
  • syncType int, Async= 0, Sync=1, Commit = 2

Return

  • ResultBroadcastTx

Edit SideChain Validator

res, err := c.EditSideChainValidator(types.RialtoNet, des, &rate, sideFeeAddr, rpc.Sync, tx.WithChainID(chainId))

Parameters

  • sideChainId string , "rialto" for current testnet
  • description msg.Description
  • commissionRate ** types.Dec*
  • sideFeeAddr []byte
  • syncType int, Async= 0, Sync=1, Commit = 2

Return

  • ResultBroadcastTx

Delegate BNB

res, err := c.SideChainDelegate(types.RialtoNet, valAddr, amount, rpc.Sync, tx.WithChainID(chainId))

Parameters

  • sideChainId string , "rialto" for current testnet
  • delegation types.Coin
  • syncType int, Async= 0, Sync=1, Commit = 2

Return

  • ResultBroadcastTx

Rdelegate BNB

res, err := c.SideChainRedelegate(types.RialtoNet, srcValAddr, dstValAddr, amount, rpc.Sync, tx.WithChainID(chainId))

Parameters

  • sideChainId string , "rialto" for current testnet
  • valSrcAddr types.ValAddress
  • valDstAddr types.ValAddress
  • amount types.Coin
  • syncType int, Async= 0, Sync=1, Commit = 2

Return

  • ResultBroadcastTx

Unbond BNB

res, err := c.SideChainUnbond(types.RialtoNet, valAddr, amount, rpc.Sync, tx.WithChainID(chainId))

Parameters

  • sideChainId string , "rialto" for current testnet
  • valAddr types.ValAddress
  • amount types.Coin
  • syncType int, Async= 0, Sync=1, Commit = 2

Return

  • ResultBroadcastTx

Query Staking Info from RPC

Query SideChain Validator

res, err := c.QuerySideChainValidator(types.RialtoNet, valAddr)

Parameters

  • sideChainId string , "rialto" for current testnet
  • valAddr types.ValAddress

Return

  • types.Validator

Query SideChain Top Validators

validators, err := c.QuerySideChainTopValidators(types.RialtoNet, 5)

Parameters

  • sideChainId string , "rialto" for current testnet
  • top int

Return

  • []types.Validator

Query SideChain Delegation

res, err := c.QuerySideChainDelegation(types.RialtoNet, delAddr, valAddr)

Parameters

  • sideChainId string , "rialto" for current testnet
  • delAddr types.AccAddress
  • valAddr types.ValAddress

Return

  • *types.DelegationResponse

Query SideChain Delegations

_, err := c.QuerySideChainDelegations(types.RialtoNet, delAddr)

Parameters

  • sideChainId string , "rialto" for current testnet
  • delAddr types.AccAddress

Return

  • []types.DelegationResponse

Query SideChain Redelegation

res, err := c.QuerySideChainRedelegation(types.RialtoNet, delAddr, valSrcAddr, valDstAddr)

Parameters

  • sideChainId string , "rialto" for current testnet
  • delAddr types.AccAddress
  • valSrcAddr types.ValAddress
  • valDstAddr types.ValAddress

Return

  • *types.Redelegation

Query SideChain Redelegations

_, err = c.QuerySideChainRedelegations(types.RialtoNet, delAddr)

Parameters

  • sideChainId string , "rialto" for current testnet
  • delAddr types.AccAddress

Return

  • []types.Redelegation

Query SideChain Unbonding Delegation

res, err := c.QuerySideChainUnbondingDelegation(types.RialtoNet, valAddr, delAddr)

Parameters

  • sideChainId string , "rialto" for current testnet
  • delAddr types.AccAddress
  • valAddr types.ValAddress

Return

  • *types.UnbondingDelegation

Query SideChain Unbonding Delegations

_, err := c.QuerySideChainUnbondingDelegations(types.RialtoNet, delAddr)

Parameters

  • sideChainId string , "rialto" for current testnet
  • delAddr types.AccAddress

Return

  • []types.UnbondingDelegation

Get SideChain UnBonding Delegations By Validator

_, err := c.GetSideChainUnBondingDelegationsByValidator(types.RialtoNet, valAddr)

Parameters

  • sideChainId string , "rialto" for current testnet
  • valAddr types.ValAddress

Return

  • []types.UnbondingDelegation

Get SideChain Redelegations By Validator

_, err := c.GetSideChainRedelegationsByValidator(types.RialtoNet, valAddr)

Parameters

  • sideChainId string , "rialto" for current testnet
  • valAddr types.ValAddress

Return

  • []types.Redelegation

Get SideChain Pool

This function will return the sum of bonded and liquid BNB.

_, err := c.GetSideChainPool(types.RialtoNet)

Parameters

  • sideChainId string , "rialto" for current testnet

Return

  • *types.Pool

Get SideChain Validators Count

_, err := c.GetSideChainAllValidatorsCount(types.RialtoNet, false)

Parameters

  • sideChainId string , "rialto" for current testnet
  • jailInvolved bool, if true, it will return the total validator count(unjailed and jailed); if false, it will return the unjailed validator count.

Return

  • int