Blockchain.com Web Wallet

Christian Tucker

Blockchain Developer
Frontend Engineer
Web Developer
Next.js
Node.js
React
The "custodial" initial screen for a new account on the Blockchain.com Web Wallet
The "custodial" initial screen for a new account on the Blockchain.com Web Wallet

Building the Web Wallet from the ground-up!

Once I successfully lead the development of the

Blockchain Explorer

I was given an opportunity to spearhead the development of the new Web Wallet as well. This was something that I was really excited about as it meant a large level of trust from the business to build their most important and security-oriented product from scratch. I might add that this service is approaching 100 million created wallets.

During this process I lead a small team of 4 engineers that were tasked with learning about and understanding the complexity of the businesses security and authentication models as well as the intricacies of dozens of different services throughout their network.

Distribution at scale..

As mentioned before, at Blockchain, Ltd. They are nearing almost 100 million created wallets and as you can imagine that comes with the complexity of massive scale in terms of rollout. Ensuring that front-end performance is always available for all of these users was a top priority. As you can imagine, the state of an application like this is extremely complicated, so state management was a huge priority. We believe in the principle of KISS (Keep It Simple, Stupid!) and utilized an organized network of Hooks and Contexts for data management, allowing us to organize state in an easy to access and read manner.

Complications of a security-first application..

As you can imagine, when building a wallet you need to take into consideration the security of the users, this introduced complexities of working with data as the state from the backend was encrypted. Sometimes there were several hoops that needed to be jumped through to obtain data, such as encrypting multiple documents, building a key from those documents, generating a hash, and then pulling an encrypted document from the hash. This is only a small example of the complexities of how non-custodial security is handled and the data that we had to work with, without explaining too much about how it works.

Deployment and analyzing rollout success..

When deploying any application it's important to keep track of the issues that may be happening, as you never know when a user may be experiencing a problem. Especially in the context of a wallet where a problem may mean that a user does not have access to their funds it is important to catch any and all errors as soon as possible with enough information to both determine the root cause and fix the issue in a timely manner, to do this we use a combination of DataDog and Amplitude for user session tracking and analytics, which allows us to stay on top of any ongoing issues, resolve them and monitoring the results of the proposed fix in real time.

Partner With Christian
View Services

More Projects by Christian