Archieval Nodes

Hello everyone,

is there any documentation of where and how many archieval nodes are running,
and how to access them?

I had some requests already from developers who wanted to clone the mainnet using hardhat,
which should work in theory, that results in an error, which is known to happen when not accessing an archieval node.

Today I wanted to run the query on the endpoint (https://api.s0.t.hmny.io):

{
    "jsonrpc": "2.0",
    "method": "hmyv2_getValidatorInformationByBlockNumber",
    "params": ["one1dsj3lknm2caqpff74j9tade6wlc4vmyt4hxfcv", 18867042],
    "id": 1
 }

Which results in a similar error:

{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32000,
    "message": "not found address in current state one1dsj3lknm2caqpff74j9tade6wlc4vmyt4hxfcv: at root: 0x483071dc984798085c8b624d578a745ebf60af341bad1e4cf0f6ef630a2342ea: missing trie node 483071dc984798085c8b624d578a745ebf60af341bad1e4cf0f6ef630a2342ea (path )"
  }
}

The same query works with a more recent block !!!

Leaving me with the question where archieval nodes are run and how to access them.

Having the database growing rapidly it would be also a good idea to have some compensation in place for participants that run archieval nodes.

Maybe somone can shed some light on that issue.

4 Likes

Leaving this here as new account.

1 Like

In order to have information of our balance in older blocks (for tax return purpose for example) we are having similar issues.
Due that this information is not in the current API or explorer.harmony.one, it will be really interesting if we can query archieval/explorer nodes to get this information.

Any help with this is welcome.

1 Like

I am not sure about archival node access but if you want to ‘clone’ the network you can do so by setting up an explorer / archival node.

We are partnering with POKT network who will provide a 1 click setup for this as well as giving rewards if making it available as an RPC endpoint.

Grant: Node Pilot (1-click deployment and validation)

2 Likes

Either I’m misunderstanding the question or you are looking for “https://a.api.s0.t.hmny.io/”. Works fine for me at least using the “hmyv2_call” method.

2 Likes

Can confirm I also get data with https://a.api.s0.t.hmny.io/

1 Like

I do not think they have historical data in the nodes. Maybe I am wrong but I have not found anything. You will need to maintain your own and maybe have an EDW structure of it. I am looking at making some data viz but the scope will be for real time as I do not know if there is the data. Of course I will try to maintain my own historical data. You can also use the transactions to do a historical database I think. I have noticed tho, there is the epoch chart on the staking page of harmony for each validators. This one has total number of delegations for the previous epochs, I am wondering why they get this data from.

If you want to query for the latest data, you can use the python library. An example is below:

from pyhmy import staking

main_net = 'https://rpc.s0.t.hmny.io'

all_validators = staking.get_all_validator_addresses(endpoint=main_net)
for i in all_validators:
    validator_information = staking.get_validator_information(i, endpoint=main_net)
    print(validator_information)
1 Like

Awesome! This is probably an archival node endpoint :sunglasses: :+1:

@Maffaz is POKT also considered for archival nodes I thought it’s just for ‘regular’ RPC endpoints.

1 Like

You have to have a full archival node to run pokt so I assume it’s true :laughing:

1 Like