Neo: Add more detail on error Log

Created on 29 Apr 2019  路  10Comments  路  Source: neo-project/neo

Currently, the error log throw by the RPC node is not that detail. It only contains little information such as block invalidation. For the smart contract invocation error, this problem becomes more serious as smart contract/Dapp may need to know what is the exact error.

Is it possible to add a more detailed log into the system when calling the RPC method and in the response body when invoking smart contract?

discussion suggestion

Most helpful comment

I think that this is very important, a lot of time was wasted in known why a transaction fail, is the gas? is the signature? is the format?

we need to know the reason in some errors, is not enough with the false return

something like:

public bool IsValid(out string error) {} 

All 10 comments

Hi @steven1227, there is an limit in which we can provide information, because we try to make the Verification process as quick as possible.

I believe that we could improve the Policy Filter logs, providing more details about why it was denied (in terms of fees and size).

@vncoelho
Thanks. That would be great. Is it possible to add more customized log in the result stack when the error happened in smart contract invocation?

@steven1227, I believe that the best way would be to manually insert more notifications. But @igormcoelho and @shargon might give us more ideas.
I think that a specialized plugin could give you such informations. In this sense, we could have some nodes that are dedicated for that!

For the future, I believe that the Ecosystem will have other types of specialized nodes, which is, in our vision, the core of Multi-Agent Systems.

In this sense, different entities that use the NEO blockchain might provide such services.
I think that it is plausible to have such real-time debugging, @steven1227.
In particular, we are now writing NEO code on c++ (https://github.com/NeoResearch/neopt), which will be probably quite portable for frontends and this kind of analyses. But that will still take some time.

@vncoelho Yes. Maybe a plugin can be a good solution. Then smart contract developer can get the info by using this plugin with his own nodes.

I think that this is very important, a lot of time was wasted in known why a transaction fail, is the gas? is the signature? is the format?

we need to know the reason in some errors, is not enough with the false return

something like:

public bool IsValid(out string error) {} 

I think that this is very important, a lot of time was wasted in known why a transaction fail, is the gas? is the signature? is the format?

we need to know the reason in some errors, is not enough with the false return

something like:

public bool IsValid(out string error) {} 

Totally agree, detailed error message is so important for dApp or any NEO related development. Currently, projects are constantly asking why their tx is failed.

@neo-project/core can I move this to the plugins repository? What do you guys think?
I think it is very important to know the reason that a transaction failed, but I don't see this as a "core" feature. What is your opinion?

I think that should be here, we need more verbosity in too many sites, like TX verification

@steven1227 and @neo-project/core I will close this in favor of this plugin.
If you guys think this is a mistake, please reopen this issue.
Thanks

Was this page helpful?
0 / 5 - 0 ratings