Re: [bitcoin-dev] Is there a tool like Ethereum EVM at present for Bitcoin script?

2021-08-26 Thread Jeremy via bitcoin-dev
Will update those soon / in November. Sapio needs the rust Bitcoin taproot
ecosystem to mature, as well as a spec for miniscript taproot (altho we can
kinda monkey patch one in without it).

To be honest, I had some technical difficulties with getting Libera to work
and I gave up... But perhaps I can retry getting it to work again. Irc
infra 路‍♂️ struggles...


On Thu, Aug 26, 2021, 6:10 AM Michael Folkson 
wrote:

> The "No Taproot" section of the Sapio docs need updating :) What are
> your plans to take advantage of Taproot with Sapio? It would have been
> interesting to see what a Taproot emulator would have looked like,
> although no need for it now. It seems to me Taproot would have been
> harder to emulate than CTV though I could be wrong.
>
> https://learn.sapio-lang.org/ch05-02-taproot.html
>
> Also there have been a number of people asking questions about Sapio
> and CTV on the Libera equivalents of Freenode channels #sapio and
> ##ctv-bip-review over the past months. Do you plan to join and claim
> those channels?
>
> Date: Thu, 26 Aug 2021 03:26:23 -0700
> From: Jeremy 
> To: Andrew Poelstra , Bitcoin Protocol
> Discussion 
> Subject: Re: [bitcoin-dev] Is there a tool like Ethereum EVM at
> present for Bitcoin script?
> Message-ID:
>  3j1sodea...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> This has actually never been true (Sapio assumes extensions).
>
> If the extensions are not present, you can stub them out with a signing
> federation instead, configurable as flags, and you can also write many
> contracts that do not use the ctv based components at all.
>
> The protocol for emulation is a bit clever (if I do say so myself) since it
> ensures that contract compilation is completely offline and the oracles are
> completely stateless.
>
> Relevant links:
>
> https://learn.sapio-lang.org/ch05-01-ctv-emulator.html
> https://learn.sapio-lang.org/ch03-02-finish.html
>
> Cheers,
>
> Jeremy
>
> --
> Michael Folkson
> Email: michaelfolk...@gmail.com
> Keybase: michaelfolkson
> PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3
>
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Is there a tool like Ethereum EVM at present for Bitcoin script?

2021-08-26 Thread Michael Folkson via bitcoin-dev
The "No Taproot" section of the Sapio docs need updating :) What are
your plans to take advantage of Taproot with Sapio? It would have been
interesting to see what a Taproot emulator would have looked like,
although no need for it now. It seems to me Taproot would have been
harder to emulate than CTV though I could be wrong.

https://learn.sapio-lang.org/ch05-02-taproot.html

Also there have been a number of people asking questions about Sapio
and CTV on the Libera equivalents of Freenode channels #sapio and
##ctv-bip-review over the past months. Do you plan to join and claim
those channels?

Date: Thu, 26 Aug 2021 03:26:23 -0700
From: Jeremy 
To: Andrew Poelstra , Bitcoin Protocol
Discussion 
Subject: Re: [bitcoin-dev] Is there a tool like Ethereum EVM at
    present for Bitcoin script?
Message-ID:

Content-Type: text/plain; charset="utf-8"

This has actually never been true (Sapio assumes extensions).

If the extensions are not present, you can stub them out with a signing
federation instead, configurable as flags, and you can also write many
contracts that do not use the ctv based components at all.

The protocol for emulation is a bit clever (if I do say so myself) since it
ensures that contract compilation is completely offline and the oracles are
completely stateless.

Relevant links:

https://learn.sapio-lang.org/ch05-01-ctv-emulator.html
https://learn.sapio-lang.org/ch03-02-finish.html

Cheers,

Jeremy

-- 
Michael Folkson
Email: michaelfolk...@gmail.com
Keybase: michaelfolkson
PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Is there a tool like Ethereum EVM at present for Bitcoin script?

2021-08-26 Thread Jeremy via bitcoin-dev
This has actually never been true (Sapio assumes extensions).

If the extensions are not present, you can stub them out with a signing
federation instead, configurable as flags, and you can also write many
contracts that do not use the ctv based components at all.

The protocol for emulation is a bit clever (if I do say so myself) since it
ensures that contract compilation is completely offline and the oracles are
completely stateless.

Relevant links:

https://learn.sapio-lang.org/ch05-01-ctv-emulator.html
https://learn.sapio-lang.org/ch03-02-finish.html

Cheers,

Jeremy

On Tue, Aug 24, 2021, 6:19 AM Andrew Poelstra via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:

>
> Simplicity does not compile to Bitcoin Script, and Sapio assumes extensions
> to Bitcoin Script that are not currently part of the consensus code.
>
>
> On Tue, Aug 24, 2021 at 03:36:29PM +0800, Gijs van Dam via bitcoin-dev
> wrote:
> > Hi,
> >
> >
> > Bitcoin does not have a virtual machine. But you do have [Miniscript][1],
> > [Min.sc][2], [Simplicity][3] and [Sapio][4]. These are all higher level
> > languages that compile to Bitcoin Script. Sapio is "just" Rust, so that
> > might fit your setting best.
> >
> > By the way, this question also has an answer on [Bitcoin
> Stackexchange][5]
> > which is a great resource for questions like this.
> >
> > [1]: http://bitcoin.sipa.be/miniscript/
> > [2]: https://min.sc/
> > [3]: https://github.com/ElementsProject/simplicity
> > [4]: https://learn.sapio-lang.org/
> > [5]:
> >
> https://bitcoin.stackexchange.com/questions/108261/is-there-a-tool-like-ethereum-evm-at-present-for-bitcoin-script
> >
> > On Tue, Aug 24, 2021 at 2:55 PM Null Null via bitcoin-dev <
> > bitcoin-dev@lists.linuxfoundation.org> wrote:
> >
> > > Hi all,
> > >
> > > Is there a tool like Ethereum EVM at present? Users can write bitcoin
> > > scripts in a syntax just like python(or like other programming
> language);
> > > through this tool, they can be translated into bitcoin original
> scripts; it
> > > sounds like a new programming language has been invented.
> > >
> > > In my opinion, Bitcoin script programming is based on reverse Polish
> > > expression; this is not friendly to programmers;
> > >
> > > In fact, Bitcoin's opcode expression ability is very rich, and it may
> be
> > > unfriendly, which has affected the promotion of Bitcoin in the
> technical
> > > community.
> > >
> > > Hope for hearing some voice about this.
> > >
> > > Best wish.
> > >
> > > ___
> > > bitcoin-dev mailing list
> > > bitcoin-dev@lists.linuxfoundation.org
> > > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
> > >
>
> > ___
> > bitcoin-dev mailing list
> > bitcoin-dev@lists.linuxfoundation.org
> > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
>
> --
> Andrew Poelstra
> Director of Research, Blockstream
> Email: apoelstra at wpsoftware.net
> Web:   https://www.wpsoftware.net/andrew
>
> The sun is always shining in space
> -Justin Lewis-Webster
>
> ___
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Is there a tool like Ethereum EVM at present for Bitcoin script?

2021-08-26 Thread Oleg Andreev via bitcoin-dev
It is worth checking out Ivy lang Playground by Dan Robinson, but AFAIK, it's 
not actively maintained. It compiles contracts to Bitcoin Script: 
https://www.ivylang.org/bitcoin

> On 24. Aug 2021, at 16:08, Andrew Poelstra via bitcoin-dev 
>  wrote:
> 
> 
> Simplicity does not compile to Bitcoin Script, and Sapio assumes extensions
> to Bitcoin Script that are not currently part of the consensus code.
> 
> 
> On Tue, Aug 24, 2021 at 03:36:29PM +0800, Gijs van Dam via bitcoin-dev wrote:
>> Hi,
>> 
>> 
>> Bitcoin does not have a virtual machine. But you do have [Miniscript][1],
>> [Min.sc][2], [Simplicity][3] and [Sapio][4]. These are all higher level
>> languages that compile to Bitcoin Script. Sapio is "just" Rust, so that
>> might fit your setting best.
>> 
>> By the way, this question also has an answer on [Bitcoin Stackexchange][5]
>> which is a great resource for questions like this.
>> 
>> [1]: http://bitcoin.sipa.be/miniscript/
>> [2]: https://min.sc/
>> [3]: https://github.com/ElementsProject/simplicity
>> [4]: https://learn.sapio-lang.org/
>> [5]:
>> https://bitcoin.stackexchange.com/questions/108261/is-there-a-tool-like-ethereum-evm-at-present-for-bitcoin-script
>> 
>> On Tue, Aug 24, 2021 at 2:55 PM Null Null via bitcoin-dev <
>> bitcoin-dev@lists.linuxfoundation.org> wrote:
>> 
>>> Hi all,
>>> 
>>> Is there a tool like Ethereum EVM at present? Users can write bitcoin
>>> scripts in a syntax just like python(or like other programming language);
>>> through this tool, they can be translated into bitcoin original scripts; it
>>> sounds like a new programming language has been invented.
>>> 
>>> In my opinion, Bitcoin script programming is based on reverse Polish
>>> expression; this is not friendly to programmers;
>>> 
>>> In fact, Bitcoin's opcode expression ability is very rich, and it may be
>>> unfriendly, which has affected the promotion of Bitcoin in the technical
>>> community.
>>> 
>>> Hope for hearing some voice about this.
>>> 
>>> Best wish.
>>> 
>>> ___
>>> bitcoin-dev mailing list
>>> bitcoin-dev@lists.linuxfoundation.org
>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>> 
> 
>> ___
>> bitcoin-dev mailing list
>> bitcoin-dev@lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
> 
> 
> -- 
> Andrew Poelstra
> Director of Research, Blockstream
> Email: apoelstra at wpsoftware.net
> Web:   https://www.wpsoftware.net/andrew
> 
> The sun is always shining in space
>-Justin Lewis-Webster
> 
> ___
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Is there a tool like Ethereum EVM at present for Bitcoin script?

2021-08-26 Thread Null Null via bitcoin-dev
thanks for you suggestion, Gijs.

I spent some time learning miniscript, and there are some problems that need to 
confirm for me:

1. Is miniscript a brand new Bitcoin scripting language?
2. If I use miniscript, do I need to compile it into a Bitcoin OP_CODE script? 
If so, how to do that ? has someone written a compiler? 
I found that @sipa has open sourced a compiler implemented in C++ on github( 
https://github.com/sipa/miniscript ). This should translate the policy language 
into miniscript;

> 2021年8月24日 下午3:36,Gijs van Dam via bitcoin-dev 
>  写道:
> 
> Hi,
> 
> 
> Bitcoin does not have a virtual machine. But you do have [Miniscript][1], 
> [Min.sc][2], [Simplicity][3] and [Sapio][4]. These are all higher level 
> languages that compile to Bitcoin Script. Sapio is "just" Rust, so that might 
> fit your setting best.
> 
> By the way, this question also has an answer on [Bitcoin Stackexchange][5] 
> which is a great resource for questions like this.
> 
> [1]: http://bitcoin.sipa.be/miniscript/
> [2]: https://min.sc/
> [3]: https://github.com/ElementsProject/simplicity
> [4]: https://learn.sapio-lang.org/
> [5]: 
> https://bitcoin.stackexchange.com/questions/108261/is-there-a-tool-like-ethereum-evm-at-present-for-bitcoin-script
> 
> On Tue, Aug 24, 2021 at 2:55 PM Null Null via bitcoin-dev 
>  wrote:
> Hi all,
> 
> Is there a tool like Ethereum EVM at present? Users can write bitcoin scripts 
> in a syntax just like python(or like other programming language); through 
> this tool, they can be translated into bitcoin original scripts; it sounds 
> like a new programming language has been invented.
> 
> In my opinion, Bitcoin script programming is based on reverse Polish 
> expression; this is not friendly to programmers;
> 
> In fact, Bitcoin's opcode expression ability is very rich, and it may be 
> unfriendly, which has affected the promotion of Bitcoin in the technical 
> community.
> 
> Hope for hearing some voice about this.
> 
> Best wish.
> 
> ___
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
> ___
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Is there a tool like Ethereum EVM at present for Bitcoin script?

2021-08-24 Thread Andrew Poelstra via bitcoin-dev

Simplicity does not compile to Bitcoin Script, and Sapio assumes extensions
to Bitcoin Script that are not currently part of the consensus code.


On Tue, Aug 24, 2021 at 03:36:29PM +0800, Gijs van Dam via bitcoin-dev wrote:
> Hi,
> 
> 
> Bitcoin does not have a virtual machine. But you do have [Miniscript][1],
> [Min.sc][2], [Simplicity][3] and [Sapio][4]. These are all higher level
> languages that compile to Bitcoin Script. Sapio is "just" Rust, so that
> might fit your setting best.
> 
> By the way, this question also has an answer on [Bitcoin Stackexchange][5]
> which is a great resource for questions like this.
> 
> [1]: http://bitcoin.sipa.be/miniscript/
> [2]: https://min.sc/
> [3]: https://github.com/ElementsProject/simplicity
> [4]: https://learn.sapio-lang.org/
> [5]:
> https://bitcoin.stackexchange.com/questions/108261/is-there-a-tool-like-ethereum-evm-at-present-for-bitcoin-script
> 
> On Tue, Aug 24, 2021 at 2:55 PM Null Null via bitcoin-dev <
> bitcoin-dev@lists.linuxfoundation.org> wrote:
> 
> > Hi all,
> >
> > Is there a tool like Ethereum EVM at present? Users can write bitcoin
> > scripts in a syntax just like python(or like other programming language);
> > through this tool, they can be translated into bitcoin original scripts; it
> > sounds like a new programming language has been invented.
> >
> > In my opinion, Bitcoin script programming is based on reverse Polish
> > expression; this is not friendly to programmers;
> >
> > In fact, Bitcoin's opcode expression ability is very rich, and it may be
> > unfriendly, which has affected the promotion of Bitcoin in the technical
> > community.
> >
> > Hope for hearing some voice about this.
> >
> > Best wish.
> >
> > ___
> > bitcoin-dev mailing list
> > bitcoin-dev@lists.linuxfoundation.org
> > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
> >

> ___
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


-- 
Andrew Poelstra
Director of Research, Blockstream
Email: apoelstra at wpsoftware.net
Web:   https://www.wpsoftware.net/andrew

The sun is always shining in space
-Justin Lewis-Webster

___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Is there a tool like Ethereum EVM at present for Bitcoin script?

2021-08-24 Thread Gijs van Dam via bitcoin-dev
Hi,


Bitcoin does not have a virtual machine. But you do have [Miniscript][1],
[Min.sc][2], [Simplicity][3] and [Sapio][4]. These are all higher level
languages that compile to Bitcoin Script. Sapio is "just" Rust, so that
might fit your setting best.

By the way, this question also has an answer on [Bitcoin Stackexchange][5]
which is a great resource for questions like this.

[1]: http://bitcoin.sipa.be/miniscript/
[2]: https://min.sc/
[3]: https://github.com/ElementsProject/simplicity
[4]: https://learn.sapio-lang.org/
[5]:
https://bitcoin.stackexchange.com/questions/108261/is-there-a-tool-like-ethereum-evm-at-present-for-bitcoin-script

On Tue, Aug 24, 2021 at 2:55 PM Null Null via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:

> Hi all,
>
> Is there a tool like Ethereum EVM at present? Users can write bitcoin
> scripts in a syntax just like python(or like other programming language);
> through this tool, they can be translated into bitcoin original scripts; it
> sounds like a new programming language has been invented.
>
> In my opinion, Bitcoin script programming is based on reverse Polish
> expression; this is not friendly to programmers;
>
> In fact, Bitcoin's opcode expression ability is very rich, and it may be
> unfriendly, which has affected the promotion of Bitcoin in the technical
> community.
>
> Hope for hearing some voice about this.
>
> Best wish.
>
> ___
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


[bitcoin-dev] Is there a tool like Ethereum EVM at present for Bitcoin script?

2021-08-24 Thread Null Null via bitcoin-dev
Hi all,

Is there a tool like Ethereum EVM at present? Users can write bitcoin scripts 
in a syntax just like python(or like other programming language); through this 
tool, they can be translated into bitcoin original scripts; it sounds like a 
new programming language has been invented.

In my opinion, Bitcoin script programming is based on reverse Polish 
expression; this is not friendly to programmers;

In fact, Bitcoin's opcode expression ability is very rich, and it may be 
unfriendly, which has affected the promotion of Bitcoin in the technical 
community.

Hope for hearing some voice about this.

Best wish.

___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev