1

Full node is on 30303 port. Light node is on 30304 port. The log is below.

I started up the full node, made some transactions and then started up the light node.

Full node is run like this:

[root .eth]# cat run.sh
#!/usr/bin/env bash
geth --datadir /var/.eth/pn \
  --syncmode 'full' \
  --networkid 4242 \
  --verbosity 5 \
  --rpc --rpcapi db,eth,net,web3,personal,miner,admin \
  --rpcport 8666 --rpcaddr "0.0.0.0" --rpccorsdomain '*' \
  --nodiscover \
  --lightserv 20 \
  --lightpeers 10 \
  --mine \
  > log-fullnode.log 2>&1 &
#  --bootnodes 'enode://b82c69a13668b83c561731d2b7526ac2619b4c445f321937eee778093dbe9c572709df70f0bcd59a9744eee6dd7b1590c0a365e8f0600bd40dc6888a68bfd6fc@127.0.0.1:30310' \

Light node like this:

[root .eth]# cat run-light.sh
#!/usr/bin/env bash
geth --datadir /var/.eth/pn-light \
  --syncmode 'light' \
  --port=30304 \
  --networkid 4242 \
  --verbosity 9 \
  --nodiscover \
  --rpc --rpcapi db,eth,net,web3,personal,miner,admin \
  --rpcport 8546 --rpcaddr "0.0.0.0" --rpccorsdomain '*' \
  > log-lightnode.log 2>&1 &
#  --bootnodesv5 'enode://b82c69a13668b83c561731d2b7526ac2619b4c445f321937eee778093dbe9c572709df70f0bcd59a9744eee6dd7b1590c0a365e8f0600bd40dc6888a68bfd6fc@127.0.0.1:30310' \
#  --v5disc \

Genesis is here:

[root .eth]# cat genesis_poa.json
{
  "config": {
    "chainId": 42,
    "homesteadBlock": 1,
    "eip150Block": 2,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 3,
    "eip158Block": 3,
    "byzantiumBlock": 4,
    "clique": {
      "period": 0,
      "epoch": 30000
    }
  },
  "nonce": "0x0",
  "timestamp": "0x5a00bccf",
  "extraData": "0x000000000000000000000000000000000000000000000000000000000000000055d40a83b8445c004df5964ce4a0e261b599c01a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  "gasLimit": "0x47b760",
  "difficulty": "0x1",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "alloc": {
    "55d40a83b8445c004df5964ce4a0e261b599c01a": {
      "balance": "0x200000000000000000000000000000000000000000000000000000000000000"
    },
    "589724c5abf2bce219726477cf0a60fa09321380": {
      "balance": "0x100000000000000000000000000000000000000000000000000000000000000"
    }
  },
  "number": "0x0",
  "gasUsed": "0x0",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}

What might be the problem?

1

:) The problem was that I used two different genesis files for the nodes. The only difference was that in the full node I put the "period": 0 for the full node, but I initialized the light node with "period": 20. So that is why it recognized timestamp as invalid - it did not expect the blocks to be produced with such a short intervals. So I just made reinit of the light node with a genesis file I provided above and it fixed the problem.

0

It gets connect with full node

DEBUG[01-11|01:50:12.250] Adding p2p peer                          name=Geth/v1.9.0-unstable... addr=127.0.0.1:30303 peers=1
TRACE[01-11|01:50:12.251] connection set up                        id=ffc95673c671c384 addr=127.0.0.1:30303 conn=staticdial inbound=false
TRACE[01-11|01:50:12.251] Dial task done                           task="staticdial ffc95673c671c384 127.0.0.1:30303"
DEBUG[01-11|01:50:12.251] Light Ethereum peer connected            id=ffc95673c671c384 conn=staticdial name=Geth/v1.9.0-unstable-a4af7343/linux-amd64/go1.11.2
TRACE[01-11|01:50:12.253] Registering sync peer                    peer=ffc95673c671c384
DEBUG[01-11|01:50:12.254] Received new announcement                id=ffc95673c671c384 conn=staticdial number=48 hash=985a98…2b96f1 reorg=0
DEBUG[01-11|01:50:12.254] Registered new entry                     enode=ffc95673c671c384
DEBUG[01-11|01:50:12.256] Synchronisation started                  id=ffc95673c671c384 conn=staticdial
INFO [01-11|01:50:12.257] Block synchronisation started
DEBUG[01-11|01:50:12.257] Synchronising with the network           peer=ffc95673c671c384 eth=63 head=985a98…2b96f1 td=97 mode=light
DEBUG[01-11|01:50:12.257] Retrieving remote chain height           peer=ffc95673c671c384

But sync fails with invalid timestamp in header

DEBUG[01-11|01:50:12.289] Invalid header encountered               number=2  hash=862e73…d7686a err="invalid timestamp"
WARN [01-11|01:50:12.289] Rolled back headers                      count=1   header=0->0 fast=0->0 block=0->0
DEBUG[01-11|01:50:12.289] Block body download terminated           err="block body download canceled (requested)"
DEBUG[01-11|01:50:12.289] Fetching batch of headers                id=ffc95673c671c384 conn=staticdial count=192 fromnum=49  skip=0   reverse=false
DEBUG[01-11|01:50:12.290] Header download terminated               peer=ffc95673c671c384
DEBUG[01-11|01:50:12.290] Transaction receipt download terminated  err="receipt download canceled (requested)"
DEBUG[01-11|01:50:12.291] Synchronisation terminated               elapsed=33.583028ms
WARN [01-11|01:50:12.291] Synchronisation failed, dropping peer    peer=ffc95673c671c384 err="retrieved hash chain is invalid"
TRACE[01-11|01:50:12.291] Unregistering sync peer                  peer=ffc95673c671c384

Check the clock in the computer is correct and synchronized with internet.

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.