dfuse-eosio
dfuse-eosio copied to clipboard
In eosq transaction page, display account(s) holding key(s) that signed transaction
One cool feature requested recently was to see the list of accounts controlling the key used to signed a transaction.
Not sure of the exact UI aspect, maybe a popup on current Signed By
display line or besides each of the public key list (because there could be more than one key signing the transaction).
Some thing to note here:
- We can use dfuse
/v0/state/key_accounts
here to achieve that. - The query must be performed using the
block_num
in which the transaction was, so we respect the timeframe of the transaction and the state at this block height. - There might be multiple keys to sign a transaction
- There might be multiple accounts controlling the signed key, we must do the UI in consequence. It think we should aim for a design when there is a single account for the key and when there is more than that
- When there is more than 1 account controlling the key, it must be made clear in the UI that it's one this account that used the key, but we don't know which one for sure
(Screenshot from https://eosq.app/tx/a4816e3a54c8f29a5c60c025bf1c6bc3c2bc11cf5dc5a9c1b4e8b979e47057a6)
When there is a single account, in the design, we could even think about showing the account straight and the key in smaller:
Signed By: [bluebet2user](/account/bluebet2user) (<small>EOS7Dn2u2nCt7YZnC4JXEqwnMEB1oB9dyWTGHd1vmSMbhKPjCwrXC</small>)
[bluebetproms](bluebetproms) (<small>EOS5No1zoNusvFU2yhUock7RTEkKTQeeA5gCCZV9BQi1bCzeeQPB3</small>)
(Markdown pseudo style)
+1. Would be a fantastic addition to eosq.
We are building this as a separate product. We show the original signer of the transaction by looking up the account that has the key. In addition, we ensure that only human's are allowed private keys, making all transactions traced to a human. See https://github.com/Conscious-Cities/eosio-react-app/commit/a15439d16c57cd47d819f05cf536a2b4b378e44a#diff-127d838aec137f38f06c6f929af11b0cR106