← Back to Blog

Weekly Project Update #12

The one where it finally looks like I can see the end.

2 min read • BD Tinsley

Overview

With the final aspects of the API wrapped up, I was able to diagnose the true issue to the press command only occasionally working. There was a mismatch of transaction, content and request hashes and the API would confuse them with each other. Now I have a full fledged CLI for pressing that hits the /press endpoint, which generates a transaction hash that can be observed and verified on etherscan, and a request hash that the CLI will take and poll the /status/:requestId endpoint every 10 seconds until the transaction returns with a success or failure status. If it fails, it will give some guess as to why it failed, most likely the transaction hit the gas limit; if it succeeds, it returns the final content hash to be shared for releasing.

The final bits now come down to building out the release command, so that a recipient of a bit of content can decrypt it. There are some unexpected issues with my current implementation and how I want the release command to work, which primarily comes down to the wallet address not being a reliable key to encrypt content with. I think I have a workaround that will incorporate the access layer dream, which will neatly wrap up all the final bits into the end result. Beyond that, it's some ergonomics in adding interactive mode to certain commands and documentation and this proof of concept is done.

Last Week

  • Finish up the work on the pressing functionality, finding a consistent way to press content [CLI#6] (almost done with this)
  • Merge in the pressing functionality [CLI#6]
  • Completed the storage functionality for pressed (& TBD released) content [CLI#4]

Additional Accomplishments

  • Built out a list command to see all the prior pressings [CLI#5]

Next Week

This upcoming week will be scant due to some pressing matters in my life. I can't commit to full feature builds but will spend some time figuring out how the releasing [CLI#8] methodology will work. Likely, I'll have to wrap the access layer functionality [PRESS#36] into it, which will be the last remaning high-priority issues to build. I can come up with the plan now and execute when I have more time to dedicate.

Blockers

None.

Reflections on Process

It seems like I'm at the last clearing and I see one last glimpse of the end goal, and it's closer and bigger than I've seen before. There are more perils in front of me, some known, some unknown, but it feels like I'm finally nearing the end.