The first list contains the endorsements.
The second list contains all the operations regarding votes and proposals.
The third list contains anonymous operations.
The last one contains the manager operations (reveal, transaction, delegation and origination).
If you need to check only the transactions, you should check only the last one.
The question as stated confuses different things.
A "reveal" operation is an operation that writes on the chain the public key associated with a public key hash for an implicit account. The fee associated with this operation is up for the sender to decide, though most bakers implement default minimum fees (in this case it is currently 1267µꜩ).
The creation ...
Ethereum way of retrieving the public key only works with some signing algorithms, ECDSA with secp256k1 in its case. It is also used by Tezos for tz2 (and P-256 for tz3), but not for tz1 which uses EdDSA. In general, Tezos wants to support new signature algorithms in the future. From this point of view, Reveal is more general and will work with probably all ...
Difference between reveal and transaction:
When a wallet sends a transaction, it must sign the transaction with the user's private key. However, there is no way for other users to check the signature, if they don't have the corresponding public key. That's why the wallet must issue a Reveal operation first, to reveal the public key of the user.
The publicKey must be revealed before the wallet can inject an operation to the blockchain. The client (and most wallets) will automatically add a reveal operation onto the first operation you try to perform with the new address. E.g. sending xtz or an fa1.2/fa2 token, delegating to a baker or originating a contract, will all trigger a reveal operation first
Rename pkh to public_key, edpk.. is a public key and not a public key hash (pkh). You can find the expected json format in the documentation. You also have to decrease the value of storage_limit to 60 000 or less. Hard limits can be fetched from the ../context/constant endpoint.
The fee for adding a new account to the global state (--burn-cap with tezos-client) is 0.257 XTZ.
The origination burn is calculated as Tez_repr.(cost_per_byte *? (Int64.of_int origination_size)).
cost_per_byte is 0.001 XTZ. It is 1000 mutez and 1,000,000 mutez == 1 tez.
origination_size is 257.
Due to that the resulting cost for an origination of a ...
You should ask the manager_key of the account : either it is a key_hash (not revealed) or a public key (revealed).
See this blog for an introduction to the RPCs for a basic wallet :
Questions was solved in another channel (https://t.me/TezosDevelopers).
Answer from BakingBad:
"Tezos supports pubkey revealing for tz2 addresses. You just need to use correct message Tag.
You can do that, for secp256k1
I guess, you set the incorrect Tag"
These are very different operations...
activate_account is an anonymous operation that bootstraps the account with some coins purchased during ICO. So, this is for the ICO participants only. Or for the testnets' faucet.
reveal is a manager operation that shows everyone your public key, so that everyone can verify your signature in subsequent operations.
Every time you withdraw the whole deposit from your account (so that its balance is zero), the account is removed from the blockchain context, so all information about previous reveals is lost and you have to reveal your public key again.
Here is an example of an account that reveals his key, then withdraws everything, then reveals the key again, then ...