1

We need to query all the past transfer events of a contract to identify all historic token holder addresses. Am I right that for this we need a full node and can't use fast mode?

I've read that fast mode prunes old blocks and querying past events seems to work like this using fromBlock=0. So I expect transfer events that wouldn't show up in the future using fast mode, right?

I just wanted this confirmed because hosting a full-node is quite a bit more expensive. Any ideas how to solve this without full node are welcome.

1 Answer 1

0

The "Pruning Mode" (fast or archive) here refers to pruning historical state, not historical blocks. Unless you have --no-ancient-blocks enabled with Warp Sync you retain all historical blocks.

As long as you sync parity from scratch, you should have access to all event logs regardless of whether state is pruned or not. Archive pruning is only necessary if you need things like transaction traces and contract internals in a very old historical state.

3
  • Are you sure that this is correct? Do you have a source? Sorry for questioning but here it states: Parity’s “fast” mode continually prunes the ancient BLOCKS in the chain, and it maintains a total size of roughly 10 gigabytes. - medium.com/@eth.anBennett/… Dec 20, 2018 at 12:52
  • 1
    Both the Parity Wiki wiki.parity.io/Configuring-Parity-Ethereum and the output from running parity -h state that pruning refers to the state/storage trie, not blocks. The article you've linked might not be wrong, but it used the wrong terminology - parity doesn't prune old blocks as it syncs, it prunes the state of the blockchain at that block
    – Joshua Mir
    Dec 21, 2018 at 11:08
  • ` ./openethereum/openethereum \ --unsafe-expose \ --port=30304 \ --jsonrpc-port=8555 \ --ws-port=8556 \ --chain kovan \ --pruning fast \ --base-path \ /data-kovan/openethereum.full ` I used this to sync kovan, but getPastLogs returns empty comparing to using infura archive nodes. Jul 5, 2020 at 8:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.