3

I just installed pyethapp. However, I'm unable to sync the blockchain. Here is what I get when I run the client:

0 ✓ user@host ~ $ pyethapp run

Failed to import scrypt. This is not a fatal error but does
mean that you cannot create or decrypt privkey jsons that use
scrypt

INFO:app  using data in path=/home/user/.config/pyethapp
INFO:config loading config path=/home/user/.config/pyethapp
INFO:app  omitting reporting of 8893 accounts in genesis 
? ''
: {}
accounts: {keystore_dir: keystore, must_include_coinbase: true}
block:
  ACCOUNT_INITIAL_NONCE: 0
  BLKLIM_FACTOR_DEN: 2
  BLKLIM_FACTOR_NOM: 3
  BLOCK_DIFF_FACTOR: 2048
  BLOCK_REWARD: 5000000000000000000
  DIFF_ADJUSTMENT_CUTOFF: 13
  EXPDIFF_FREE_PERIODS: 2
  EXPDIFF_PERIOD: 100000
  GASLIMIT_ADJMAX_FACTOR: 1024
  GASLIMIT_EMA_FACTOR: 1024
  GENESIS_COINBASE: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  GENESIS_DIFFICULTY: 131072
  GENESIS_EXTRA_DATA: ''
  GENESIS_GAS_LIMIT: 3141592
  GENESIS_INITIAL_ALLOC: {}
  GENESIS_MIXHASH: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
    \0"
  GENESIS_NONCE: "\0\0\0\0\0\0\0*"
  GENESIS_PREVHASH: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
    \0"
  GENESIS_TIMESTAMP: 0
  HOMESTEAD_DIFF_ADJUSTMENT_CUTOFF: 10
  HOMESTEAD_FORK_BLKNUM: 1150000
  MAX_EXTRADATA_LENGTH: 32
  MAX_UNCLES: 2
  MAX_UNCLE_DEPTH: 6
  MIN_DIFF: 131072
  MIN_GAS_LIMIT: 5000
  NEPHEW_REWARD: 156250000000000000
  POW_EPOCH_LENGTH: 30000
  UNCLE_DEPTH_PENALTY_FACTOR: 8
client_version_string: pyethapp/v1.2.1/linux2/py2.7.11
data_dir: !!python/unicode '/home/user/.config/pyethapp'
db: {implementation: LevelDB}
deactivated_services: [pow]
discovery:
  bootstrap_nodes: ['enode://487611428e6c99a11a9795a6abe7b529e81315ca6aad66e2a2fc76e3adf263faba0d35466c2f8f68d561dbefa8878d4df5f1f2ddb1fbeab7f42ffb8cd328bd4a@5.1.83.226:30303',
    'enode://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@52.16.188.185:30303',
    'enode://de471bccee3d042261d52e9bff31458daecc406142b401d4cd848f677479f73104b9fdeb090af9583d3391b7f10cb2ba9e26865dd5fca4fcdc0fb1e3b723c786@54.94.239.50:30303',
    'enode://2676755dd8477ad3beea32b4e5a144fa10444b70dfa3e05effb0fdfa75683ebd4f75709e1f8126cb5317c5a35cae823d503744e790a3a038ae5dd60f51ee9101@144.76.62.101:30303']
  listen_host: 0.0.0.0
  listen_port: 30303
eth:
  block:
    ACCOUNT_INITIAL_NONCE: 0
    BLKLIM_FACTOR_DEN: 2
    BLKLIM_FACTOR_NOM: 3
    BLOCK_DIFF_FACTOR: 2048
    BLOCK_REWARD: 5000000000000000000
    DIFF_ADJUSTMENT_CUTOFF: 13
    EXPDIFF_FREE_PERIODS: 2
    EXPDIFF_PERIOD: 100000
    GASLIMIT_ADJMAX_FACTOR: 1024
    GASLIMIT_EMA_FACTOR: 1024
    GENESIS_COINBASE: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
    GENESIS_DIFFICULTY: 17179869184
    GENESIS_EXTRA_DATA: !!binary |
      Ebvo2040e06Mk3wcg3Dkte0zrbPbacvbejjh5Qsbgvo=
    GENESIS_GAS_LIMIT: 5000
    GENESIS_MIXHASH: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
      \0\0"
    GENESIS_NONCE: "\0\0\0\0\0\0\0B"
    GENESIS_PREVHASH: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
      \0\0"
    GENESIS_TIMESTAMP: 0
    HOMESTEAD_DIFF_ADJUSTMENT_CUTOFF: 10
    HOMESTEAD_FORK_BLKNUM: 1150000
    MAX_EXTRADATA_LENGTH: 32
    MAX_UNCLES: 2
    MAX_UNCLE_DEPTH: 6
    MIN_DIFF: 131072
    MIN_GAS_LIMIT: 5000
    NEPHEW_REWARD: 156250000000000000
    POW_EPOCH_LENGTH: 30000
    UNCLE_DEPTH_PENALTY_FACTOR: 8
  genesis: /home/user/opt/pyethapp/pyethapp/genesisdata/genesis_frontier.json
  genesis_hash: d4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3
  network_id: 1
  pruning: -1
ipc: {ipcpath: /tmp/pyethapp.ipc}
jsonrpc: {corsdomain: '', listen_host: 127.0.0.1, listen_port: 4000}
log_disconnects: false
node: {privkey_hex: 48************************************************************27}
p2p:
  bootstrap_nodes: []
  listen_host: 0.0.0.0
  listen_port: 30303
  max_peers: 10
  min_peers: 5
post_app_start_callback: null
pow: {activated: false, coinbase_hex: null, cpu_pct: 100, mine_empty_blocks: true}

WARNING:accounts  keystore directory does not exist directory=/home/user/.config/pyethapp/keystore
WARNING:accounts  no accounts found 
INFO:app  registering service service=accounts
INFO:db No contrib directory found, so not loading any user services 
INFO:db opening LevelDB path=/home/user/.config/pyethapp/leveldb max_open_files=128 block_cache_size=8388608 write_buffer_size=4194304
INFO:app  registering service service=db
INFO:p2p.discovery  NodeDiscovery init 
INFO:p2p.discovery  starting discovery proto this_enode=enode://afd01fba0c5731191484175421a58f415171ac2e1ded4653ddfd23ff87020490cdb31306e286ba09514a83fc516481f721512a61b85a83f77416d280e63f5308@0.0.0.0:30303
INFO:app  registering service service=discovery
INFO:p2p.peermgr  PeerManager init 
INFO:app  registering service service=peermanager
INFO:eth.chainservice initializing chain 
INFO:eth.chainservice chain at number=0
INFO:app  registering service service=chain
INFO:app  registering service service=jsonrpc
INFO:app  registering service service=ipc
INFO:app  registering service service=console
INFO:app  starting 
INFO:p2p.peermgr  starting peermanager 
INFO:p2p.peermgr  starting listener addr=('0.0.0.0', 30303)
INFO:p2p.discovery  starting discovery 
INFO:p2p.discovery  starting listener host=0.0.0.0 port=30303
INFO:jsonrpc  starting IPCRPCServer ipcpath=/tmp/pyethapp.ipc
INFO:jsonrpc  starting JSONRPCServer port=4000
INFO:p2p.peermgr  waiting for bootstrap 
INFO:p2p.peer received hello client_version=pyethapp/v1.1.1/linux2/py2.7.10 version=55 capabilities=(('eth', 61), ('p2p', 4))
INFO:eth.sync.task  spawning new synctask 
INFO:p2p.peer received hello client_version=Geth/v1.3.5-34b622a2/linux/go1.5.1 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
INFO:p2p.peer received hello client_version=Geth/v1.4.1-rc-4b9de756/windows/go1.6.2 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
INFO:p2p.peer received hello client_version=Geth/v1.3.5-3be156fb/linux/go1.4.2 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
WARNING:eth.chainservice  invalid genesis hash remote_id=<ETHProtocol <Peer('120.27.121.190', 41303) Geth/v1.3.5-3be156fb>> genesis=5157cbd8975669bdb52c8ba7073bf08fd868946a9f70db197e74097b4342050e
WARNING:protocol  protocol exception, stopping error=wrong genesis block
INFO:p2p.peer received hello client_version=Geth/v1.4.0-unstable/linux/go1.5.1 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
WARNING:eth.chainservice  invalid network id remote_network_id=104971 expected_network_id=1
WARNING:protocol  protocol exception, stopping error=wrong network_id
INFO:p2p.peer received hello client_version=Ged/v1.3.6-66937ae4/linux/go1.6.1 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
WARNING:eth.chainservice  invalid network id remote_network_id=88 expected_network_id=1
WARNING:protocol  protocol exception, stopping error=wrong network_id
INFO:p2p.peer received hello client_version=Geth/eth-peer-lon02-2/v1.3.5-34b622a2/linux/go1.6 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61), ('shh', 2))
WARNING:eth.chainservice  invalid network id remote_network_id=996787477 expected_network_id=1
WARNING:protocol  protocol exception, stopping error=wrong network_id
INFO:p2p.peer received hello client_version=Gshift/Explorer/v2.5.0-1d1c88f2/linux/go1.6.1 version=4 capabilities=(('shift', 63), ('shift', 62), ('shift', 61))
INFO:p2p.peer received hello client_version=Geth/v1.3.6/windows/go1.5.1 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
INFO:p2p.peer received hello client_version=Gshift/v2.5.0-259fd3a2/linux/go1.5.1 version=4 capabilities=(('shift', 63), ('shift', 62), ('shift', 61))
INFO:p2p.peer received hello client_version=Geth/v1.3.5/windows/go1.5.1 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
WARNING:p2p.discovery.kademlia  recv ping from self?! 
WARNING:p2p.discovery.kademlia  recv ping from self?! 
INFO:p2p.peer received hello client_version=Geth/v1.4.1-rc-4b9de756/windows/go1.6.2 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
INFO:p2p.peer received hello client_version=Geth/eth-peer-dal09-6/v1.3.5-34b622a2/linux/go1.6 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61), ('shh', 2))
WARNING:eth.chainservice  invalid network id remote_network_id=996787477 expected_network_id=1
WARNING:protocol  protocol exception, stopping error=wrong network_id
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/gevent-1.1.0-py2.7-linux-x86_64.egg/gevent/greenlet.py", line 534, in run
    result = self._run(*self.args, **self.kwargs)
  File "/usr/lib/python2.7/site-packages/devp2p-0.7.2-py2.7.egg/devp2p/peer.py", line 230, in _run_decoded_packets
    self._handle_packet(self.mux.packet_queue.get())  # get_packet blocks
  File "/usr/lib/python2.7/site-packages/devp2p-0.7.2-py2.7.egg/devp2p/peer.py", line 202, in _handle_packet
    cmd_id], protocol=protocol.name, orig_cmd_id=packet.cmd_id)
KeyError: 6
<Greenlet at 0x7f61de03f870: <bound method Peer._run_decoded_packets of <Peer('120.25.154.157', 19999) >>> failed with KeyError

INFO:p2p.peer received hello client_version=Geth/v1.3.5/windows/go1.5.1 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
INFO:p2p.peer received hello client_version=Ged/v1.3.6-66937ae4/linux/go1.5.1 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
WARNING:eth.chainservice  invalid network id remote_network_id=88 expected_network_id=1
WARNING:protocol  protocol exception, stopping error=wrong network_id
INFO:p2p.peer received hello client_version=Gshift/Explorer/v2.5.0-1d1c88f2/linux/go1.6.1 version=4 capabilities=(('shift', 63), ('shift', 62), ('shift', 61))
INFO:p2p.peer received hello client_version=Geth/v1.3.6/linux/go1.5.1 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
WARNING:eth.chainservice  invalid network id remote_network_id=2 expected_network_id=1
WARNING:protocol  protocol exception, stopping error=wrong network_id
INFO:p2p.peer received hello client_version=Geth/v1.3.5/linux/go1.5.1 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
INFO:p2p.peer received hello client_version=Geth/v1.3.6/linux/go1.5.1 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
WARNING:eth.chainservice  invalid network id remote_network_id=2 expected_network_id=1
WARNING:protocol  protocol exception, stopping error=wrong network_id
INFO:p2p.peer received hello client_version=Geth/v1.3.5-4f8c7bfd/linux/go1.6.2 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
WARNING:eth.chainservice  invalid network id remote_network_id=9895630 expected_network_id=1
WARNING:protocol  protocol exception, stopping error=wrong network_id
INFO:p2p.peer received hello client_version=Geth/v1.3.5-34b622a2/linux/go1.6 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))

And here is what I get from the console:

^C
Hit [ENTER], to launch console; [Ctrl+C] again to quit! [3s]




Entering Console
Tip:
  use `lastlog(n)` to see n lines of log-output. [default 10] 
  use `lasterr(n)` to see n lines of stderr.
  use `help(eth)` for help on accessing the live chain.


Python 2.7.11 (default, Mar 31 2016, 06:18:34) 
Type "copyright", "credits" or "license" for more information.

IPython 4.2.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: help(eth)


In [2]: eth.pending
Out[2]: <Block(#1 fec20c0d)>

In [3]: help(eth)


In [4]: eth.latest
Out[4]: <CachedBlock(#0 d4e56740)>

In [5]: lastlog(15)


In [6]: lasterr(15)


In [7]: 

How to sync pyethapp (python ethereum client) with the mainnet?


Update, I just figured, I might have to add a bootstrap node. Since I already got parity, geth and eth running on localhost I added them as bootstrap nodes with -b, However I get the following errors:

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/gevent-1.1.0-py2.7-linux-x86_64.egg/gevent/greenlet.py", line 534, in run
    result = self._run(*self.args, **self.kwargs)
  File "/usr/lib/python2.7/site-packages/devp2p-0.7.2-py2.7.egg/devp2p/peer.py", line 266, in _run_ingress_message
    self.mux.add_message(imsg)
  File "/usr/lib/python2.7/site-packages/devp2p-0.7.2-py2.7.egg/devp2p/muxsession.py", line 51, in _add_message_during_handshake
    rest = session.decode_authentication(msg)
  File "/usr/lib/python2.7/site-packages/devp2p-0.7.2-py2.7.egg/devp2p/rlpxcipher.py", line 224, in decode_authentication
    (size, sig, initiator_pubkey, nonce, version) = self.decode_auth_eip8(ciphertext)
  File "/usr/lib/python2.7/site-packages/devp2p-0.7.2-py2.7.egg/devp2p/rlpxcipher.py", line 261, in decode_auth_eip8
    assert len(ciphertext) >= size
AssertionError
<Peer('127.0.0.1', 37178) > failed with AssertionError

Is this a bug?

  • I got similar result to the first case. I tried again on testnet (deleting the mainnet data first). Again similar. Last message was, "INFO:p2p.peermgr waiting for bootstrap". Perhaps testnet is no longer maintained? Are there reliable bootstrap nodes for testnet and/or mainnet? – bitchaser May 23 '16 at 22:05
  • See my answer below. – Waqar Lim May 27 '16 at 7:25
3

The answer is patience. pyethapp is rather a proof of concept implementation than a production ready node.

I had to wait several hours until I noticed the client started to synchronize the main network. It's very slowly sync'ing for some days now and I have only the first million blocks on disk. Keep waiting for the rest.

TL;DR pyethapp works, but prepare some time if you want to work on main net.

  • Can i stop syncing? – TMOTTM Jun 8 '16 at 4:50
  • 1
    The main network? With pyethapp? Takes weeks. – Waqar Lim Jun 8 '16 at 8:41
  • I'm at around 2/3s of the blocks. Couple of days. – TMOTTM Jun 8 '16 at 20:27
2

In case someone finds this now (two years after the question was posted) like I did: After trying to fix various problems running pyethapp on mainnet I took a closer look at this page from the wiki. It implies that pyethapp does not work on the mainnet at the moment or at least did not in March 2017.

0

I also see this line in your log:

WARNING:accounts no accounts found

probably you need to generate an account first. Run

pyethapp account new

I don't think this may be a problem for syncing, but for sure not having an account will disable some features (like mining)

Regarding syncing, I suppose the node wants to collect the biggest possible number of pairs before starting to sync, in order to ensure it is downloading a consensus blockchain.

  • I have also tried with geth. Clearly pyethapp has some issue because geth synchronized much faster and without any delay. Meanwhile, pyethapp had some frequent exceptions trying to load this or that block. May be it is a bit outdated and doesn't support all the p2p protocol versions around, so it is more difficult for it to sync with peers? – WolvhLorien Jun 18 '16 at 13:08

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.