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?

reardenlife
  • 173
  • 6

2 Answers2

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.

reardenlife
  • 173
  • 6
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.

Ismael
  • 30,570
  • 21
  • 53
  • 96