At ETHDenver, the representing MyCrypto team launched Overflow: A platform for developer tooling. A big thanks to the ETHDenver volunteers for making the event as gratifying and overall fun as it was. We’d also like to give a big welcome to ETHGlobal and can’t wait for more events!
We’ve been working hard on re-implementing the MyCrypto production codebase (more below). Along the way, we’ve developed internal tooling that we’re really excited to share with the wider blockchain developer community. With Overflow, we’re publishing a series of packages on npm as well as a sample application composing them. Stay tuned — they’re coming soon!
These tools include:
1. typ3: typesafe contract interaction
2. typ3-cli: auto-generate typescript declaration files from JSON ABI
3. shepherd: client-side JSON-RPC node²-balancing
4. drawbridge: SPA release management and verification
Although these tools are not ready for production usage, we’re working hard on getting them up to “mainnet” caliber. We welcome open-source contributions, and we hope you’re as excited about these tools and libraries as we are! 😁
So what do these tools really do?
drawbridge: Independently verify your production builds for web. Drawbridge leverages deterministic builds to verify that your production build is what you expect it to be, especially when minification means you can’t (and shouldn’t!) check for yourself.
Although sub-resource integrity hashes allows you to ensure that your external scripts haven’t been tampered with, they don’t prevent malware from injecting malicious code into your production bundle at build time.
typ3 & typ3-cli: Dynamically construct a fully-typed object representation of any given ABI, including methods for encoding, decoding, and calling the contract. typ3 and typ3-cli have been re-written from the ground up since our last major push during ETHWaterloo, and we’re dedicating resources to getting these tools production ready soon™.
shepherd: Ensure high-availability for your JSON-RPC calls while improving user-experience. Shepherd automatically cancels calls that are taking too long to respond and executes them against fresh node infrastructure. Shepherd is incredibly configurable — you can set filters on node infrastructure to ensure that sensitive JSON-RPC calls are contained, dynamically bias against poorly performing node infrastructure, and more!
You promised there would be more below!
Okay, you got me. We’re nearly done with our complete re-implementation of the MyCrypto.com wallet software you’re (hopefully) using today 😁. Although we aren’t quite ready to formally announce the launch of the upcoming Beta, we’re hoping you’ll appreciate an early look at the interface.
If you’re not a developer but want to play with the new interface, don’t worry! Stay tuned for a wide public beta — we can’t wait to share it with you 😀