ETHDenver: MyCrypto Overflow

Daniel Ternyak
MyCrypto
Published in
3 min readFeb 20, 2018

--

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!

overflow.mycrypto.com

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.

Subresource Integrity will only get you so far ;)

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.

A real pull request using drawbridge and an easter egg if you can find it 🐰

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.

Auto gas price estimation based on real-time fee analysis (powered by blockscale).
EIP-681 compliant payment requests.
Transaction cost breakdown with USD conversions.

If you’re interested in contributing to (or just checking out!) our new implementation, here’s the repo! And be sure to check Gitcoin for bountied issues! 🙂

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 😀

--

--

Daniel Ternyak
MyCrypto

Co-Founder of Onedesk, commercial cleaning for the 21st century (www.getonedesk.com).