2

I'm presently synchronising to the Ethereum blockchain using geth.

I'm seeing two types of message and have a bit of an understanding gap in what they mean. The messages are shown below, with my guess at what they mean.

Synchronisation message type 1:

I0906 10:09:01.619035 eth/handler.go:295] Peer 77e6a5959a5e0529 [eth/63]: timed out DAO fork-check, dropping 
  • I0906 - Not sure - a log ID?
  • 10:09:01.619035 - time
  • eth/handler.go:295] - unsure?
  • Peer 77e6a5959a5e0529 - the peer from which the message originates
  • [eth/63]: timed out DAO fork-check, dropping - error code and message

Synchronisation message type 2:

I0906 10:16:21.875217 core/blockchain.go:963] imported 2048 block(s) (0 queued 0 ignored) including 4408 txs in 10.3195903s. #774796 [7fcf4021 / a0a4535a] 
  • I0906 - Not sure - a log ID?
  • 10:16:21.875217 - time
  • core/blockchain.go:963] - unsure?
  • imported 2048 block(s) (0 queued 0 ignored) including 4408 txs in 10.3195903s. - number of blocks downloaded, number of transactions and time taken to download - does "imported" have special meaning?
  • #774796 - block number, first or last of 2048?
  • [7fcf4021 / a0a4535a] - don't know

What does each segment of the above message types mean?

Is there a man page related to this?

2
  • 1
    The .go stuff refers to the code, like github.com/ethereum/go-ethereum/blob/master/core/… Commented Sep 6, 2016 at 10:00
  • @XavierLeprêtreB9lab thanks, yes just been looking at that code. Presently trying to figure out the glog/logs behaviour - thinking that the I0906 is created when a log is initiated.... but can't find relevant code atm. Commented Sep 6, 2016 at 10:20

1 Answer 1

2

Message type 1, from the relevant code:

// If we're DAO hard-fork aware, validate any remote peer with regard to the hard-fork if daoBlock := pm.chainconfig.DAOForkBlock; daoBlock != nil { // Request the peer's DAO fork header for extra-data validation if err := p.RequestHeadersByNumber(daoBlock.Uint64(), 1, 0, false); err != nil { return err } // Start a timer to disconnect if the peer doesn't reply in time p.forkDrop = time.AfterFunc(daoChallengeTimeout, func() { glog.V(logger.Warn).Infof("%v: timed out DAO fork-check, dropping", p) pm.removePeer(p.id) }) // Make sure it's cleaned up if the peer dies off defer func() { if p.forkDrop != nil { p.forkDrop.Stop() p.forkDrop = nil } }() 

My interpretation is that any peers not(?) participating in the theDAO hard fork are dropped from the list of peers used to import blocks from.

  • I0906 - Still don't know?
  • 10:09:01.619035 - time
  • eth/handler.go:295] - file and line of relevant code
  • Peer 77e6a5959a5e0529 - the peer from which the message originates
  • [eth/63]: - p message code?
  • timed out DAO fork-check, dropping - message

Message type 2, from the relevant code:

 if (stats.queued > 0 || stats.processed > 0 || stats.ignored > 0) && bool(glog.V(logger.Info)) { tend := time.Since(tstart) start, end := chain[0], chain[len(chain)-1] glog.Infof("imported %d block(s) (%d queued %d ignored) including %d txs in %v. #%v [%x / %x]\n", stats.processed, stats.queued, stats.ignored, txcount, tend, end.Number(), start.Hash().Bytes()[:4], end.Hash().Bytes()[:4]) } go self.postChainEvents(events, coalescedLogs) 
  • I0906 - still unsure - I think it might be created when glog is initialised
  • 10:16:21.875217 - time
  • core/blockchain.go:963] - file and line of code
  • imported 2048 block(s) - 2048 = stats.processed number of processed blocks
  • (0 queued 0 ignored) - stats.queued, stats.ignored
  • including 4408 txs in 10.3195903s. - number of transactions txcount and time taken to process tend
  • #774796 - last block number (of the 2048 imported), end.Number()
  • [7fcf4021 / a0a4535a] - first 4 bytes of hashes of the first and last blocks (of the 2048 imported), start.Hash().Bytes()[:4], end.Hash().Bytes()[:4]

As regards the I0906 I think it relates to the tag parameter of [glog][2], but I'm still not sure:

func create(tag string, t time.Time) (f *os.File, filename string, err error) { ... 

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.