Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

[Private transactions] Returning informative private transaction status info/error instead of silent failiure #9641

Closed
ngyam opened this issue Sep 24, 2018 · 0 comments · Fixed by #10056
Labels
F3-annoyance 💩 The client behaves within expectations, however this “expected behaviour” itself is at issue. M6-rpcapi 📣 RPC API. P5-sometimesoon 🌲 Issue is worth doing soon.
Milestone

Comments

@ngyam
Copy link
Contributor

ngyam commented Sep 24, 2018

  • Parity Ethereum version: Parity-Ethereum/v2.2.0-unstable-93e1040-20180921/x86_64-linux-gnu/rustc1.29.0
  • Operating system: Linux
  • Installation: built from source with secretstore feature
  • Fully synchronized: yes
  • Network: Tobalaba/dev/local PoA
  • Restarted: yes

actual

When sending a private transaction with private_sendTransaction, e.g. modifying a value as in the Parity private transactions tutorial, a similar response is returned:

{ contractAddress: '0x5f72cc768e8de3d78e071c05a9a41a44e88a779a',
  status: 0,
  transactionHash: '0x1c3ae1a8897fc3c1da6e442006c8d35a77e8518803f4604c21c6653a8ba631a9' }

This return message was not found to be helpful, because:

  1. In case some error happens, the transaction fails silently (e.g. some error with secret store). There is no way to figure out what happened without digging the logs.
  2. There is no way to figure out if your transaction is ever gonna happen and when is it gonna happen. Should I wait some more? Retry? How can I track the private transaction status?

This is a limitation for a production grade application.

expected behavior

Is it possible to improve user experience with:

  • returning an error message in case of a failiure
  • provide a means of tracking the status of the private transaction. Is it still being verified by the private validators? Did it get rejected? Reached the transaction pool already? etc.

steps to reproduce

I made a repo to easily play around with secretstore/private transactions: https://github.com/ngyam/tutorial-secretstore-privatetx

I couldn't make private transactions work on live Tobalaba (start nodes in nodes_ss_tobalaba/ folder), so that one is worth to check out. Modifying the value of x as in tutorial part 4 doesn't work.

@Tbaut Tbaut added F3-annoyance 💩 The client behaves within expectations, however this “expected behaviour” itself is at issue. M6-rpcapi 📣 RPC API. labels Sep 25, 2018
@Tbaut Tbaut added this to the 2.4 & ... milestone Sep 25, 2018
@5chdn 5chdn added the P5-sometimesoon 🌲 Issue is worth doing soon. label Sep 25, 2018
@5chdn 5chdn modified the milestones: 2.4, 2.5 & ... Oct 29, 2018
@5chdn 5chdn modified the milestones: 2.5, 2.6 & ... Jan 10, 2019
@5chdn 5chdn modified the milestones: 2.6, 2.7 & ... Feb 21, 2019
@soc1c soc1c modified the milestones: 2.7, 2.8 & .. Apr 2, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F3-annoyance 💩 The client behaves within expectations, however this “expected behaviour” itself is at issue. M6-rpcapi 📣 RPC API. P5-sometimesoon 🌲 Issue is worth doing soon.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants
@ngyam @5chdn @Tbaut @soc1c and others