Closed Satavim closed 6 years ago
@markya0616 can you please suggest any solution to the above issue.
@Satavim The root cause is Quorum always uses HomesteadSigner
, but worker uses EIP155Signer
. It may get wrong address and make some tx array index out of range. We've already file a PR to solve this issue and make private transactions work. Please refer our PR: https://github.com/jpmorganchase/quorum/pull/217.
@markya0616 Ok will wait for issue to be fixed.
jpmorganchase/quorum#217 is merged now
Have downloaded the latest branch. But still not able to do private transaction.
Giving the below error::
err creating contract Error: Non-200 status code: &{Status:500 Internal Server Error StatusCode:500 Proto:HTTP/1.1 ProtoMajor:1 ProtoMinor:1 Header:map[Date:[Fri, 17 Nov 2017 13:47:31 GMT] Server:[Warp/3.2.13]] Body:0xc4353d1e00 ContentLength:-1 TransferEncoding:[chunked] Close:false Uncompressed:false Trailer:map[] Request:0xc4350d7c20 TLS:
@Satavim I tried the latest branch in my side, and it works! Can you try it again? or provide more geth log. Thanks.
I'm also facing the same problem. In node log, I'm getting panic: runtime error: index out of range:
nohup: appending output to 'nohup.out'
INFO [11-27|20:24:29] Starting peer-to-peer node instance="Geth/vquorum 2.0.0 (geth 1.7.2-stable)-3d91976f/linux-amd64/go1.9.2"
INFO [11-27|20:24:29] Allocated cache and file handles database=/home/dev/quorum-examples/examples/7nodes/qdata/dd1/geth/chaindata cache=128 handles=1024
WARN [11-27|20:24:29] Upgrading database to use lookup entries
INFO [11-27|20:24:29] Reconfiguring old genesis as Quorum
INFO [11-27|20:24:29] Initialised chain configuration config="{ChainID:
goroutine 47 [running]: github.com/ethereum/go-ethereum/core/types.NewTransactionsByPriceAndNonce(0x19dd8c0, 0xc421a48570, 0xc4214f6360, 0x0) /home/dev/quorum/build/_workspace/src/github.com/ethereum/go-ethereum/core/types/transaction.go:399 +0x492 github.com/ethereum/go-ethereum/miner.(worker).commitNewWork(0xc420468a00) /home/dev/quorum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/worker.go:463 +0xa40 github.com/ethereum/go-ethereum/miner.(worker).update(0xc420468a00) /home/dev/quorum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/worker.go:259 +0x6e9 created by github.com/ethereum/go-ethereum/miner.newWorker /home/dev/quorum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/worker.go:158 +0x575
Please make sure that you pull the latest quorum code. Current quorum-example doesn't pull the latest quorum. https://github.com/jpmorganchase/quorum-examples/blob/master/vagrant/bootstrap.sh#L28
Or you can try another example, ibft in quroum by docker-compose. https://medium.com/getamis/istanbul-bft-ibft-c2758b7fe6ff
@markya0616 Yeah..I have checked my quorum has latest version 2.0.0..let me try with another example
This commit, 6f835c377e8a10c9b919ed8d49499b1aaff2a83d
, is not included in v2.0.0
. You need to pull the latest code and rebuild it.
Tried with https://medium.com/getamis/istanbul-bft-ibft-c2758b7fe6ff and it worked fine. I see that it using the docker image quay.io/amis/quorum:feature_istanbul and it is created a month back. Not sure if its underlying code is same as master. But when Tried with master branch of quorum and https://github.com/jpmorganchase/quorum-examples/ , facing the same issue. Nodes gets down as I execute the private transaction. With public transaction it works fine.
Please advise.
Thanks for the reminder. We updated the image to the latest master. You can check it again. For the quorum-examples, you may need to remove the line https://github.com/jpmorganchase/quorum-examples/blob/master/vagrant/bootstrap.sh#L28 to not checkout to v2.0.0
, and then re-create your vagrant
instance.
@markya0616 I'm not using virtual box & vagrant instance, working in Ubuntu OS..So no need to recreate vargrant instance
@markya0616 Tried with master branch of quorum and https://github.com/jpmorganchase/quorum-examples/ ,i can execute private transaction
@markya0616 https://medium.com/getamis/istanbul-bft-ibft-c2758b7fe6ff I tried with this link & created network of 4 validators . Can I add new node in existing network..?
Sure. The quickest way is that you can create a new docker-compose with number 5 by istanbul-tool, such as:
istanbul setup --num 5 --docker-compose --quorum --save
If you really want to add a new validator into the existing network, you can refer the generated docker-compose file, create a new dockerfile with the same configuration, and connect to the existing network. After your constellation and geth are connected, your original validators need to propose the new validator into your network. Then, the new validator become one of the validators in the network. :)
@markya0616 thanks for the followups and suggestions.
I am writing this contract :: var testContract = web3.eth.contract([{"constant":false,"inputs":[],"name":"getValue","outputs":[{"name":"a","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"a","type":"uint256"}],"name":"setValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]); var test = testContract.new( { from: web3.eth.accounts[0], data: '0x6060604052341561000f57600080fd5b60ce8061001d6000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063209652551460465780635524107714606c57600080fd5b3415605057600080fd5b6056608c565b6040518082815260200191505060405180910390f35b3415607657600080fd5b608a60048080359060200190919050506098565b005b60008054905080905090565b80600081905550505600a165627a7a7230582024e016d5e5847222cc207652bed2e9ed9b95abe6ae8f9e2acf46d6ac5f401d740029', gas: '4700000', privateFor: ["QfeDAys9MPDs2XHExtc84jKGHxZg/aj52DTh0vtA3Xc=", "1iTZde/ndBHvzhcl7V68x44Vx7pl8nwx9LqnM/AfJUg="] }, function (e, contract){ console.log(e, contract); if (typeof contract.address !== 'undefined') { console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash); } })
[6:46] but getting error and all the nodes are coming down.
Issue:::: INFO [11-15|12:58:28] sending private tx data=6060604052341561000f57600080fd5b60ce8061001d6000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063209652551460465780635524107714606c57600080fd5b3415605057600080fd5b6056608c565b6040518082815260200191505060405180910390f35b3415607657600080fd5b608a60048080359060200190919050506098565b005b60008054905080905090565b80600081905550505600a165627a7a7230582024e016d5e5847222cc207652bed2e9ed9b95abe6ae8f9e2acf46d6ac5f401d740029 privatefrom= privatefor="[QfeDAys9MPDs2XHExtc84jKGHxZg/aj52DTh0vtA3Xc= 1iTZde/ndBHvzhcl7V68x44Vx7pl8nwx9LqnM/AfJUg=]" INFO [11-15|12:58:28] sent private tx data=3935801486d7c735609b68952f96f08e4032df71f8911ece30ac152097178b78a98a79609e57b78107e28075c22e346a2e69abef3789ae5e7ed8019256b312d8 privatefrom= privatefor="[QfeDAys9MPDs2XHExtc84jKGHxZg/aj52DTh0vtA3Xc= 1iTZde/ndBHvzhcl7V68x44Vx7pl8nwx9LqnM/AfJUg=]" INFO [11-15|12:58:28] Submitted contract creation fullhash=0xc28f32887f553b0e167c3cc5872e4918ce363559d26286472dfe9905c1eddb97 to=0x1932c48b2bF8102Ba33B4A6B545C32236e342f34 INFO [11-15|12:58:30] Committed address=0xd8Dba507e85F116b1f7e231cA8525fC9008A6966 hash=5e4fdb…df3e77 number=70 INFO [11-15|12:58:30] Imported new chain segment blocks=1 txs=0 mgas=0.000 elapsed=1.840ms mgasps=0.000 number=70 hash=5e4fdb…df3e77 panic: runtime error: index out of range
Can you suggest what is the issue
This is happening when we starting the node using the Istanbul BFT mode