I have cloned the cpp-ethereum for Linux (Ubuntu) from git as follows:

$ git clone https://github.com/ethereum/cpp-ethereum

$ cd cpp-ethereum

cpp-ethereum$ git checkout 5669c209f4f8dbb7dc3f744e8e2a9c92f1104ca3

cpp-ethereum$ git checkout -b develop

cpp-ethereum$ git submodule update --init --recursive

cpp-ethereum$ mkdir -p build cpp-ethereum$ cd build

cpp-ethereum/build$ git clone https:///github.com/cinemast/libjson-rpc-cpp

cpp-ethereum/build/$ cmake .. && make

cpp-ethereum/build/$ eth

It shows the following error:

12:27:18|p2p Couldn't punch through NAT (or no NAT in place).

How to solve this problem?

Also when we are running in local machine, what is the need of NAT? Is it using looking for some server outside our network?

  • Regarding the NAT issue: Try enabling UPnP on your router.
    – q9f
    Commented Nov 8, 2016 at 12:07

1 Answer 1


The problem is probably due to your home router settings, specifically that UPnP isn't enabled. Try logging into your router and enabling the feature.

(NAT traversal is facilitated by UPnP via the IGD Protocol.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.