Xiaohui Liu

OP_PUSH_TX and its applications in Bitcoin smart contracts

What if a Bitcoin contract could inspect its own spending transaction? Discover how OP_PUSH_TX enables stateful applications previously deemed impossible, from on-chain games to financial instruments.

OP_PUSH_TX and its applications in Bitcoin smart contracts
#1about 2 minutes

Introduction to OP_PUSH_TX and its applications

An overview of the OP_PUSH_TX technique, its internal implementation, and the smart contract applications it enables, including a live demo.

#2about 1 minute

Introducing the OP_PUSH_TX technique for smart contracts

The OP_PUSH_TX technique allows a smart contract to access the current transaction's data by pushing it onto the stack.

#3about 1 minute

Accessing transaction data via the SIGHASH pre-image

The technique pushes the SIGHASH pre-image, which contains transaction data like inputs and outputs, onto the stack for inspection.

#4about 3 minutes

Implementing OP_PUSH_TX as a pseudo-opcode

The technique is implemented as a pseudo-opcode using existing script commands to verify the SIGHASH pre-image is for the current transaction.

#5about 5 minutes

Controlling future spending with transaction introspection

By inspecting the transaction pre-image, smart contracts can enforce rules on future outputs, replicating features like CLTV and P2SH.

#6about 3 minutes

Maintaining state across transactions with OP_PUSH_TX

Stateful smart contracts are created by dividing the locking script into immutable code and mutable data, ensuring state transitions correctly in subsequent transactions.

#7about 2 minutes

Building on-chain games and tokens with stateful contracts

The ability to maintain state enables complex applications like fully on-chain games, fungible and non-fungible tokens, and financial instruments.

#8about 2 minutes

Demonstrating a fully on-chain Tic-Tac-Toe game

A live demo shows a Tic-Tac-Toe game where each move is a Bitcoin transaction, enforcing game rules on-chain and preventing cheating.

#9about 2 minutes

Summary and resources for building with sCrypt

A recap of the OP_PUSH_TX technique and its applications, with links to sCrypt's open-source code, documentation, and community channels.

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

Featured Partners

Related Articles

View all articles
Build With Bitcoin SV
At Bitcoin Association, we work to advance business using the Bitcoin SV (BSV) blockchain. A rebirth of the original Bitcoin, Bitcoin SV has restored the protocol to the specifications of creator Satoshi Nakamoto, resulting in a public blockchain cap...
Build With Bitcoin SV
AF
Algorand Foundation
From Hype to Code: Real Blockchain Use Cases for Developers
So you’ve wrapped your head around why blockchain exists . You’re on board with the concepts: decentralization, immutability, and trust-minimized infrastructure. But now comes the real question: What can you actually build with it? This post is for d...
From Hype to Code: Real Blockchain Use Cases for Developers
BR
Benjamin Ruschin
What Developers Really Need to Create Great Code Demos
Every developer on earth has, at some point, had another developer to thank for a breakthrough, a success, an aha moment they wouldn’t have had without coming across that blog post, that open-source contribution, that reply on socials or that humble ...
What Developers Really Need to Create Great Code Demos
AF
Algorand Foundation
Why Blockchain? A Developer’s Perspective
For many developers, blockchain feels like that one friend who keeps trying to sell you on their side hustle: persistent, occasionally confusing, and often surrounded by hype. But behind the buzzwords and market noise lies a technology with real engi...
Why Blockchain? A Developer’s Perspective

From learning to earning

Jobs that call for the skills explored in this talk.

Software Developer

Software Developer

OPNPLAY
Hereford, United Kingdom

Remote
£35K
Intermediate
GIT
Dart
MySQL
+5