AccountRoot
Um tipo de entrada de ledger AccountRoot descreve uma única conta, suas configurações e saldo em XAH.
Exemplo JSON
Seção intitulada “Exemplo JSON”{ "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "AccountTxnID": "0D5FB50FA65C9FE1538FD7E398FFFE9D1908DFA4576D8D7A020040686F93C77D", "AccountIndex": "59", "Balance": "148446663", "Domain": "6D64756F31332E636F6D", "HookStateScale": 10, "EmailHash": "98B4375E1D753E5B91627516F6D70977", "Flags": 8388608, "LedgerEntryType": "AccountRoot", "MessageKey": "0000000000000000000000070000000300", "OwnerCount": 3, "PreviousTxnID": "0D5FB50FA65C9FE1538FD7E398FFFE9D1908DFA4576D8D7A020040686F93C77D", "PreviousTxnLgrSeq": 14091160, "Sequence": 336, "TransferRate": 1004999999, "index": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8"}Um objeto AccountRoot tem os seguintes campos:
| Campo | Tipo JSON | [Tipo Interno][] | Obrigatório? | Descrição |
|---|---|---|---|---|
Account | String | AccountID | Sim | O endereço (clássico) de identificação desta conta. |
Sequence | Number | UInt32 | Sim | O número de sequência da próxima transação válida para esta conta. |
Balance | String | Amount | Não | O saldo atual em [XAH em drops][drops de XAH] desta conta, representado como uma string. |
OwnerCount | Number | UInt32 | Sim | O número de objetos que esta conta possui no ledger, o que contribui para sua reserva de proprietário. |
PreviousTxnID | String | Hash256 | Sim | O hash identificador da transação que mais recentemente modificou este objeto. |
PreviousTxnLgrSeq | Number | UInt32 | Sim | O [índice do ledger][Índice de Ledger] que contém a transação que mais recentemente modificou este objeto. |
AccountTxnID | String | Hash256 | Não | O hash identificador da transação mais recentemente enviada por esta conta. Este campo deve ser habilitado para usar o campo de transação AccountTxnID. Para habilitá-lo, envie uma transação AccountSet com o flag asfAccountTxnID ativado. |
RegularKey | String | AccountID | Não | O endereço de um par de chaves que pode ser usado para assinar transações desta conta em vez da chave mestre. Use uma [transação SetRegularKey][] para alterar este valor. |
EmailHash | String | Hash128 | Não | O hash md5 de um endereço de e-mail. Clientes podem usar isso para buscar um avatar em serviços como Gravatar. |
WalletLocator | String | Hash256 | Não | Um valor arbitrário de 256 bits que os usuários podem definir. |
WalletSize | Number | UInt32 | Não | Não utilizado. (O código suporta este campo, mas não há maneira de defini-lo.) |
MessageKey | String | Blob | Não | Uma chave pública que pode ser usada para enviar mensagens criptografadas para esta conta. Em JSON, usa hexadecimal. Deve ter exatamente 33 bytes, com o primeiro byte indicando o tipo de chave: 0x02 ou 0x03 para chaves secp256k1, 0xED para chaves Ed25519. |
TransferRate | Number | UInt32 | Não | Uma taxa de transferência a cobrar de outros usuários que enviam moeda emitida por esta conta entre si. |
Domain | String | Blob | Não | Um domínio associado a esta conta. Em JSON, é o hexadecimal da representação ASCII do domínio. Não pode ter mais de 256 bytes de comprimento. |
TickSize | Number | UInt8 | Não | Quantos dígitos significativos usar para taxas de câmbio de Ofertas envolvendo moedas emitidas por este endereço. Valores válidos são de 3 a 15, inclusive. (Adicionado pela [emenda TickSize][].) |
TicketCount | Number | UInt32 | Não | Quantos Tickets esta conta possui no ledger. Atualizado automaticamente para garantir que a conta permaneça abaixo do limite máximo de 250 Tickets. Este campo é omitido se a conta tiver zero Tickets. (Adicionado pela [emenda TicketBatch][].) |
NFTokenMinter | String | AccountID | Não | Outra conta que pode cunhar tokens não fungíveis em nome desta conta. (Adicionado pela [emenda NonFungibleTokensV1_1][]) |
MintedNFTokens | Number | UInt32 | Não | Quantos tokens não fungíveis no total foram cunhados por e em nome desta conta. (Adicionado pela [emenda NonFungibleTokensV1_1][]) |
BurnedNFTokens | Number | UInt32 | Não | Quantos tokens não fungíveis emitidos por esta conta foram queimados no total. Este número é sempre igual ou menor que MintedNFTokens. |
HookStateCount | Number | UInt32 | Não | O número de estados no Hook. |
HookNamespaces | Array | Vector256 | Não | Um valor único para evitar conflitos de estado entre múltiplos Hooks instalados na mesma conta XAHL. |
RewardLgrFirst | Number | UInt32 | Não | O número do ledger da última transação ClaimReward. |
RewardLgrLast | Number | UInt32 | Não | O número de sequência do ledger da última transação de entrada ou saída da sua conta. |
RewardTime | Number | UInt32 | Não | O tempo de ledger em que a última recompensa foi reivindicada. |
RewardAccumulator | String | UInt64 | Não | A área sob o gráfico saldo-tempo da sua conta desde a última transação ClaimReward. |
FirstNFTokenSequence | Number | UInt32 | Não | O [Número de Sequência][] da conta no momento em que cunhou seu primeiro token não fungível. (Adicionado pela [emenda fixNFTokenRemint][] :not_enabled:) |
ImportSequence | Number | UInt32 | Não | O número de sequência atual da conta importadora no XAHL Ledger. |
GovernanceFlags | String | Hash256 | Não | |
GovernanceMarks | String | Hash256 | Não | |
AccountIndex | String | UInt64 | Não | O número de índice de criação da conta. (Adicionado pela [emenda xahauGenesis][] :enabled:) |
TouchCount | String | UInt64 | Não | Um contador incremental para cada vez que a entrada de ledger é “tocada”. |
HookStateScale | Number | UInt16 | Não | Fator de escala para determinar quando entradas de estado de Hook se tornam obsoletas. Valores válidos são de 1 a 16 inclusive. (Adicionado pela [emenda ExtendedHookState][].) |
Flags de AccountRoot
Seção intitulada “Flags de AccountRoot”Existem várias opções que podem ser habilitadas ou desabilitadas para uma conta. Essas opções podem ser alteradas com uma [transação AccountSet][]. No ledger, os flags são representados como valores binários que podem ser combinados com operações bitwise-or. Os valores de bits para os flags no ledger são diferentes dos valores usados para habilitar ou desabilitar esses flags em uma transação. Os flags de ledger têm nomes que começam com lsf.
Objetos AccountRoot podem ter os seguintes valores de flag:
| Nome do Flag | Valor Hex | Valor Decimal | Flag AccountSet Correspondente | Descrição |
|---|---|---|---|---|
lsfDefaultRipple | 0x00800000 | 8388608 | asfDefaultRipple | Habilita rippling nas linhas de confiança deste endereço por padrão. Obrigatório para endereços emissores; desencorajado para outros. |
lsfDepositAuth | 0x01000000 | 16777216 | asfDepositAuth | Esta conta tem DepositAuth habilitado, o que significa que só pode receber fundos de transações que ela mesma envia e de contas pré-autorizadas. (Adicionado pela [emenda DepositAuth][]) |
lsfDisableMaster | 0x00100000 | 1048576 | asfDisableMaster | Proíbe o uso da chave mestre para assinar transações desta conta. |
lsfDisallowIncomingCheck | 0x08000000 | 134217728 | asfDisallowIncomingCheck | Esta conta bloqueia Checks recebidos. |
lsfDisallowIncomingNFTokenOffer | 0x04000000 | 67108864 | asfDisallowIncomingNFTokenOffer | Esta conta bloqueia NFTokenOffers recebidas. |
lsfDisallowIncomingPayChan | 0x10000000 | 268435456 | asfDisallowIncomingPayChan | Esta conta bloqueia Canais de Pagamento recebidos. |
lsfDisallowIncomingTrustline | 0x20000000 | 536870912 | asfDisallowIncomingTrustline | Esta conta bloqueia linhas de confiança recebidas. |
lsfDisallowIncomingRemit | 0x80000000 | 2147483648 | asfDisallowIncomingRemit | Esta conta bloqueia transações remit recebidas. |
lsfDisallowXRP | 0x00080000 | 524288 | asfDisallowXRP | Aplicações clientes não devem enviar XAH para esta conta. (Consultivo; não aplicado pelo protocolo.) |
lsfGlobalFreeze | 0x00400000 | 4194304 | asfGlobalFreeze | Todos os ativos emitidos por esta conta estão congelados. |
lsfNoFreeze | 0x00200000 | 2097152 | asfNoFreeze | Esta conta não pode congelar linhas de confiança conectadas a ela. Uma vez habilitado, não pode ser desabilitado. |
lsfPasswordSpent | 0x00010000 | 65536 | (Nenhum) | Esta conta usou sua transação gratuita SetRegularKey. |
lsfRequireAuth | 0x00040000 | 262144 | asfRequireAuth | Esta conta deve aprovar individualmente outros usuários para que eles possam deter os tokens desta conta. |
lsfRequireDestTag | 0x00020000 | 131072 | asfRequireDest | Exige que pagamentos recebidos especifiquem uma Tag de Destino. |
lsfTshCollect | 0x02000000 | 33554432 | asfTshCollect | O TSH paga pela execução de sua própria Cadeia de Hook. |
lsfURITokenIssuer | 0x04000000 | 67108864 | asfURITokenIssuer | Esta conta não pode ser excluída após ter emitido um URIToken. |
Formato do ID do AccountRoot
Seção intitulada “Formato do ID do AccountRoot”O ID de um objeto AccountRoot é o SHA-512Half dos seguintes valores, concatenados em ordem:
- A chave de espaço Account (
0x0061) - O AccountID da conta