low-maintenance Ethereum transaction hex decoder to natural language dialogue

The problem deth solves

Writing a transaction hex to a natural language decoder could be very cumbersome - we have to write rules for every function call to every contract. This solution doesn't seem tractable.

deth uses the documentation annotations, already inside the solidity source code for the contract, to generate dialogues. A smart contract developer can use our additional macros to write an even more expressive dialogue/documentation for their code and then the ABI can be uploaded to deth. This transfers the responsibility of writing dialogues from deth maintainers (in the basic non-tractable approach) to smart-contract developers, who already are writing documentation. Everyone wins.

If the ABI/Documentation is not available, it falls back to plain old pattern matching. deth currently supports ERC20 patterns.If even this step fails, it outputs the correct function signature, fetched from the 4bytes database.

In the future, we want to focus on incentivizing solidity developers to upload the documentation by giving some reward or profit sharing. We also want to use NLP to convert function signatures into natural language prompts automatically.

Note that the project uses a personal express.js boilerplate code

Challenges I ran into

Support for typescript is still bad for many packages - and me being rusty in it, had me struggling for any small typescript bug