I setup a non-producing node and an API to let an app query user transactions. API is similar to the CryptoLions/EOS-mongo-history-API
What is the most minimalistic and effective approach to decrease sync time and storage? So far I use the following. Problem now is that when I query a tx, its returned 3 times from the mongodb, so I guess I can remove 2 of 3 mongodb-store-... options
agent-name = apibackend http-server-address = 0.0.0.0:8888 p2p-listen-endpoint = 0.0.0.0:9876 blocks-dir = "/mnt/xfs/mainnet/blocks" bnet-endpoint = 0.0.0.0:4321 bnet-follow-irreversible = 0 bnet-no-trx = false read-mode = read-only validation-mode = light mongodb-uri = mongodb://127.0.0.1:27017/EOS mongodb-queue-size = 2048 mongodb-abi-cache-size = 2048 mongodb-block-start = 1 mongodb-store-transactions = 1 mongodb-store-transaction-traces = 1 <------ needed? mongodb-store-action-traces = 1 <------ needed? mongodb-filter-on = * mongodb-filter-out = eosio:onblock: mongodb-filter-out = gu2tembqgage:: mongodb-filter-out = blocktwitter:: wasm-runtime = wabt p2p-max-nodes-per-host = 1 http-validate-host = false https-client-validate-peers = 1 abi-serializer-max-time-ms = 5000 chain-state-db-size-mb = 32000 reversible-blocks-db-size-mb = 340 contracts-console = false allowed-connection = any max-clients = 100 network-version-match = 0 sync-fetch-span = 500 connection-cleanup-period = 30 max-implicit-request = 1500 access-control-allow-origin = * access-control-allow-headers = * access-control-allow-credentials = false verbose-http-errors = true plugin = eosio::chain_plugin plugin = eosio::chain_api_plugin <------ needed? plugin = eosio::bnet_plugin plugin = eosio::mongo_db_plugin plugin = eosio::http_plugin <------ needed?
--mongodb-filter-on=* interfere with
mongodb-store-transactions = 1 or is it even obsolete ? Download all actions from anyone VS download all tx from anyone. Not sure if this works but it could be a solution:
Track actions which match receiver:action:actor. Actor may be blank to include all. Receiver and Action may not be blank. Default is * include everything.