EthSign September Development Update

Jack Boyuan Xu
Sign
Published in
5 min readSep 22, 2021

Since the debut of EthSign 3.0 in June, we have merged over 120 pull requests and made over 300 commits on GitHub containing a plethora of bug fixes and new features as a part of our continued effort to boost performance, improve user experience, and introduce new features. Let’s dive right in to talk about some of the more noticeable ones!

New Contract Auto-Save

As much as it sounds like an excuse, the fact is, software bugs are inevitable — they are incredibly frustrating for both users and developers and EthSign is no different from any other piece of software. We have already patched a long list of bugs within the New Contract workflow but there are still a couple of stubborn and rare bugs that are difficult to consistently reproduce and would usually go away after a page refresh. Nothing is more infuriating when, as a user, losing all progress and filled information on a page refresh. To mitigate this issue as we continue to investigate these rare glitches, an auto-save feature has been implemented. Whenever the page is refreshed and you pick the same PDF file to upload, our code will detect if there was any previously interrupted progress and if so, will ask if you’d like to restore it.

A popup will…pop up, asking if you’d like to restore progress.

Providing Feedback

We have made it easy and effortless to provide us feedback anytime you’d like. A dedicated and persistent Provide Feedback button has been added to all pages that leads to a Typeform popup where you can detail your experience and what you liked or didn’t like.

The Provide Feedback button persists across all pages in the bottom right corner.
No sign-ins, no hassle, just a simple Typeform.

Parallel Loading, Error Handling, Pagination

We have overhauled the way contracts are loaded into the dashboard. Previously, we loaded contracts sequentially and chronologically. While it was more straightforward to code, the performance was severely throttled as there was only one contract loading at any given time. We now have switched to a parallel approach where all contracts are first represented as a skeleton placeholder and then loaded together in parallel. This required some modifications to our The Graph subgraph but the improvement was significant. We saw a 5–10x improvement in loading speeds and the reduced load times also meant the page is now less susceptible to network interruptions. The new method of loading also meant failing to load a single contract will no longer halt the loading of all other contracts. We have also added a Retry button for the ones that fail to load.

In addition, we were able to paginate the list of contracts instead of displaying it all on a single long list.

Contract Document Details

For our more technical users, you can now view more detailed information regarding your uploaded contract document.

Profile System

The profile system is arguably one of the most significant additions to EthSign that paves the way for numerous features in the future, such as push notifications and an advanced asymmetrical encryption option. For now, users can voluntarily associate an email address with their Ethereum account to receive push notifications regarding signing in the future. This information is stored securely in our auxiliary server and we will never use it for marketing purposes or sell it to advertisers.

Authentication is done through standard digital signature verification.
You can access your profile page from the upper-right corner menu.

One of the things we are proud of is our lack of reliance on centralized services. Although our auxiliary server is hosted in a centralized fashion, it will only ever be used for non-critical convenience features. In other words, if the auxiliary server ever goes offline, EthSign will continue to function normally and no major feature will be impacted in the slightest. This also circumvents the gas fee issues, especially on more congested networks such as the Ethereum mainnet.

Public Contract Verification

From the very beginning, we made it our goal to bring transparency to the document signing field — signed contracts and their history should be visible to everyone instantly at all times. We are now proud to introduce our public contract verification page. With the correct document key, signer address, and network combination, anyone is able to view the signature status of said signer and a complete history of the contract. The signature status can also be exported as a PDF for archival purposes.

Contract verification is available publicly on the homepage without signing in.
Validation can be exported as a PDF.
All historical records are transparent.

The Road Ahead

As EthSign 3.0 becomes more polished, we can dedicate more resources into the R&D of new features. Here is a short list of what we have planned:

Access EthSign Here
Twitter |Gitbook |Discord | Youtube

--

--

Jack Boyuan Xu
Sign
Editor for

Co-founder & Tech Lead @ EthSign. Blockchain Lecturer @ USC.