Bitcoin Script has a horrible debugging experience. This talk introduces a high-level language with a powerful debugger to make it finally readable and testable.
#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
05:14 MIN
How Bitcoin Script enables programmable money
A Technical Introduction to Bitcoin's 2nd Layer- The Lightning Network
04:55 MIN
Introducing sCrypt as a high-level language for Bitcoin
Introduction to sCrypt - a smart contract language for Bitcoin SV
03:10 MIN
Q&A on fungible tokens and advanced script interactions
Run on Bitcoin
03:56 MIN
Improving the developer experience on modern blockchains
Blockchain Beyond Crypto: Technology Unlocking Opportunities across Various Industries
08:34 MIN
A practical demonstration of scripting a live demo
WeAreDevelopers LIVE - Demo Time, Live Coding, End-to-End Testing and more
01:33 MIN
Introduction to OP_PUSH_TX and its applications
OP_PUSH_TX and its applications in Bitcoin smart contracts
All the videos of Halfstack London 2024!Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
Chris Heilmann
Dev Digest 131 - AI'm not sure about OSSNews and ArticlesRust and Typescript are rising stars in programming languages 2024 survey, the State of CSS 2024 survey is open and here is what's new in ECMAScript.In security news, a Microsoft update bricks Linux dual-boot systems, they patched a ...
Chris Heilmann
Dev Digest 138 - Are you secure about this?Hello there! This is the 2nd "out of the can" edition of 3 as I am on vacation in Greece eating lovely things on the beach. So, fewer news, but lots of great resources. Many around the topic of security. Enjoy! News and ArticlesGoogle Pixel phones t...
Chris Heilmann
WeAreDevelopers LIVE days are changing - get ready to take partStarting with this week's Web Dev Day edition of WeAreDevelopers LIVE Days, we changed the the way we run these online conferences. The main differences are:Shorter talks (half an hour tops)More interaction in Q&AA tips and tricks "Did you know" sect...
From learning to earning
Jobs that call for the skills explored in this talk.