caver.rpc.governance
는 governance
네임 스페이스를 가진 JSON-RPC API를 제공합니다.
caver.rpc.governance.vote
Copy caver . rpc . governance .vote (key , value [ , callback])
새로 투표합니다. 거버넌스 모드에 의거하여 노드가 의결권을 가지면 투표할 수 있습니다. 그렇지 않으면 오류 메시지가 반환되고 투표 행위가 무시됩니다.
Parameters
caver.rpc.governance.vote
의 key
나 value
에 대한 자세한 내용은 governance_vote 를 참고해주세요.
Return Value
Promise
returns string
Example
Copy > caver . rpc . governance .vote ( 'governance.governancemode' , 'ballot' ) .then ( console .log)
Your vote was successfully placed.
caver.rpc.governance.showTally
Copy caver . rpc . governance .showTally ([callback])
현재 거버넌스 표 합계를 제공합니다. 집계된 찬성률을 백분율로 나타냅니다. 찬성률이 50%인 경우 변경이 통과됩니다.
Parameters
Return Value
Promise
는 array
를 반환합니다.
Example
Copy > caver . rpc . governance .showTally () .then ( console .log)
[
{
Key : 'governance.unitprice' ,
Value : 25000000000 ,
ApprovalPercentage : 33.33333333333333
}
]
caver.rpc.governance.getTotalVotingPower
Copy 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
Copy > caver . rpc . governance .getTotalVotingPower () .then ( console .log)
3
caver.rpc.governance.getMyVotingPower
Copy caver . rpc . governance .getMyVotingPower ([callback])
노드의 의결권을 반환합니다. 의결권의 값은 1.0 ~ 2.0입니다. "none", "single" 거버넌스 모드에서는 totalVotingPower 속성을 통해 제공하는 정보가 없습니다.
Parameters
Return Value
Promise
returns number
Example
Copy > caver . rpc . governance .getMyVotingPower () .then ( console .log)
1
caver.rpc.governance.getMyVotes
Copy 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
Copy > caver . rpc . governance .getMyVotes () .then ( console .log)
[
{
Key : 'governance.unitprice' ,
Value : 25000000000 ,
Casted : true ,
BlockNum : 76899
}
]
caver.rpc.governance.getChainConfig
Copy caver . rpc . governance .getChainConfig ([callback])
최초 체인 환경설정을 제공합니다. 이 속성은 초기 환경설정만 저장하기 때문에 투표에 의해 거버넌스에 변경 사항이 있다면 chainConfig의 결과는 현재 상태와 달라질 것입니다. 현재 정보를 확인하려면 itemsAt을 사용하세요.
Parameters
Return Value
Promise
는 object
를 반환합니다.
Example
Copy > 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
Copy 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
Copy > caver . rpc . governance .getNodeAddress () .then ( console .log)
0xbeafcca672100a88a953fcf5e882cb763f9e3de9
caver.rpc.governance.getItemsAt
Copy 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
Copy > 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
Copy 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
Copy > caver . rpc . governance .getPendingChanges () .then ( console .log)
{ 'governance.governancemode' : 'single' }
caver.rpc.governance.getIdxCache
Copy 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
Copy > caver . rpc . governance .getIdxCache () .then ( console .log)
[ 0 , 60 , 321180 ]
caver.rpc.governance.getIdxCacheFromDb
Copy caver . rpc . governance .getIdxCacheFromDb ([callback])
거버넌스에 변화가 한번이라도 있었던 블록의 번호를 포함하는 배열을 반환합니다. idxCacheFromDb의 결과의 길이는 idxCache 와 같거나 더 깁니다.
Parameters
Return Value
Promise
returns object
Example
Copy > caver . rpc . governance .getIdxCacheFromDb () .then ( console .log)
[ 0 , 60 , 321180 ]
caver.rpc.governance.getItemCacheFromDb
Copy caver . rpc . governance .getItemCacheFromDb ([callback])
특정 블록에 저장된 거버넌스 정보를 반환합니다. 해당 블록에 변경 사항이 저장되어 있지 않다면 함수는 null을 반환합니다.
Parameters
Parameters
Return Value
Promise
returns object
Example
Copy > 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
Copy caver . rpc . governance .getVotes ([callback])
투표 주기 내 모든 노드의 투표 상태를 반환합니다. These votes are gathered from the header of each block.
Parameters
Return Value
Promise
returns object
Example
Copy > 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
Copy caver . rpc . governance .getStakingInfo ([blockNumberOrTag] [ , callback])
특정 블록에서의 스테이킹 정보를 반환합니다.
Parameters
Return Value
Promise
returns object
Example
Copy > caver . rpc . governance .getStakingInfo () .then ( console .log)
{
BlockNum : 321600 ,
CouncilNodeAddrs : [] ,
CouncilStakingAddrs : [] ,
CouncilRewardAddrs : [] ,
KIRAddr : '0x0000000000000000000000000000000000000000' ,
PoCAddr : '0x0000000000000000000000000000000000000000' ,
UseGini : false ,
Gini : - 1 ,
CouncilStakingAmounts : []
}