I am trying to setup a Sui node with a reduced data set in order to analyze network transactions.
I have tried to configure the node to only go back around ~10 days and filter for certain transactions. I’ve found the documentation to be lacking, so I’ve used what I’ve read on the official website, Github, and AI tools.
My configuration looks like:
---
protocol-key-pair:
path: /Users/admin/Desktop/sui/key-pairs/bls-0xb892db4828d019d16c2b3423d19c97f387b6cc2667b7c0a61e9595f35e3898d3.key
network-key-pair:
path: /Users/admin/Desktop/sui/key-pairs/0x97baa54256d211a4e504aa4179a72172b9e1e7950e3f1afb61d844257ed5f670.key
db-path: /Users/admin/Desktop/sui/db/authorities_db
network-address: /ip4/0.0.0.0/tcp/8080/http
metrics-address: 0.0.0.0:9184
admin-interface-port: 1337
genesis:
genesis-file-location: /Users/admin/Desktop/sui/config/genesis.blob
authority-store-pruning-config:
num-latest-epoch-dbs-to-retain: 30
epoch-db-pruning-period-secs: 3600
num-epochs-to-retain: 30
max-checkpoints-in-batch: 10
max-transactions-in-batch: 1000
enable-event-processing: true
event-store-config:
tracked-objects:
- "0x506a6fc25f1c7d52ceb06ea44a3114c9380f8e2029b4356019822f248b49e411::memefi::MEMEFI"
- "0xf22da9a24ad027cccb5f2d496cbe91de953d363513db08a3a734d361c7c17503::LOFI::LOFI"
- "0x8993129d72e733985f7f1a00396cbd055bad6f817fee36576ce483c8bbb8b87b::sudeng::SUDENG"
- "0x2::sui::SUI"
- "0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::USDT"
event-types-filter:
- "0x2::coin::CoinBalanceChange"
- "0x2::coin::CoinMetadata"
- "0x2::coin::Treasury"
event-store-pruning-config:
store-epoch-data-for-last-epochs: 30
store-raw-events-forever: false
event-batching-config:
batch-size: 10000
max-concurrent-batches: 10
p2p-config:
listen-address: 0.0.0.0:8084
external-address: /ip4/0.0.0.0/tcp/8084
anemo-config:
max-concurrent-connections: 0
seed-peers:
- address: /dns/mel-00.mainnet.sui.io/udp/8084
peer-id: d32b55bdf1737ec415df8c88b3bf91e194b59ee3127e3f38ea46fd88ba2e7849
- address: /dns/ewr-00.mainnet.sui.io/udp/8084
peer-id: c7bf6cb93ca8fdda655c47ebb85ace28e6931464564332bf63e27e90199c50ee
- address: /dns/ewr-01.mainnet.sui.io/udp/8084
peer-id: 3227f8a05f0faa1a197c075d31135a366a1c6f3d4872cb8af66c14dea3e0eb66
- address: /dns/lhr-00.mainnet.sui.io/udp/8084
peer-id: c619a5e0f8f36eac45118c1f8bda28f0f508e2839042781f1d4a9818043f732c
- address: /dns/sui-mainnet-ssfn-1.nodeinfra.com/udp/8084
peer-id: 0c52ca8d2b9f51be4a50eb44ace863c05aadc940a7bd15d4d3f498deb81d7fc6
- address: /dns/sui-mainnet-ssfn-2.nodeinfra.com/udp/8084
peer-id: 1dbc28c105aa7eb9d1d3ac07ae663ea638d91f2b99c076a52bbded296bd3ed5c
- address: /dns/sui-mainnet-ssfn-ashburn-na.overclock.run/udp/8084
peer-id: 5ff8461ab527a8f241767b268c7aaf24d0312c7b923913dd3c11ee67ef181e45
- address: /dns/sui-mainnet-ssfn-dallas-na.overclock.run/udp/8084
peer-id: e1a4f40d66f1c89559a195352ba9ff84aec28abab1d3aa1c491901a252acefa6
- address: /dns/ssn01.mainnet.sui.rpcpool.com/udp/8084
peer-id: fadb7ccb0b7fc99223419176e707f5122fef4ea686eb8e80d1778588bf5a0bcd
- address: /dns/ssn02.mainnet.sui.rpcpool.com/udp/8084
peer-id: 13783584a90025b87d4604f1991252221e5fd88cab40001642f4b00111ae9b7e
checkpoint-executor-config:
checkpoint-execution-max-concurrency: 200
local-execution-timeout-sec: 30
db-checkpoint-config:
perform-db-checkpoints-at-epoch-end: false
indirect-objects-threshold: 18446744073709551615
The tracked-objects
section containing meme tokens and USDT are used as a starting point for analysis and to reduce the amount of stored data.
I don’t believe the node works, however, and I see messages like the following in the console:
024-12-03T21:26:40.222889Z INFO sui_network::state_sync: retrying checkpoint sync after 9.999998666s
2024-12-03T21:26:40.249801Z WARN request{route=/sui.Discovery/GetKnownPeersV2 remote_peer_id=c619a5e0 direction=outbound}: anemo_tower::trace::on_failure: response failed error=Error: connection lost latency=1 ms
2024-12-03T21:26:40.249811Z WARN request{route=/sui.StateSync/GetCheckpointSummary remote_peer_id=c619a5e0 direction=outbound}: anemo_tower::trace::on_failure: response failed error=Error: connection lost latency=1 ms
2024-12-03T21:26:40.425466Z WARN request{route=/sui.Discovery/GetKnownPeersV2 remote_peer_id=1dbc28c1 direction=outbound}: anemo_tower::trace::on_failure: response failed error=Error: connection lost latency=117 ms
2024-12-03T21:26:40.425500Z WARN request{route=/sui.StateSync/GetCheckpointSummary remote_peer_id=1dbc28c1 direction=outbound}: anemo_tower::trace::on_failure: response failed error=Error: connection lost latency=117 ms
2024-12-03T21:26:40.507841Z WARN request{route=/sui.Discovery/GetKnownPeersV2 remote_peer_id=d32b55bd direction=outbound}: anemo_tower::trace::on_failure: response failed error=Error: connection lost latency=8 ms
2024-12-03T21:26:40.507861Z WARN request{route=/sui.StateSync/GetCheckpointSummary remote_peer_id=d32b55bd direction=outbound}: anemo_tower::trace::on_failure: response failed error=Error: connection lost latency=8 ms
2024-12-03T21:26:40.540162Z WARN request{route=/sui.Discovery/GetKnownPeersV2 remote_peer_id=0c52ca8d direction=outbound}: anemo_tower::trace::on_failure: response failed error=Error: connection lost latency=116 ms
2024-12-03T21:26:40.540188Z WARN request{route=/sui.StateSync/GetCheckpointSummary remote_peer_id=0c52ca8d direction=outbound}: anemo_tower::trace::on_failure: response failed error=Error: connection lost latency=116 ms
2024-12-03T21:26:40.574621Z WARN request{route=/sui.StateSync/GetCheckpointSummary remote_peer_id=e1a4f40d direction=outbound}: anemo_tower::trace::on_failure: response failed error=Error: closed latency=0 ms
2024-12-03T21:26:40.574720Z WARN request{route=/sui.StateSync/GetCheckpointSummary remote_peer_id=e1a4f40d direction=outbound}: anemo_tower::trace::on_failure: response failed error=Error: closed latency=0 ms
2024-12-03T21:26:44.938048Z WARN sui_network::state_sync: Failed to find an archive reader to complete the state sync request
2024-12-03T21:26:45.100342Z WARN sui_core::checkpoints::checkpoint_executor: Received no new synced checkpoints for 5s. Next checkpoint to be scheduled: 1
2024-12-03T21:26:49.939068Z WARN sui_network::state_sync: Failed to find an archive reader to complete the state sync request
Does anyone have any advice on how to setup a node for read-only purposes with a focus on certain transaction types? Is there a better way to analyze historical data (& get network updates) assuming the analysis requires a large amount of requests/data (ie, APIs would probably be insufficient)?
Thank you