Testing Out Watchtowers with a Simulated Breach

On the Lightning network, there’s potential for a malicious (or mistaken) channel counter-party to close your channel with old state. To combat this, you need to stay vigilant (read: online) at all times, watching to punish someone who tries at a moment’s notice.

Read more →

Introducing: Joule Allowances

Configurable automatic payments for a seamless experience — Since I first started working on Joule, I’ve always had the goal of enabling seamless micropayments to happen in the background so that you can enjoy content on the web without content creators having to resort to back channel methods to get paid.

Read more →

Making a Lightning Web App: Part 4

Integrating WebLN for payments and message signatures — Hey, this is part 4 of a 5 part series on building a Lightning app. If you’re just interested in learning more about WebLN, it’s easy to follow along! But if you want to start from the beginning, you can check out part 1 here.

Read more →

Making a Lightning Web App: Part 3

Making a Lightning Fast UI with WebSockets — Hey, this is part 3 of a 5 part series on building a Lightning app. If you haven’t read parts 1 & 2, you might want to start from the beginning.

Read more →

Making a Lightning Web App: Part 2

Setting up a frontend and taking our very first payment — Hey, this is part 2 of a 5 part series on building a Lightning app. If you haven’t read part 1, you might want to check it out.

Read more →

Making a Lightning Web App: Part 1

A multi-part guide to creating your first kick-ass Lightning App — If you’ve been following Bitcoin, you’ve probably heard of the Lightning network: a layer 2 solution to the on-chain scaling problems that Bitcoin faces that allows for near-instantaneous payments with extremely low fees.

Read more →

ETH & Token Balances In a Single Call

TL;DR a slick contract and NPM package for efficient and fast balance checks. Scroll to the bottom to try it out and find the package.

Read more →

Mutually Exclusive React PropTypes with TypeScript

Sometimes when making a React component, you define prop types that allow users to pass one of N types of props. For instance, we might have some form of input component that could either be a standard <input/> or a larger <textarea/>.

Read more →