My inspiration was the initial implementation of
thor_devkit and python thinking style. I can't prevent myself from fixing something that doesn't look nice enough.
What it does
It is smoother version of old
thor_devkit module, so no major changes are introduced. The current list of supported actions contains:
- ABI v2 encoding
- Serialization of objects for RLP encoding
- VIP-191 multi-clause transactions
- HD (hierarchically deterministic) node implementation
- Key store and user-signed certificate processing
- Cryptography helpers
- Some primitives like address or mnemonic
How I built it
I was excited about this hackathon when I discovered it (it was pretty late: I had only two weeks to build what I'm now introducing). My initial hope was to quickly update the library and then build GUI app to make this material easier for newcomers. However, after looking through source code I found some design decisions that would make developing with
thor_devkit more difficult. Finally I had to stop on modifying the library only, unfortunately, due to the time shortage.
Challenges I ran into
One of the most difficult challenges was to keep support for old python versions (3.6 is listed as supported despite being EOL more than a year ago). Some of dependencies couldn't be upgraded for newer version for the same reason.
Accomplishments that I'm proud of
The most noticeable thing that I enjoy is the new project documentation: it was build almost from scratch and now covers many use cases and has extensive API descriptions.
Also I'm proud of making project not just working python, but pretty python. Python style is very easy to mess with, so often libraries have unconventional code that doesn't use python power.
What I learned
I have never built ReadTheDocs documentation from scratch before and haven't written
sphinx plugins too. It was a great experience and a useful skill for future.
I have also learned a lot about blockchain and web3 technologies, diving into internal implementation of smart contracts and transactions - it is exciting technology that I'm going to keep studying.
Log in or sign up for Devpost to join the conversation.