Steve Shadders
Intermediate Bitcoin Script
#1about 3 minutes
Understanding Bitcoin Script as a Forth-like language
Bitcoin Script is a compact and efficient stack-based language similar to Forth, making it ideal for the resource-constrained environment of blockchain transactions.
#2about 8 minutes
Improving Bitcoin Script readability with aliases and formatting
A custom Script Definition Language (SDL) improves the developer experience by removing OP_ prefixes, using aliases for operators, and enabling standard code formatting.
#3about 4 minutes
A better way to debug Bitcoin Script
Overcome the poor native debugging experience by using a tool that provides precise error locations and a stack dumping operator to inspect state during execution.
#4about 13 minutes
The stack and reverse polish notation explained
Stack-based languages operate using reverse polish notation (subject-object-verb), which is a more natural structure for machine execution than standard infix notation.
#5about 4 minutes
Compile-time versus runtime script execution
Understand the distinction between compile-time, where code is generated with known inputs, and runtime, where it executes with new inputs provided later.
#6about 12 minutes
Using variables and words in a script definition language
The Script Definition Language introduces features like comments, variables, and reusable code blocks called 'words' to structure and simplify complex scripts.
#7about 3 minutes
How to implement loops through compile-time unrolling
Since Bitcoin Script lacks native loop opcodes, loops can be implemented at compile time by unrolling the code, which repeats the script body a specified number of times.
#8about 2 minutes
Dynamic script generation with compile-time functions
The 'funk' keyword executes a function at compile time, enabling dynamic script generation based on the values of known inputs before runtime.
#9about 6 minutes
Building a dynamic byte reversal function
A practical example demonstrates creating a byte reversal script that dynamically adapts its loop count based on the input's length, calculated at compile time.
#10about 10 minutes
Q&A on script optimization, tooling, and advanced concepts
The session concludes with answers to audience questions on hardware acceleration, data limits, OP_CODESEPARATOR, and the future of the demonstrated scripting tool.
Related jobs
Jobs that call for the skills explored in this talk.
MARKT-PILOT GmbH
Stuttgart, Germany
Remote
€75-90K
Senior
Java
TypeScript
+1
Eltemate
Amsterdam, Netherlands
Intermediate
Senior
TypeScript
Continuous Integration
+1
tree-IT GmbH
Bad Neustadt an der Saale, Germany
€54-80K
Intermediate
Senior
Java
TypeScript
+1
Matching moments
01:32 MIN
Organizing a developer conference for 15,000 attendees
Cat Herding with Lions and Tigers - Christian Heilmann
02:54 MIN
Automating video post-production with local scripts
Cat Herding with Lions and Tigers - Christian Heilmann
04:57 MIN
Increasing the value of talk recordings post-event
Cat Herding with Lions and Tigers - Christian Heilmann
03:17 MIN
Selecting strategic partners and essential event tools
Cat Herding with Lions and Tigers - Christian Heilmann
02:39 MIN
Establishing a single source of truth for all data
Cat Herding with Lions and Tigers - Christian Heilmann
14:14 MIN
Scripting presentations and demos in VS Code
Devs vs. Marketers, COBOL and Copilot, Make Live Coding Easy and more - The Best of LIVE 2025 - Part 3
03:48 MIN
Automating formal processes risks losing informal human value
What 2025 Taught Us: A Year-End Special with Hung Lee
03:39 MIN
Breaking down silos between HR, tech, and business
What 2025 Taught Us: A Year-End Special with Hung Lee
Featured Partners
Related Videos
Introduction to sCrypt - a smart contract language for Bitcoin SV
Liu Xiaohui
Bitcoin transactions- embedding and using data for applications built on Bitcoin SV
Jack Davies & Alessio Pagani
OP_PUSH_TX and its applications in Bitcoin smart contracts
Xiaohui Liu
Run on Bitcoin
Brenton Gunning
Bitcoin SV: The Massively Scaled Blockchain to Meet Developer Needs
Jimmy Nguyen & Steve Shadders
Connect API for Bitcoin SV applications
Rafa Jiménez
Build Your Blockchain Application in JavaScript
Nazar Hussain
Wasm Deep Dive - A Glance Behind the Scenes
Rainer Stropek
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

Ledger SAS
Paris, France
€9-18K
API
React
Node.js
Bitcoin
+3


Confideck GmbH
Vienna, Austria
Remote
Intermediate
Senior
Node.js
MongoDB
TypeScript



Stack Builders
Remote
€97-118K
Intermediate
Scrum
React
jQuery
+3

Ledger Rocket
Remote
Intermediate
API
Java
REST
Azure
+12

