4

I've just installed truffle on an ubuntu virtualbox, and it is failing to deploy to a geth dev setup. Geth gives me a never-ending receipt not found for transaction 0xf19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38 message

Running geth:

$ geth --datadir ~/.ethereum/DevChain/ --port 30310 --rpc --networkid 4567890 --dev --lightkdf --nodiscover --maxpeers 0 --verbosity 6 --pprof --gpomin "50" --gpomax "50" --pprofport 6110 console 2> ~/geth.log
instance: Geth/v1.4.0-unstable/linux/go1.5.1
coinbase: 0xc04ee7e3a98cb68fcd2318ef0454377e23ec01c3
at block: 460 (Tue, 05 Apr 2016 21:26:26 PDT)
 datadir: /home/michael/.ethereum/DevChain
> personal.unlockAccount("0xc04ee7e3a98cb68fcd2318ef0454377e23ec01c3")
Unlock account 0xc04ee7e3a98cb68fcd2318ef0454377e23ec01c3
Passphrase: 

Running truffle deploy:

michael@u4:~/truffleProject$ truffle deploy
Using environment development.
Compiling ./contracts/MetaCoin.sol...
Sending MetaCoin.sol to the network...

Two accounts are set up in geth. Contract is just the default truffle contract:

contract MetaCoin {
        mapping (address => uint) balances;

        function MetaCoin() {
                balances[tx.origin] = 10000;
        }

        function sendCoin(address receiver, uint amount) returns(bool sufficient) {
                if (balances[msg.sender] < amount) return false;
                balances[msg.sender] -= amount;
                balances[receiver] += amount;
                return true;
        }

  function getBalance(address addr) returns(uint) {
    return balances[addr];
  }
}

The log output from geth:

I0405 21:33:17.139998 core/tx_pool.go:300] (t) 6330346565376533 => [NEW_CONTRACT] (0x53d230) f19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38
I0405 21:33:17.140082 eth/api.go:1071] Tx(0xf19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38) created: 0x0d1e8032f72411e130c2d6a5a23c6f8a082bab9e
I0405 21:33:17.140304 core/state/state_object.go:168] c04ee7e3a98cb68fcd2318ef0454377e23ec01c3: #0 2299685840800000000000 (- 314159200000000000)
I0405 21:33:17.140383 core/state/statedb.go:267] (+) 0d1e8032f72411e130c2d6a5a23c6f8a082bab9e
I0405 21:33:17.140402 core/state/state_object.go:168] c04ee7e3a98cb68fcd2318ef0454377e23ec01c3: #1 2299685840800000000000 (- 0)
I0405 21:33:17.140413 core/state/state_object.go:160] 0d1e8032f72411e130c2d6a5a23c6f8a082bab9e: #0 0 (+ 0)
I0405 21:33:17.140425 core/vm/vm.go:157] running byte VM 26d34cde
I0405 21:33:17.140487 core/vm/vm.go:160] byte VM 26d34cde done. time: 56.33µs instrc: 30
I0405 21:33:17.140500 core/state/state_object.go:160] c04ee7e3a98cb68fcd2318ef0454377e23ec01c3: #1 2299991360400000000000 (+ 305519600000000000)
I0405 21:33:17.140509 core/state/state_object.go:160] c04ee7e3a98cb68fcd2318ef0454377e23ec01c3: #1 2299991360400000000000 (+ 0)
I0405 21:33:17.140555 core/state/statedb.go:267] (+) 0000000000000000000000000000000000000000
I0405 21:33:17.140568 core/state/state_object.go:160] 0000000000000000000000000000000000000000: #0 8639600000000000 (+ 8639600000000000)
I0405 21:33:17.140663 core/state_processor.go:92] receipt{med=737a95552f168141e6d4f13cf41f2da4e46e9d00a9a1490ab946138c17d39703 cgas=86396 bloom=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 logs=[]}
I0405 21:33:17.140702 eth/handler.go:731] broadcast tx to 0 peers
I0405 21:33:18.145589 eth/api.go:962] receipt not found for transaction 0xf19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38
I0405 21:33:19.149835 eth/api.go:962] receipt not found for transaction 0xf19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38
I0405 21:33:20.152780 eth/api.go:962] receipt not found for transaction 0xf19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38
I0405 21:33:21.156125 eth/api.go:962] receipt not found for transaction 0xf19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38
I0405 21:33:22.158505 eth/api.go:962] receipt not found for transaction 0xf19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38
I0405 21:33:23.162283 eth/api.go:962] receipt not found for transaction 0xf19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38
I0405 21:33:24.164380 eth/api.go:962] receipt not found for transaction 0xf19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38
I0405 21:33:25.166750 eth/api.go:962] receipt not found for transaction 0xf19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38
I0405 21:33:26.170280 eth/api.go:962] receipt not found for transaction 0xf19898c656a7957808d38c881606360c55413d2f1c5b432e0b213379ab794b38
...etc...

Appreciate tips as I try to find a workable basic setup. Just want to play with some basic contract creation in a fast dev environment, and haven't yet gotten truffle or testrpc to fly for me. (Should I just be using the solidity realtime compiler and mist?)

2
  • can you please post your contract code? Also, do your test environment have accounts initialised? Apr 6, 2016 at 9:38
  • @arodriguezdonaire - accounts are set up and first account is unlocked (got an error before I unlocked). Added contract code above, though it's just the truffle default contract.
    – mowliv
    Apr 6, 2016 at 16:56

2 Answers 2

1

I would highly recommend taking a look at Mix if you haven't already and following this tutorial.

It looks like your block is not being mined and you have 0 peers in your network. Here is a private chain boot command I used in an older version of geth (note the --mine and --max_peers 2 flags):

geth --genesis ./private_env/genesis.json --datadir ./private_chain --rpc --rpcport 2060 --networkid 257291 --unlock primary --nodiscover --mine --minerthreads 8 --maxpeers 2 --unlock 0 --password ./private_env/password.txt > ./log.txt 2>&1

The genesis block was pre-seeded following this guide.

But really... no need to get this down and dirty these days unless you want to. Mix is great!

3
  • thanks! The --mine for geth was what was needed. I did create a genesis block following another guide. Don't need any peers in network when just doing local dev mining, right? And re. Mix, I will try it again. I did play with it about six tools back, and found the UI to be challenging. Could not get the window layout to a reasonable state, and thought I had read that it was waning as a tool in favor of other paths. Good to hear a vote of confidence. Are you an interested party for Mix or just a user?
    – mowliv
    Apr 6, 2016 at 17:12
  • You're right; you don't need peers for a private chain to get mined (I was mis-remembering). I am just a casual user of Mix so I'm totally neutral! Apr 6, 2016 at 17:55
  • Ok thanks. Tried start of their tutorial and got stuck immediately on where to put Sample in. Opened a ticket with them.
    – mowliv
    Apr 6, 2016 at 17:57
2

FWIW - this appears to be a new bug introduced somewhere between geth version 1.4.8 and 1.4.10. It appears that you need to be actively mining on the node you deploy on, otherwise the transactions just stay in the txpool forever. Prior to 1.4.10, I was able to deploy on a non-mining node just fine but after upgrading, I started to see errors like this.

Hope that info helps someone because it took a while to figure out. No idea why it's happening.

Your Answer

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

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