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?
Best Answer
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.