Bitcoin Script does not provide built-in loop functionality. sCrypt implements loops by repeating the loop's internal data script n times.
loop (maxLoopCount) [: loopIndex]{ loopBody}loop (10) {x = x *2;} // Equivalent to unfolding x = x * 2; ten times
Since loop unfolding occurs at compile time, the number of iterations must be known at compile time and must be a constant.
Loop Increment
Loop increment refers to the operation of incrementing or decrementing the loop variable within the loop body.
// int[3][4] matrix;// i & j are induction variablesloop (3) : i {// i is the outer loop indexloop (4) : j {// j is the inner loop index matrix[i][j] = i + j; }}
Adding Conditions Inside the Loop
Exiting the Loop
To exit the loop within the loop body, use the following method: