Re: [bitcoin-dev] Is there a tool like Ethereum EVM at present for Bitcoin script?
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?
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?
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?
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?
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?
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?
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