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
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
02:49 MIN
Using AI to overcome challenges in systems programming
AI in the Open and in Browsers - Tarek Ziadé
01:15 MIN
Crypto crime, EU regulation, and working while you sleep
Fake or News: Self-Driving Cars on Subscription, Crypto Attacks Rising and Working While You Sleep - Théodore Lefèvre
02:33 MIN
Why you might not need JavaScript for everything
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
02:55 MIN
Why developers often undervalue their time and paid tools
Developer Time Is Valuable - Use the Right Tools - Kilian Valkhof
09:10 MIN
How AI is changing the freelance developer experience
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
09:38 MIN
Technical challenges of shipping a cross-platform browser
Developer Time Is Valuable - Use the Right Tools - Kilian Valkhof
03:31 MIN
The value of progressive enhancement and semantic HTML
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
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.


Code Healers LLC
Hinesville, United States of America
Remote
€30-40K
Intermediate
Senior
.NET
React
JavaScript
+2

Code Healers LLC
Hinesville, United States of America
Remote
€20-30K
Junior
Intermediate
React
JavaScript
TypeScript
+1

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

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

United Kingdom - 2 minutes ago
Intermediate
API
GIT
Azure
React
Python
+6

Schwarz Digits
Barcelona, Spain
Go
Scrum
Agile Methodologies

