> Markdown version of [/videos/29-run-on-bitcoin](https://www.wearedevelopers.com/videos/29-run-on-bitcoin). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Run on Bitcoin What if you could build permissionless tokens on Bitcoin using standard JavaScript classes? Discover how Run brings object-oriented programming and enterprise-grade scalability to Web3 developers. - **Speakers:** Brenton Gunning - **Event:** WeAreDevelopers LIVE - **Published:** July 28, 2020 - **Duration:** 47:58 - **URL:** https://www.wearedevelopers.com/videos/29-run-on-bitcoin ## Summary Run is an application and token platform built on Bitcoin SV that introduces jigs—interactive, permissionless tokens representing software objects. By enabling developers to write standard JavaScript classes and instantiate them on the blockchain, Run brings object-oriented programming to tokenized assets. This allows users to truly own digital items, such as in-game assets, and take them permissionlessly outside their original applications for secondary markets or cross-app interoperability, solving the siloed data constraints of traditional server-based architectures. The platform utilizes the Run JavaScript library alongside a unique Layer-2 execution model where state is managed through programmable ownership rules. Recognizing that continually replaying transaction histories is unscalable, Run implements an advanced state caching mechanism. Application servers act as scalable partners to the blockchain, indexing data and instantly delivering globally cached states that clients can cryptographically verify against on-chain transaction hashes. This hybrid approach ensures enterprise-grade scalability while maintaining the trustless security of the core ledger. Developers can leverage specialized Run services—including pay servers to abstract away crypto UX friction, query servers for global indexing, and integrated wallet support—to build seamless decentralized experiences. Notable native capabilities include the strategic use of atomic operations for safe multi-asset state changes, extensible base classes for both fungible and non-fungible implementations, and the ability to strictly govern token usage via advanced Bitcoin script techniques like op_push_tx. Ultimately, Run bridges the gap between familiar developer environments and blockchain permanence, empowering highly interactive apps, social networks, and Web3 toolchains. **Keywords:** bitcoin sv software development, interactive blockchain tokens, tokenized software objects, javascript smart contracts, layer 2 colored coins, object-oriented blockchain programming, decentralized state caching, permissionless digital assets, blockchain gaming architecture, fungible token classes, off-chain execution models, cryptographic state verification, BSV wallet integration, atomic token swaps, utxo transaction scaling ## Chapters 1. **Introduction to Run on Bitcoin and interactive tokens** (00:17) — The emergence of usable platforms for interactive tokenized objects called jigs. 1. **Defining jigs and the Run environment architecture** (02:03) — Core components including the Run library and services that manage tokenized objects on the blockchain. 1. **Creating and modifying jigs using the browser console** (05:20) — Initializing a mock network to spawn jig classes and instances while tracking transaction identifiers. 1. **Object-oriented properties mapping to blockchain tokens** (08:40) — Applying composition, inheritance, and encapsulation to permissionless tokens without a central server. 1. **Demonstrating user ownership through an idle style game** (11:42) — How blockchain-based logic ensures players fully own their in-game assets and can easily export them. 1. **Structuring application logic and token ownership interactions** (17:55) — Writing class constraints and execution conditions to prevent unauthorized behavior on smart objects. 1. **Solving layer two execution overhead with state caching** (21:38) — Replacing transaction graph replays with validated local and server-side caches to instantly fetch token state. 1. **Implementing cache fallback logic and backend services** (28:15) — Prioritizing local memory and storage retrievals before hitting global infrastructure components for state retrieval. 1. **Run protocol development roadmap and upcoming public beta** (31:35) — Transitioning to a stable base protocol to ensure backward compatibility and open-source availability. 1. **Differences between token duplication and unique instances** (33:49) — Why duplicating token logic creates an entirely different operational entity on the blockchain network. 1. **Comparing off-chain javascript execution with bitcoin script** (37:01) — Offloading complex operational logic from layer one to a specialized execution environment that retains robust security. 1. **Managing functionality for fungible tokens and atomic swaps** (39:21) — Extending base classes to support numerical splits, combining methods, and partially signed transaction execution. 1. **Mapping NoSQL data conventions to off-chain blockchain caches** (44:33) — Using NoSQL models instead of relational architectures when handling distributed objects located strictly via key-value mappings. ## Related Moments - [Emphasizing token utility for network code execution](https://www.wearedevelopers.com/videos/999-why-you-should-care-about-the-decentralized-computing-movement) (from "Why You Should Care About the Decentralized Computing Movement") - [Introduction to interoperable apps on Bitcoin](https://www.wearedevelopers.com/videos/151-an-introduction-to-operate-sv) (from "An introduction to Operate SV") - [Overview of the Lisk blockchain and JavaScript SDK](https://www.wearedevelopers.com/videos/49-build-your-blockchain-application-in-javascript) (from "Build Your Blockchain Application in JavaScript") - [Exploring blockchain use cases and non-fungible token concepts](https://www.wearedevelopers.com/videos/49-build-your-blockchain-application-in-javascript) (from "Build Your Blockchain Application in JavaScript") - [Introduction to blockchain, NFTs, and smart contracts](https://www.wearedevelopers.com/videos/877-blockchain-nft-and-smart-contracts-for-my-application) (from "Blockchain, NFT and smart contracts for my application") - [Exploring on-chain games and custom token systems](https://www.wearedevelopers.com/videos/146-op_push_tx-and-its-applications-in-bitcoin-smart-contracts) (from "OP_PUSH_TX and its applications in Bitcoin smart contracts") ## Related Articles - [Build With Bitcoin SV](https://www.wearedevelopers.com/magazine/6-build-with-bitcoin-sv) - [From Hype to Code: Real Blockchain Use Cases for Developers](https://www.wearedevelopers.com/magazine/620-from-hype-to-code-real-blockchain-use-cases-for-developers) - [Why Blockchain? A Developer’s Perspective](https://www.wearedevelopers.com/magazine/616-why-blockchain-a-developer-s-perspective) - [Dev Digest 138 - Are you secure about this?](https://www.wearedevelopers.com/magazine/486-dev-digest-138-are-you-secure-about-this) ## Related Jobs - [Senior Backend Engineer, Blockchain (Smart Contracts)](https://www.wearedevelopers.com/jobs/ext/1940851-senior-backend-engineer-blockchain-smart-contracts) at **Bitpanda** - [Backend Engineer, Python (Web3)](https://www.wearedevelopers.com/jobs/ext/1934515-backend-engineer-python-web3) at **Bitpanda** - [Senior Software Engineer, React (Investing & Trading)](https://www.wearedevelopers.com/jobs/ext/1937625-senior-software-engineer-react-investing-trading) at **Bitpanda** - [Senior Fullstack Engineer, Angular & Nestjs (Defi Wallet)](https://www.wearedevelopers.com/jobs/ext/1983681-senior-fullstack-engineer-angular-nestjs-defi-wallet) at **Bitpanda** - [Software Engineer](https://www.wearedevelopers.com/jobs/ext/1377585-software-engineer) at **Bitpanda** - [Platform Engineer - Mercury Runtime Platform](https://www.wearedevelopers.com/jobs/ext/293235-platform-engineer-mercury-runtime-platform) at **Raiffeisen Bank International AG**