Arseniy Klempner | Fullstack Engineer

Arseniy Klempner

SENIOR WEB3 ENGINEER

Working in the web3 space since 2016, with a majority of that on open source projects. I call my specialty "smart contracts and smart contract accessories," covering everything from Solidity to dApps, frontend to backend, and specifications to distributed protocol architecture.

My most recent experience includes contributing to the Waku protocol, building distributed systems, and developing smart contract infrastructure for decentralized applications. I'm passionate about open source development and building tools that empower developers and users alike.

Current Role

Protocol Engineer

Nov 2023 - Present
Waku Network — Decentralized Messaging Protocol
  • Built features and fixed bugs for js-waku, a production peer-to-peer messaging library for the browser (see my commits here)
  • Implemented a distributed log syncing protocol for browser-based applications based on specifications
  • Created interactive visualization demonstrating distributed synchronization with Lamport timestamps, running entirely in-browser over the Waku network
  • Reworked Waku-related metrics collection within a complex Go codebase to work with both a custom metrics service and Prometheus/Grafana (commits)

Interactive Distributed Sync Visualization

Built with TypeScript, Svelte, js-waku

To properly test my implementation of the Scalable Data Sync library, I needed to use it in an actual p2p application running js-waku in the browser. I decided to kill two birds with one stone by building an application which tests the protocol by visualizing the protocol, allowing me to visually debug certain behavior while demonstrating to others how this system works in an accessible way.

Previous Experience

Lead Smart Contract Engineer

Aug 2020 - Nov 2023
Tacen — Layer-2 Decentralized Exchange
  • Designed and implemented smart contracts and related architecture for a layer-2 cross-chain exchange protocol supporting assets on Ethereum, Polygon, BNB, and Arbitrum
  • Wrote technical specifications for Go-based validator nodes and supervised their development
  • Built TypeScript services integrating smart contracts with real-time order book interface
  • Utilized Foundry for Solidity development and for deploying and managing a multi-chain smart contract system linked together by LayerZero
  • Collaborated with other developers and stakeholders across the entire team, ensuring they understood the blockchain-based components of the project in their respective contexts
*Plus ~4 years of paid and unpaid contributions to open source projects like OpenZeppelin, WindingTree, TheGraph: see https://github.com/adklempner

Works best on desktop. Demonstrates the mechanics of the scalable data sync protocol while it is run between two light nodes on the Waku network.

SDS Demo Screenshot

Step 1

Open a separate tab for https://sds-demo.vercel.app and click Connect. This starts the Waku node, periodically broadcasts a "ready" message, and listens for another peer to match with.

Step 2

Open another separate tab for https://sds-demo.vercel.app and click Connect. This second Waku node should eventually complete a signaling process with the first and then start exchanging messages.

Step 3

Watch as in each tab sent messages are tracked, received messages are validated, and missed messages are recovered. On the left, SDS events are displayed as they appear. In the center, the events are ordered based on their Lamport timestamp. Each node will periodically simulate disconnection, and this should lead to some missed messages detected on the right.