Accounts
note
This page is created to provide information for CORE SPACE ACCOUNTS. Refer to General-Accounts for the overall introduction of the concept of ACCOUNTS.
Account Address
An account is identified by its address. For more information, refer to Address
Account State
Query
The account state can be queried using 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
}
Illustration
The global state of Conflux is composed of individual account states, each of which is an address-state pair (key pair).
A Conflux account state includes five parts:
Basic state
is the basic state of the account.Storage state
is a key/value database or storage space that can be used to store custom states or data of smart contracts.Code information
is the code information of the smart contract account. It includes the contract codes and theaddress
of the account that paid the fee for the storage space occupied by the codes.Staking deposit list
is the list of Staking operations of the accounts (it will be removed in the next Hardfork).Staking vote lock list
is the list of lock operations performed by the account to participate in DAO voting.
The basic status of the account consists of eight fields as follows:
Nonce
is a counter to keep track of the number of transactions sent by an account. It is also used to ensure that each transaction can only be executed once. For contract accounts, this value indicates the number ofcontracts created by this contract
.Balance
is the number of CFX of the address in Drip. Drip is the smallest unit of CFX, where 1CFX=1018 Drip.CodeHash
is the hash of the code of the contract account. The user can reference the contract code, the code cannot be modified after the contract is created. The code will be executed when the contract receives a message call. For external accounts, codeHash is a hash of an empty string.StakingBalance
is the balance of the staked amount. Similarly, the unit is Drip.Admin
is the administrator address of thecontract account
recorded in the AdminControl internal contract. In default, the contract administrator is set to the account which deployed this contract when it is created. The administrator can destroy the contract it manages through the internal contract AdminControl, or give the administrator role to another account. The administrator address of an external account is itself.SponsorInfo
is the information of the contract sponsor. It containssponsor for gas
,sponsor for collateral
,sponsor gas limit
,sponsor balance for gas
, andsponsor balance for collateral
.StorageCollateral
is the amount of Drip staked to use the storage spaces.AccumulatedInterestReturn
is the amount of cumulative reward of the account from Staking. The unit of it is Drip. Starting with Conflux 2.0, users must also participate in PoS in order to receive the reward.
For more details about accounts, please refer to the Accounts
section in Conflux Protocol Specification.