2

I'm trying to set up a single node proof-of-authority chain. I am using Parity v1.7.7 and have the following config file:

{
  "name": "LocalPoA_7545",
  "engine": {
    "instantSeal": {
      "params": {}
    }
  },
  "params": {
    "gasLimitBoundDivisor": "0x400",
    "maximumExtraDataSize": "0x20",
    "minGasLimit": "0x1388",
    "networkID": "0x1d79"
  },
  "genesis": {
    "seal": {
      "ethereum": {
        "nonce": "0x00006d6f7264656e",
        "mixHash": "0x00000000000000000000000000000000000000647572616c65787365646c6578"
      }
    },
    "difficulty": "0x20000",
    "author": "0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData": "0x",
    "gasLimit": "0x1312d00"
  },
  "account": {
    "0x0000000000000000000000000000000000000001": { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
    "0x0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
    "0x0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
    "0x0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } }
    "0xc66eef4851b436dea3fd6492efac8784fc061612": { "balance": "1000000000000000000000" }
  }
}

I am able to boot the node without problems, and I can connect to it with geth attach. However, the node won't pick up any transactions either in the geth console or through truffle migrate, i.e. I am sending transactions to the correct port but my log file looks like this:

2017-12-12 14:17:25  Public node URL: enode://6c6797154a0781b45a4a93ff97c7e4cf69d465910039c09d1be5a5f5e6afd4880426ca267da93a73b96b4bbd99ed3799ce3c2d5aba72e57c16a88fbfb7d827b4@192.168.1.65:7547
2017-12-12 14:17:50     0/25 peers      8 KiB chain    8 KiB db  0 bytes queue 448 bytes sync  RPC:  0 conn,  7 req/s, 784 µs
2017-12-12 14:18:20     0/25 peers      8 KiB chain    8 KiB db  0 bytes queue 448 bytes sync  RPC:  0 conn,  0 req/s,  68 µs
2017-12-12 14:18:50     0/25 peers      8 KiB chain    8 KiB db  0 bytes queue 448 bytes sync  RPC:  0 conn,  0 req/s,  78 µs

Note that it is not picking up any transactions.

Am I missing something in my config file?

Edit: May or may not be relevant, but my geth console does not show anything for eth.accounts (there should be at least one per the config).

2
  • Can you try with --force-sealing ?
    – q9f
    Dec 12, 2017 at 22:47
  • No dice on --force-seealing. Dec 12, 2017 at 22:53

1 Answer 1

3

I have figured this out. I was not using an --engine-signer, so no one was sealing the transactions. Once I specified this flag, I got an error saying the account was not associated with the specified chain. Although I seeded accounts on the chain with ether in the genesis, this is not the same as having accounts on Parity itself. Thus, I needed to set a --keys-path and have keystore files in there to generate accounts.

With the --engine-signer account unlocked, my chain is now sealing transactions.

1
  • Instant seal does not have any engine signer, did you post the wrong chain spec in the question?
    – q9f
    Dec 14, 2017 at 9:49

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.