Pular para o conteúdo

AccountRoot

[Fonte]

Um tipo de entrada de ledger AccountRoot descreve uma única conta, suas configurações e saldo em XAH.

{
"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:

CampoTipo JSON[Tipo Interno][]Obrigatório?Descrição
AccountStringAccountIDSimO endereço (clássico) de identificação desta conta.
SequenceNumberUInt32SimO número de sequência da próxima transação válida para esta conta.
BalanceStringAmountNãoO saldo atual em [XAH em drops][drops de XAH] desta conta, representado como uma string.
OwnerCountNumberUInt32SimO número de objetos que esta conta possui no ledger, o que contribui para sua reserva de proprietário.
PreviousTxnIDStringHash256SimO hash identificador da transação que mais recentemente modificou este objeto.
PreviousTxnLgrSeqNumberUInt32SimO [índice do ledger][Índice de Ledger] que contém a transação que mais recentemente modificou este objeto.
AccountTxnIDStringHash256NãoO 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.
RegularKeyStringAccountIDNãoO 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.
EmailHashStringHash128NãoO hash md5 de um endereço de e-mail. Clientes podem usar isso para buscar um avatar em serviços como Gravatar.
WalletLocatorStringHash256NãoUm valor arbitrário de 256 bits que os usuários podem definir.
WalletSizeNumberUInt32NãoNão utilizado. (O código suporta este campo, mas não há maneira de defini-lo.)
MessageKeyStringBlobNãoUma 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.
TransferRateNumberUInt32NãoUma taxa de transferência a cobrar de outros usuários que enviam moeda emitida por esta conta entre si.
DomainStringBlobNãoUm 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.
TickSizeNumberUInt8NãoQuantos 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][].)
TicketCountNumberUInt32NãoQuantos 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][].)
NFTokenMinterStringAccountIDNãoOutra conta que pode cunhar tokens não fungíveis em nome desta conta. (Adicionado pela [emenda NonFungibleTokensV1_1][])
MintedNFTokensNumberUInt32NãoQuantos tokens não fungíveis no total foram cunhados por e em nome desta conta. (Adicionado pela [emenda NonFungibleTokensV1_1][])
BurnedNFTokensNumberUInt32NãoQuantos tokens não fungíveis emitidos por esta conta foram queimados no total. Este número é sempre igual ou menor que MintedNFTokens.
HookStateCountNumberUInt32NãoO número de estados no Hook.
HookNamespacesArrayVector256NãoUm valor único para evitar conflitos de estado entre múltiplos Hooks instalados na mesma conta XAHL.
RewardLgrFirstNumberUInt32NãoO número do ledger da última transação ClaimReward.
RewardLgrLastNumberUInt32NãoO número de sequência do ledger da última transação de entrada ou saída da sua conta.
RewardTimeNumberUInt32NãoO tempo de ledger em que a última recompensa foi reivindicada.
RewardAccumulatorStringUInt64NãoA área sob o gráfico saldo-tempo da sua conta desde a última transação ClaimReward.
FirstNFTokenSequenceNumberUInt32NãoO [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:)
ImportSequenceNumberUInt32NãoO número de sequência atual da conta importadora no XAHL Ledger.
GovernanceFlagsStringHash256Não
GovernanceMarksStringHash256Não
AccountIndexStringUInt64NãoO número de índice de criação da conta. (Adicionado pela [emenda xahauGenesis][] :enabled:)
TouchCountStringUInt64NãoUm contador incremental para cada vez que a entrada de ledger é “tocada”.
HookStateScaleNumberUInt16NãoFator 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][].)

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 FlagValor HexValor DecimalFlag AccountSet CorrespondenteDescrição
lsfDefaultRipple0x008000008388608asfDefaultRippleHabilita rippling nas linhas de confiança deste endereço por padrão. Obrigatório para endereços emissores; desencorajado para outros.
lsfDepositAuth0x0100000016777216asfDepositAuthEsta 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][])
lsfDisableMaster0x001000001048576asfDisableMasterProíbe o uso da chave mestre para assinar transações desta conta.
lsfDisallowIncomingCheck0x08000000134217728asfDisallowIncomingCheckEsta conta bloqueia Checks recebidos.
lsfDisallowIncomingNFTokenOffer0x0400000067108864asfDisallowIncomingNFTokenOfferEsta conta bloqueia NFTokenOffers recebidas.
lsfDisallowIncomingPayChan0x10000000268435456asfDisallowIncomingPayChanEsta conta bloqueia Canais de Pagamento recebidos.
lsfDisallowIncomingTrustline0x20000000536870912asfDisallowIncomingTrustlineEsta conta bloqueia linhas de confiança recebidas.
lsfDisallowIncomingRemit0x800000002147483648asfDisallowIncomingRemitEsta conta bloqueia transações remit recebidas.
lsfDisallowXRP0x00080000524288asfDisallowXRPAplicações clientes não devem enviar XAH para esta conta. (Consultivo; não aplicado pelo protocolo.)
lsfGlobalFreeze0x004000004194304asfGlobalFreezeTodos os ativos emitidos por esta conta estão congelados.
lsfNoFreeze0x002000002097152asfNoFreezeEsta conta não pode congelar linhas de confiança conectadas a ela. Uma vez habilitado, não pode ser desabilitado.
lsfPasswordSpent0x0001000065536(Nenhum)Esta conta usou sua transação gratuita SetRegularKey.
lsfRequireAuth0x00040000262144asfRequireAuthEsta conta deve aprovar individualmente outros usuários para que eles possam deter os tokens desta conta.
lsfRequireDestTag0x00020000131072asfRequireDestExige que pagamentos recebidos especifiquem uma Tag de Destino.
lsfTshCollect0x0200000033554432asfTshCollectO TSH paga pela execução de sua própria Cadeia de Hook.
lsfURITokenIssuer0x0400000067108864asfURITokenIssuerEsta conta não pode ser excluída após ter emitido um URIToken.

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