:: Re: [Libbitcoin] v3 update
Página superior
Eliminar este mensaje
Responder a este mensaje
Autor: Neill Miller
Fecha:  
A: Eric Voskuil
Cc: libbitcoin
Asunto: Re: [Libbitcoin] v3 update
On Mon, Nov 07, 2016 at 02:25:31PM -0800, Eric Voskuil wrote:
> I've already inlined the interpreter and will soon inline the remaining utilities (operation, number, program). This will give the compiler to option to remove the call stack overhead during script processing, without losing the testability and readability benefits of well-factored code.
>
> Finally, recent changes now make it possible to run Bitcoin script as one would expect to run any program...
>
> // my program (false)
> operation::list ops
> {
>     { opcode::positive_2 },
>     { { 2 } },
>     { opcode::equal },
>     { opcode::not_ }
> };

>
> script foo(ops);
> program bar(foo, [environment]);
> auto result = bar.evaluate();
>
> If (result == error::success)
> {
>     // script completed
>     If (!program.stack_false())
>     {
>         // number 2 is not data 2
>     }
> }


Very cool, nice work!

-Neill.