1

I set up a private clique POA chain with 3 nodes, all of them are sealers.

I launch two nodes only, the blocks can be signed by the two nodes.

when I call clique.getSignersAtHash('block hash value'), the result also include the third signer, It's rather strange because the third node is not working.

How can I get correct signer address of each block? Thanks.

0

The function getSignersAtHash returns the list of authorized signers at that block.

Each block is signed by a single validator.

To obtain the signer for a block you can use the clique.getSnapshot

For block 256 you have to call clique.getSnapshot("0x100"), it only allows to pass the block number as hexadecimal string

> clique.getSnapshot("0x100")
{
  hash: "0xa70e4b860bd835ab69072776771641f906115bedb21cea7f58a22f3780156fc7",
  number: 256,
  recents: {
    255: "0x39438f6bc519c6f8f48339330cda8d4a85daf0e7",
    256: "0x7d7efa1f0d3bdb33e33b425cd5c9e421f323a644"
  },
  signers: {
    0x39438f6bc519c6f8f48339330cda8d4a85daf0e7: {},
    0x7d7efa1f0d3bdb33e33b425cd5c9e421f323a644: {},
    0x8c9d613d8877c58125ef57f885c7dc3cbc82b8a1: {}
  },
  tally: {},
  votes: []
}

In recent you have the signer of each block.

| improve this answer | |
  • Got it.I checked the JSON RPC website(github.com/ethereum/wiki/wiki/JSON-RPC), there is no information about clique api description.So where can I find the description about cliuqe sub-function?Thanks for your help. – Ntydrm Jun 9 '19 at 7:35
  • By the way, I found the latest geth version built from source code supports v6 leveldb database,while the latest version binary version supports v3 version, so what's the solution to update geth version in term of database version. I can not found related discussion about it.thanks. – Ntydrm Jun 9 '19 at 8:06
  • I found no documentation of clique beyond source code or comments on github. For other doubts it is better to create a new question. – Ismael Jun 9 '19 at 14:54
  • I have created the question before,the link is ethereum.stackexchange.com/questions/71172/…. – Ntydrm Jun 11 '19 at 2:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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