caver.rpc.governance

caver.rpc.governancegovernance 네임 스페이스를 가진 JSON-RPC API를 제공합니다.

caver.rpc.governance.vote

caver.rpc.governance.vote(key, value [, callback])

새로 투표합니다. 거버넌스 모드에 의거하여 노드가 의결권을 가지면 투표할 수 있습니다. 그렇지 않으면 오류 메시지가 반환되고 투표 행위가 무시됩니다.

Parameters

caver.rpc.governance.votekeyvalue에 대한 자세한 내용은 governance_vote를 참고해주세요.

Return Value

Promise returns string

Example

> caver.rpc.governance.vote('governance.governancemode', 'ballot').then(console.log)
Your vote was successfully placed.

caver.rpc.governance.showTally

caver.rpc.governance.showTally([callback])

현재 거버넌스 표 합계를 제공합니다. 집계된 찬성률을 백분율로 나타냅니다. 찬성률이 50%인 경우 변경이 통과됩니다.

Parameters

Return Value

Promisearray를 반환합니다.

Example

> caver.rpc.governance.showTally().then(console.log)
[
  {
    Key: 'governance.unitprice',
    Value: 25000000000,
    ApprovalPercentage: 33.33333333333333
  }
]

caver.rpc.governance.getTotalVotingPower

caver.rpc.governance.getTotalVotingPower([callback])

CN이 지닌 의결권의 합을 제공합니다. Each CN has 1.0 ~ 2.0 voting power. "none", "single" 거버넌스 모드에서는 totalVotingPower 속성을 통해 제공하는 정보가 없습니다.

Parameters

Return Value

Promise returns number

Example

> caver.rpc.governance.getTotalVotingPower().then(console.log)
3

caver.rpc.governance.getMyVotingPower

caver.rpc.governance.getMyVotingPower([callback])

노드의 의결권을 반환합니다. 의결권의 값은 1.0 ~ 2.0입니다. "none", "single" 거버넌스 모드에서는 totalVotingPower 속성을 통해 제공하는 정보가 없습니다.

Parameters

Return Value

Promise returns number

Example

> caver.rpc.governance.getMyVotingPower().then(console.log)
1

caver.rpc.governance.getMyVotes

caver.rpc.governance.getMyVotes([callback])

투표 주기 내 투표 정보를 반환합니다. Each vote is stored in a block when the user's node generates a new block. After current epoch ends, this information is cleared.

Parameters

Return Value

Promise returns Array

Example

> caver.rpc.governance.getMyVotes().then(console.log)
[
  {
    Key: 'governance.unitprice',
    Value: 25000000000,
    Casted: true,
    BlockNum: 76899
  }
]

caver.rpc.governance.getChainConfig

caver.rpc.governance.getChainConfig([callback])

최초 체인 환경설정을 제공합니다. 이 속성은 초기 환경설정만 저장하기 때문에 투표에 의해 거버넌스에 변경 사항이 있다면 chainConfig의 결과는 현재 상태와 달라질 것입니다. 현재 정보를 확인하려면 itemsAt을 사용하세요.

Parameters

Return Value

Promiseobject를 반환합니다.

Example

> caver.rpc.governance.getChainConfig().then(console.log)
{
  chainId: 10000,
  istanbul: { epoch: 30, policy: 2, sub: 22 },
  unitPrice: 25000000000,
  deriveShaImpl: 2,
  governance: {
    governingNode: '0xbeafcca672100a88a953fcf5e882cb763f9e3de9',
    governanceMode: 'single',
    reward: {
      mintingAmount: 6400000000000000000,
      ratio: '50/40/10',
      useGiniCoeff: true,
      deferredTxFee: true,
      stakingUpdateInterval: 60,
      proposerUpdateInterval: 30,
      minimumStake: 5000000
    },
    kip71: {
      lowerboundbasefee: 25000000000,
      upperboundbasefee: 750000000000,
      gastarget: 30000000,
      maxblockgasusedforbasefee: 60000000,
      basefeedenominator: 20
    }
  }
}

caver.rpc.governance.getNodeAddress

caver.rpc.governance.getNodeAddress([callback])

사용자의 노드 주소를 제공합니다. It is derived from the nodekey and used to sign consensus messages. 그리고 "governingnode"의 값은 검증자의 노드 중 하나의 주소가 되어야 합니다.

Parameters

Return Value

Promise returns string

Example

> caver.rpc.governance.getNodeAddress().then(console.log)
0xbeafcca672100a88a953fcf5e882cb763f9e3de9

caver.rpc.governance.getItemsAt

caver.rpc.governance.getItemsAt([blockNumberOrTag] [, callback])

특정 블록에서의 거버넌스 항목을 반환합니다. It is the result of previous voting of the block and used as configuration for chain at the given block number.

Parameters

Return Value

Promise returns object

Example

> caver.rpc.governance.getItemsAt().then(console.log)
{
  'governance.governancemode': 'ballot',
  'governance.governingnode': '0xbeafcca672100a88a953fcf5e882cb763f9e3de9',
  'governance.unitprice': 25000000000,
  'istanbul.committeesize': 22,
  'istanbul.epoch': 30,
  'istanbul.policy': 2,
  'kip71.basefeedenominator': 20,
  'kip71.gastarget': 30000000,
  'kip71.lowerboundbasefee': 25000000000,
  'kip71.maxblockgasusedforbasefee': 60000000,
  'kip71.upperboundbasefee': 750000000000,
  'reward.deferredtxfee': true,
  'reward.minimumstake': '5000000',
  'reward.mintingamount': '6400000000000000000',
  'reward.proposerupdateinterval': 30,
  'reward.ratio': '50/40/10',
  'reward.stakingupdateinterval': 60,
  'reward.useginicoeff': true
}

> caver.rpc.governance.getItemsAt('latest').then(console.log)

caver.rpc.governance.getPendingChanges

caver.rpc.governance.getPendingChanges([callback])

pendingChanges은 충분한 표를 받았지만, 아직 확정되지 않은 항목들의 목록을 반환합니다. At the end of the current epoch, these changes will be finalized and the result will be in effect from the epoch after next epoch.

Parameters

Return Value

Promise returns object

Example

> caver.rpc.governance.getPendingChanges().then(console.log)
{ 'governance.governancemode': 'single' }

caver.rpc.governance.getIdxCache

caver.rpc.governance.getIdxCache([callback])

메모리 캐시 내 현재 idxCache 배열을 반환합니다. idxCache contains the block numbers where governance change happened. The cache can have up to 1000 block numbers in memory by default.

Parameters

Return Value

Promise returns object

Example

> caver.rpc.governance.getIdxCache().then(console.log)
[ 0, 60, 321180 ]

caver.rpc.governance.getIdxCacheFromDb

caver.rpc.governance.getIdxCacheFromDb([callback])

거버넌스에 변화가 한번이라도 있었던 블록의 번호를 포함하는 배열을 반환합니다. idxCacheFromDb의 결과의 길이는 idxCache와 같거나 더 깁니다.

Parameters

Return Value

Promise returns object

Example

> caver.rpc.governance.getIdxCacheFromDb().then(console.log)
[ 0, 60, 321180 ]

caver.rpc.governance.getItemCacheFromDb

caver.rpc.governance.getItemCacheFromDb([callback])

특정 블록에 저장된 거버넌스 정보를 반환합니다. 해당 블록에 변경 사항이 저장되어 있지 않다면 함수는 null을 반환합니다.

Parameters

Parameters

Return Value

Promise returns object

Example

> caver.rpc.governance.getItemCacheFromDb(540).then(console.log)
{
  'governance.governancemode': 'single',
  'governance.governingnode': '0xbeafcca672100a88a953fcf5e882cb763f9e3de9',
  'governance.unitprice': 25000000000,
  'istanbul.committeesize': 22,
  'istanbul.epoch': 30,
  'istanbul.policy': 2,
  'kip71.basefeedenominator': 30,
  'kip71.gastarget': 30000000,
  'kip71.lowerboundbasefee': 25000000000,
  'kip71.maxblockgasusedforbasefee': 60000000,
  'kip71.upperboundbasefee': 750000000000,
  'reward.deferredtxfee': true,
  'reward.minimumstake': '5000000',
  'reward.mintingamount': '6400000000000000000',
  'reward.proposerupdateinterval': 30,
  'reward.ratio': '50/40/10',
  'reward.stakingupdateinterval': 60,
  'reward.useginicoeff': true
}

> caver.rpc.governance.getItemCacheFromDb(1).then(console.log)
null

caver.rpc.governance.getVotes

caver.rpc.governance.getVotes([callback])

투표 주기 내 모든 노드의 투표 상태를 반환합니다. These votes are gathered from the header of each block.

Parameters

Return Value

Promise returns object

Example

> caver.rpc.governance.getVotes().then(console.log)
[{
    key: 'reward.minimumstake',
    validator: '0xe733cb4d279da696f30d470f8c04decb54fcb0d2',
    value: '5000000'
}, {
    key: 'reward.useginicoeff',
    validator: '0xa5bccb4d279419abe2d470f8c04dec0789ac2d54',
    value: false
}]

caver.rpc.governance.getStakingInfo

caver.rpc.governance.getStakingInfo([blockNumberOrTag] [, callback])

특정 블록에서의 스테이킹 정보를 반환합니다.

Parameters

Return Value

Promise returns object

Example

> caver.rpc.governance.getStakingInfo().then(console.log)
{
  BlockNum: 321600,
  CouncilNodeAddrs: [],
  CouncilStakingAddrs: [],
  CouncilRewardAddrs: [],
  KIRAddr: '0x0000000000000000000000000000000000000000',
  PoCAddr: '0x0000000000000000000000000000000000000000',
  UseGini: false,
  Gini: -1,
  CouncilStakingAmounts: []
}

Last updated