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.
Matching moments
02:46 MIN
Modern smart contract development with Bitcoin Script
Bitcoin SV: The Massively Scaled Blockchain to Meet Developer Needs
Unlock full access
Log in or set up an account to access this feature and more.
05:14 MIN
How Bitcoin Script enables programmable money
A Technical Introduction to Bitcoin's 2nd Layer- The Lightning Network
Unlock full access
Log in or set up an account to access this feature and more.
04:55 MIN
Introducing sCrypt as a high-level language for Bitcoin
Introduction to sCrypt - a smart contract language for Bitcoin SV
Unlock full access
Log in or set up an account to access this feature and more.
03:56 MIN
Improving the developer experience on modern blockchains
Blockchain Beyond Crypto: Technology Unlocking Opportunities across Various Industries
Unlock full access
Log in or set up an account to access this feature and more.
03:10 MIN
Q&A on fungible tokens and advanced script interactions
Run on Bitcoin
Unlock full access
Log in or set up an account to access this feature and more.
08:34 MIN
A practical demonstration of scripting a live demo
WeAreDevelopers LIVE - Demo Time, Live Coding, End-to-End Testing and more
Unlock full access
Log in or set up an account to access this feature and more.
01:33 MIN
Introduction to OP_PUSH_TX and its applications
OP_PUSH_TX and its applications in Bitcoin smart contracts
Unlock full access
Log in or set up an account to access this feature and more.
10:36 MIN
Key benefits of building with the Lisk SDK
Develop a Blockchain Application in JavaScript with Lisk SDK
Unlock full access
Log in or set up an account to access this feature 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
Run on Bitcoin
Brenton Gunning
OP_PUSH_TX and its applications in Bitcoin smart contracts
Xiaohui Liu
Bitcoin SV: The Massively Scaled Blockchain to Meet Developer Needs
Jimmy Nguyen & Steve Shadders
Connect API for Bitcoin SV applications
Rafa Jiménez
Smart Contract fundamentals - My first DApp
Tim Weingärtner
Bitcoin- Ledger vs Blockchain
Evan Freeman
Related Articles
View all articles



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



