Brenton Gunning

Run on Bitcoin

What if you could build interactive, stateful applications directly on Bitcoin? Run introduces 'jigs'—tokenized software objects that bring object-oriented programming to the blockchain.

Run on Bitcoin
#1about 4 minutes

Introducing Run, a platform for interactive tokens on Bitcoin

The Run platform consists of jigs (interactive tokens), a JavaScript library for interacting with them, and optional scaling services.

#2about 3 minutes

Live coding a simple interactive dragon jig

A new jig is created by defining a JavaScript class, instantiating it, and calling methods which generate new Bitcoin transactions for each state update.

#3about 3 minutes

Understanding the core concepts of jigs and the Run library

Jigs are permissionless, tokenized software objects that support object-oriented principles, and the Run library uses a flexible plugin architecture for different environments.

#4about 6 minutes

Building a scalable idle-style game with Run

A demo game shows how players can truly own their in-game assets as jigs, enabling them to trade items outside the application's original scope.

#5about 4 minutes

Defining game rules and logic using jig classes

Game logic, such as requiring payment to create an item or restricting actions to specific caller types, is enforced directly within the jig's JavaScript class definition.

#6about 6 minutes

Solving the layer 2 scaling challenge with state caching

Run avoids the performance bottleneck of replaying transaction histories by caching a jig's final state, which is secured by a state hash in the user-signed transaction.

#7about 3 minutes

Implementing a custom client-side state cache

A custom cache implementation prioritizes loading jig state from local memory and browser storage before falling back to fetching it from a game server.

#8about 3 minutes

Exploring Run's optional services and development roadmap

Run plans to offer optional services like a global state cache, pay server, and query server, with a public beta for version 0.6 coming soon.

#9about 6 minutes

Q&A on class uniqueness and layer 2 protocol design

Copying a jig's code creates a new, distinct object with a unique origin, and Run operates as a hybrid layer 1 and layer 2 protocol for flexibility.

#10about 3 minutes

Q&A on fungible tokens and advanced script interactions

Run provides a base class for fungible tokens that can be extended with custom logic, and it's possible to restrict jig functions using Bitcoin locking scripts.

#11about 6 minutes

Q&A on atomic swaps and database analogies

Jigs can contain partially signed transactions to enable atomic swaps, and the platform functions more like a NoSQL database than a relational one.

Related jobs
Jobs that call for the skills explored in this talk.

Software Engineer

tree-IT GmbH
Bad Neustadt an der Saale, Germany

Remote
Intermediate
Senior

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust