账户
备注
本页面是为了提供有关 CORE SPACE ACCOUNTS 的信息。 请参阅 General-Accounts 以获取账户概念的整体介绍。
账户地址
账户由其地址来标识。 欲了解更多信息,请参阅 地址
账户状态
查询
账户状态可以使用 cfx_getAccount` RPC 查询。
// Request
curl --data '{"jsonrpc":"2.0","method":"cfx_getAccount","params":["cfx:type.contract:acc7uawf5ubtnmezvhu9dhc6sghea0403y2dgpyfjp", "latest_state"],"id":1}' -H "Content-Type: application/json" localhost:12539
// Result
{
"jsonrpc": "2.0",
"result": {
"accumulatedInterestReturn": "0x0",
"admin": "CFX:TYPE.USER:AARC9ABYCUE0HHZGYRR53M6CXEDGCCRMMYYBJGH4XG",
"balance": "0x0",
"codeHash": "0x45fed62dd2b7c5ed76a63628ddc811e69bb5770cf31dd55647ca219aaee5434f",
"collateralForStorage": "0x0",
"nonce": "0x1",
"stakingBalance": "0x0"
},
"id": 1
}
详细解释
Conflux 的全局状态由各个账户状态组成,每个账户状态是一个地址-状态对(键值对)。
A Conflux account state includes four parts:
Basic state
是账户的基本状态。Storage state
是一个键/值数据库或存储空间,可以用于存储智能合约的自定义状态或数据。Code information
是智能合约账户的代码信息。 它包括合约代码和支付代码占用存储空间费用的账户address
。Staking vote lock list
是账户为了参与 DAO 投票而执行的锁定操作列表。
Staking deposit list
is already removed in the v2.4.0 Hardfork, which is the list of Staking operations of the account.
账户的基本状态由以下八个字段组成:
Nonce
是一个计数器,用于跟踪一个账户发送的交易数量。 它也用于确保每个交易只能被执行一次。 对于合约账户,这个值表示该合约创建的合约数量
。Balance
是地址中 CFX 的数量,单位是 Drip。 Drip is the smallest unit of CFX, where 1CFX=10^18 Drip.CodeHash
是合约账户代码的哈希值。 用户可以引用合约代码,合约创建后,代码不能被修改。 当合约收到消息调用时,代码将被执行。 对于外部账户,codeHash 是一个空字符串的哈希。StakingBalance
是已质押的余额。 同样,单位是 Drip。Admin
是合约账户
在 AdminControl 内置合约中记录的管理员地址。 默认情况下,合约管理员在合约创建时被设置为部署该合约的账户。 管理员可以通过内部合约 AdminControl 销毁它管理的合约,或者将管理员角色转给另一个账户。 外部账户的管理员地址是它自己。SponsorInfo
是合约赞助者的信息。 它包括gas 的赞助者
、存储抵押的赞助者
、赞助的 gas 限制
、gas 的赞助余额
和存储抵押的赞助余额
。StorageCollateral
是用于使用存储空间而质押的 Drip 数量。AccumulatedInterestReturn
是账户从质押中获得的累积奖励金额。 它的单位是 Drip。 从 Conflux 2.0 开始,用户必须参与 PoS 才能获得奖励。
关于账户
的更多细节,请参考 Conflux 协议规范中的账户部分。