#StackBounty: #go-ethereum How to view my contract's .send(value) activity?

Bounty: 50

I have my contract address = “0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee

My contract pay back ether to some account: msg.sender.send( amountToGain ) For example msg.sender should gain amountToGain amount. I would like to see this payment using geth if possible.

How could I view the list of value(ether) sent from my contract address to other addresses? The addr.send(amnt)‘s act/transaction from=>to (value) does not show up on the block explorer. So by using this function we can anonymously sent money to other addresses and FBI cannot track us.

I have used this script(Common useful JavaScript snippets for geth) but it does not return anything when I used my contract address and msg.sender.send( amountToGain ) action is actually performed.

For example I view following:

  tx hash          : 0x98fb1385453e7f22662789dde2fb88fc4d9312371fc9326f5113599f6d036728
   nonce           : 8247
   blockHash       : 0x942aececdc56a5bdd3265f3c9e898152fdb66d7ea6e91ba1377896a46daf1c25
   blockNumber     : 1346471
   transactionIndex: 0
   from            : 0x6af0204187a93710317542d383a1b547fa42e705
   to              : 0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee
   value           : 0
   time            : 1498054743 Wed, 21 Jun 2017 14:19:03 GMT

But the transaction: from contract(0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee) to client(0x6af0204187a93710317542d383a1b547fa42e705) there is money has been transferred, which I cannot view as a transaction.

So basically we cannot trace/proof the sent money amount and whom the contract sent to.

[Q] Could we verify the value has been sent to specific account using web3.debug.traceTransaction( tx )?

Example Contract:

pragma solidity ^0.4.0;

contract TestSend {

    uint public balance ;

    function TestSend() {
        balance = 0 ; 
    }

    function () {
        throw ;
    }

    function pay() payable public  {
        balance += msg.value ; 
    }

     function withdraw(address addr,uint amnt)  public  {

        balance -=  amnt  ; 

        if (! addr.send(amnt)) {
              balance +=  amnt ; 
        }
    }     
}


Get this bounty!!!

#StackBounty: #go-ethereum How to view my contract's .send(value) activity?

Bounty: 50

I have my contract address = “0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee

My contract pay back ether to some account: msg.sender.send( amountToGain ) For example msg.sender should gain amountToGain amount. I would like to see this payment using geth if possible.

How could I view the list of value(ether) sent from my contract address to other addresses? The addr.send(amnt)‘s act/transaction from=>to (value) does not show up on the block explorer. So by using this function we can anonymously sent money to other addresses and FBI cannot track us.

I have used this script(Common useful JavaScript snippets for geth) but it does not return anything when I used my contract address and msg.sender.send( amountToGain ) action is actually performed.

For example I view following:

  tx hash          : 0x98fb1385453e7f22662789dde2fb88fc4d9312371fc9326f5113599f6d036728
   nonce           : 8247
   blockHash       : 0x942aececdc56a5bdd3265f3c9e898152fdb66d7ea6e91ba1377896a46daf1c25
   blockNumber     : 1346471
   transactionIndex: 0
   from            : 0x6af0204187a93710317542d383a1b547fa42e705
   to              : 0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee
   value           : 0
   time            : 1498054743 Wed, 21 Jun 2017 14:19:03 GMT

But the transaction: from contract(0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee) to client(0x6af0204187a93710317542d383a1b547fa42e705) there is money has been transferred, which I cannot view as a transaction.

So basically we cannot trace/proof the sent money amount and whom the contract sent to.

[Q] Could we verify the value has been sent to specific account using web3.debug.traceTransaction( tx )?

Example Contract:

pragma solidity ^0.4.0;

contract TestSend {

    uint public balance ;

    function TestSend() {
        balance = 0 ; 
    }

    function () {
        throw ;
    }

    function pay() payable public  {
        balance += msg.value ; 
    }

     function withdraw(address addr,uint amnt)  public  {

        balance -=  amnt  ; 

        if (! addr.send(amnt)) {
              balance +=  amnt ; 
        }
    }     
}


Get this bounty!!!

#StackBounty: #go-ethereum How to view my contract's .send(value) activity?

Bounty: 50

I have my contract address = “0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee

My contract pay back ether to some account: msg.sender.send( amountToGain ) For example msg.sender should gain amountToGain amount. I would like to see this payment using geth if possible.

How could I view the list of value(ether) sent from my contract address to other addresses? The addr.send(amnt)‘s act/transaction from=>to (value) does not show up on the block explorer. So by using this function we can anonymously sent money to other addresses and FBI cannot track us.

I have used this script(Common useful JavaScript snippets for geth) but it does not return anything when I used my contract address and msg.sender.send( amountToGain ) action is actually performed.

For example I view following:

  tx hash          : 0x98fb1385453e7f22662789dde2fb88fc4d9312371fc9326f5113599f6d036728
   nonce           : 8247
   blockHash       : 0x942aececdc56a5bdd3265f3c9e898152fdb66d7ea6e91ba1377896a46daf1c25
   blockNumber     : 1346471
   transactionIndex: 0
   from            : 0x6af0204187a93710317542d383a1b547fa42e705
   to              : 0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee
   value           : 0
   time            : 1498054743 Wed, 21 Jun 2017 14:19:03 GMT

But the transaction: from contract(0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee) to client(0x6af0204187a93710317542d383a1b547fa42e705) there is money has been transferred, which I cannot view as a transaction.

So basically we cannot trace/proof the sent money amount and whom the contract sent to.

[Q] Could we verify the value has been sent to specific account using web3.debug.traceTransaction( tx )?

Example Contract:

pragma solidity ^0.4.0;

contract TestSend {

    uint public balance ;

    function TestSend() {
        balance = 0 ; 
    }

    function () {
        throw ;
    }

    function pay() payable public  {
        balance += msg.value ; 
    }

     function withdraw(address addr,uint amnt)  public  {

        balance -=  amnt  ; 

        if (! addr.send(amnt)) {
              balance +=  amnt ; 
        }
    }     
}


Get this bounty!!!

#StackBounty: #go-ethereum How to view my contract's .send(value) activity?

Bounty: 50

I have my contract address = “0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee

My contract pay back ether to some account: msg.sender.send( amountToGain ) For example msg.sender should gain amountToGain amount. I would like to see this payment using geth if possible.

How could I view the list of value(ether) sent from my contract address to other addresses? The addr.send(amnt)‘s act/transaction from=>to (value) does not show up on the block explorer. So by using this function we can anonymously sent money to other addresses and FBI cannot track us.

I have used this script(Common useful JavaScript snippets for geth) but it does not return anything when I used my contract address and msg.sender.send( amountToGain ) action is actually performed.

For example I view following:

  tx hash          : 0x98fb1385453e7f22662789dde2fb88fc4d9312371fc9326f5113599f6d036728
   nonce           : 8247
   blockHash       : 0x942aececdc56a5bdd3265f3c9e898152fdb66d7ea6e91ba1377896a46daf1c25
   blockNumber     : 1346471
   transactionIndex: 0
   from            : 0x6af0204187a93710317542d383a1b547fa42e705
   to              : 0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee
   value           : 0
   time            : 1498054743 Wed, 21 Jun 2017 14:19:03 GMT

But the transaction: from contract(0x70094cae9a74c9ae08aa2ae643bcfdd9fa9edfee) to client(0x6af0204187a93710317542d383a1b547fa42e705) there is money has been transferred, which I cannot view as a transaction.

So basically we cannot trace/proof the sent money amount and whom the contract sent to.

[Q] Could we verify the value has been sent to specific account using web3.debug.traceTransaction( tx )?

Example Contract:

pragma solidity ^0.4.0;

contract TestSend {

    uint public balance ;

    function TestSend() {
        balance = 0 ; 
    }

    function () {
        throw ;
    }

    function pay() payable public  {
        balance += msg.value ; 
    }

     function withdraw(address addr,uint amnt)  public  {

        balance -=  amnt  ; 

        if (! addr.send(amnt)) {
              balance +=  amnt ; 
        }
    }     
}


Get this bounty!!!

#StackBounty: #go-ethereum #blockchain #nodes #golang #upgrading Geth 1.6.1 hangs throwing "unexpected fault address" fatal e…

Bounty: 50

Since upgraded to version 1.6.1, Geth node hangs form time to time (once a week) with following fatal error:

fatal error: fault
[signal SIGSEGV: segmentation violation code=0x1 addr=0x7f6453b72c88 pc=0x461097]

goroutine 1500070 [running]:
runtime.throw(0xe9b327, 0x5)
    /home/travis/.gimme/versions/go1.8.1.linux.amd64/src/runtime/panic.go:596 +0x95 fp=0xc43095a9f0 sp=0xc43095a9d0
runtime.sigpanic()
    /home/travis/.gimme/versions/go1.8.1.linux.amd64/src/runtime/signal_unix.go:297 +0x28c fp=0xc43095aa40 sp=0xc43095a9f0
runtime.memmove(0xc423ad8b80, 0x7f6453b72c88, 0x40)
    /home/travis/.gimme/versions/go1.8.1.linux.amd64/src/runtime/memmove_amd64.s:184 +0x657 fp=0xc43095aa48 sp=0xc43095aa40
github.com/ethereum/go-ethereum/consensus/ethash.hashimoto(0xc43095ad78, 0x20, 0x20, 0x3ff85f426cae9afa, 0x50ffff80, 0xc448b3abe0, 0xc43095ac48, 0x40b944, 0xd2b540, 0xc427ef5320, ...)
    /home/travis/gopath/src/github.com/ethereum/go-ethereum/consensus/ethash/algorithm.go:314 +0x36e fp=0xc43095abe0 sp=0xc43095aa48
github.com/ethereum/go-ethereum/consensus/ethash.hashimotoFull(0x7f6453000008, 0x143fffe0, 0x143fffe0, 0xc43095ad78, 0x20, 0x20, 0x3ff85f426cae9afa, 0xc448b3ab20, 0x20, 0x20, ...)
    /home/travis/gopath/src/github.com/ethereum/go-ethereum/consensus/ethash/algorithm.go:357 +0xbe fp=0xc43095ac58 sp=0xc43095abe0
github.com/ethereum/go-ethereum/consensus/ethash.(*Ethash).mine(0xc420fc0b40, 0xc43363c990, 0x0, 0x3ff85f426cac4155, 0xc427ef5320, 0xc427ef5380)
    /home/travis/gopath/src/github.com/ethereum/go-ethereum/consensus/ethash/sealer.go:130 +0x451 fp=0xc43095af68 sp=0xc43095ac58
github.com/ethereum/go-ethereum/consensus/ethash.(*Ethash).Seal.func1(0xc420695aa0, 0xc420fc0b40, 0xc43363c990, 0xc427ef5320, 0xc427ef5380, 0x0, 0x3ff85f426cac4155)
    /home/travis/gopath/src/github.com/ethereum/go-ethereum/consensus/ethash/sealer.go:72 +0x87 fp=0xc43095afa8 sp=0xc43095af68
runtime.goexit()
    /home/travis/.gimme/versions/go1.8.1.linux.amd64/src/runtime/asm_amd64.s:2197 +0x1 fp=0xc43095afb0 sp=0xc43095afa8
created by github.com/ethereum/go-ethereum/consensus/ethash.(*Ethash).Seal
    /home/travis/gopath/src/github.com/ethereum/go-ethereum/consensus/ethash/sealer.go:73 +0x1d7

Any idea what is the reason for this error? how to fix? Thx!


Get this bounty!!!

#StackBounty: #go-ethereum #json-rpc #private-key #keystore #encryption How to decrypt an ECIES encrypted message using a geth account …

Bounty: 50

A geth node is managing an Ethereum account, having the control over its private key at keystore folder. I guess to keep it safe, best practices are letting geth by its own perform all operations that require access to the private key. Well, the case is I need to decrypt a message that was encrypted using the public key of the geth account, in order to be only readable by this account. So, is there any geth function via JSON-RPC capable of decrypting a message using the private key of the account? Something like this:

ECIES.Decrypt(account, message);

The only other choice is left seems to be accessing directly to the keystore folder and decrypt the message using the private key there, but I don’t feel comfortable doing so, it seems a quite insecure scheme, right?

Ref.:

How to encrypt a message with the public-key of an Ethereum address


Get this bounty!!!

#StackBounty: #go-ethereum #transactions #testnets #blocks #ropsten Transaction logged at geth node, but unable to locate Transaction e…

Bounty: 150

When sending new transactions one at a time (meaning separated by 1 or several minutes in time) they are correctly broadcasted and mined. But when sending several of them one after another (spearated by just a few seconds) most of them are lost. Geth node confirms reception of the transaction, but blockchain Ropsten do not show them.

Here it is a set of transactions, most of them not available at Ropsten:

I0421 14:23:57.216680 internal/ethapi/api.go:1107] Tx(d83896adacd210a545d8bc53be2672d2bbb535cd6fd93fc6d74dcafb24c047ea) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:23:41.739022 internal/ethapi/api.go:1107] Tx(c6002dc6a3b28b6caba7ed7cb143d79147dc705437ccf70e267a4b2379f7920d) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:23:08.040512 internal/ethapi/api.go:1107] Tx(dcaa2a36ca4e2c5c3377e6b1f72d127242b4556c001efc3aca38c980c4e4c333) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:23:07.542375 internal/ethapi/api.go:1107] Tx(dcaa2a36ca4e2c5c3377e6b1f72d127242b4556c001efc3aca38c980c4e4c333) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:23:01.623979 internal/ethapi/api.go:1107] Tx(c70976a147e3e268131b0ed2be4555277371f439bbfe641ed1c55acaeec725eb) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:22:54.749671 internal/ethapi/api.go:1107] Tx(c3089a845110a871713bead6b71984ac5053cf4c2a3baa864e7ba0cf4499280b) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:22:49.069954 internal/ethapi/api.go:1107] Tx(fb629dc7f75b9ad486fd48afe3838c093567463d850b19c867c58520420eb9e7) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:22:35.357242 internal/ethapi/api.go:1107] Tx(1cae8925fb57971c126f37d2cef98f71696523cd109b7359f2f5845f1f05ca6a) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:22:24.175374 internal/ethapi/api.go:1107] Tx(9aceebdb23c4542ea5469d4cf05cc3ee7bddc7ea55fdae05ea63c45c9e581a70) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:22:16.787944 internal/ethapi/api.go:1107] Tx(7a2d0660aeec7698328e1e1ee96ecc929f4f6323fd22c5a337c92995bf88b4cf) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:22:08.852178 internal/ethapi/api.go:1107] Tx(73e7586a05ed17f1acb21fae93806349334881393c4493d4c708e3a902cd16c6) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:22:01.956836 internal/ethapi/api.go:1107] Tx(2ded9002531b59dd7c42dcb2a51ab420be555d8c7a26269334c24ce8971e1b6e) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df
I0421 14:21:53.184982 internal/ethapi/api.go:1107] Tx(9a9ac63a5d7b061b1597892f63a906c195c258c66b81e8d2f943ca9b5664f314) to: &ce8efd03766a309af57ddeb9c79f3e7cd23da0df

For example,

https://ropsten.etherscan.io/tx/0x2ded9002531b59dd7c42dcb2a51ab420be555d8c7a26269334c24ce8971e1b6e

says “Unable to locate Transaction entry”.

How can I find out where and why those transaction became lost? Any idea how to debug the process?

Refs.:

Transaction stuck since yesterday

Transaction mined or not?


Get this bounty!!!

#StackBounty: #go-ethereum #blockchain #mining #ropsten #tesnets Geth node not mining anymore since synced to new Ropsten testnet

Bounty: 100

After upgrading geth node to new Ropsten testnet node is not mining anymore, even though log messages seem it is trying to:

I0328 09:51:54.537322 miner/worker.go:542] commit new work on block 645501 with 3 txs & 0 uncles. Took 7.0169ms
I0328 09:51:54.510653 core/blockchain.go:1042] imported 1 blocks,     1 txs (  2.461 Mg) in  19.615ms (125.473 Mg/s). #645500 [decf1899…]
I0328 09:51:49.199444 miner/worker.go:542] commit new work on block 645500 with 3 txs & 0 uncles. Took 10.9284ms
I0328 09:51:49.188250 core/blockchain.go:1042] imported 1 blocks,     0 txs (  0.000 Mg) in   8.887ms ( 0.000 Mg/s). #645499 [d7e75631…]
I0328 09:51:41.826702 miner/worker.go:542] commit new work on block 645499 with 2 txs & 0 uncles. Took 1.0329ms
I0328 09:51:41.825596 core/blockchain.go:1042] imported 1 blocks,     0 txs (  0.000 Mg) in   2.866ms ( 0.000 Mg/s). #645498 [4fde3f80…]
I0328 09:51:40.335148 miner/worker.go:542] commit new work on block 645498 with 2 txs & 0 uncles. Took 1.0338ms

The miner address is the following:

https://ropsten.etherscan.io/address/0xf28dafbfeb41bf32869c9d498da0d651d0206ed4#mine

The command line to launch geth node is this one:

geth --testnet --rpc --rpcapi "db,eth,net,web3,personal" --mine --etherbase "0xf28dafbfeb41bf32869c9d498da0d651d0206ed4" --gasprice "1000000000" --bootnodes "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303,enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303"

After 2 days mining the geth node got 1 block mined:

https://ropsten.etherscan.io/block/653885

Before Ropsten the same node was mining at a rate of 2 blocks per hour, but now it mines at 1 block per day or even slower.

Any hint about what is happening? Thx!


Get this bounty!!!