I cannot solve this problem. Or am i wrong with using api?
--I add new properties to my noder--
nxt.ledgerTrimKeep=100000000
nxt.ledgerAccounts=*
nxt.includeExpiredPrunable=true
nxt.maxAPIRecords=3000
I cannot solve this problem. Or am i wrong with using api?
--I add new properties to my noder--
nxt.ledgerTrimKeep=100000000
nxt.ledgerAccounts=*
nxt.includeExpiredPrunable=true
nxt.maxAPIRecords=3000
Hi,
First of all, the nxt.ledgerTrimKeep
and nxt.ledgerAccounts
configuration is affecting only the "Account Ledger" module, so only the getAccountLedger
API will return events from the whole blockchain history with your settings.
If the ledger events are not sufficient and you really need to get the asset accounts at any height in the blockchain history, you must set nxt.trimDerivedTables
to false
. Or you can increase nxt.maxRollback
if e.g. you need the asset accounts from the last 10000 blocks only (which will be much more economical than keeping all derived tables records)
I solve this problem by set nxt.maxRollback. Thanks
It seems that trimming is need for decrease RAM usage. Is this right?
Trimming reduces database size and hence search times when index is not used. RAM usage - it is possible to rise when trimming is disabled but I haven't tried that.
Trimming itself requires significant resources every nxt.trimFrequency
blocks so it's possible that RAM usage increases during blockchain download with trimming enabled.
If i set nxt.trimFrequency to higher number, is there any problem?
Trimming requires significant resources, it can reduce by increase nxt.trimFrequency.
Am i understand correctly?
The slowest part of the trimming is the deletion of the records. If you trim more rarely you will have to delete more records with each trimming. Trimming more rarely makes sense for tables that are updated more rarely - it saves the scan which is done by each trim. We already trim more rarely such tables - see nxt.trimFrequencyMultipliers