Is there a tool like Ethereum EVM at present for Bitcoin script? [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2021-08-26T20:03:47+00:00


Summary:

In a recent email exchange, Andrew Poelstra of Sapio discussed the company's plans to take advantage of Taproot with Sapio. He mentioned that they need the rust Bitcoin taproot ecosystem to mature before they can fully utilize Taproot with Sapio. Additionally, he stated that they require a spec for miniscript taproot, but they could "monkey patch" one in without it. There were questions about Sapio and CTV on Libera equivalents of Freenode channels #sapio and ##ctv-bip-review, and it is unclear whether Sapio plans to join and claim those channels.Sapio assumes extensions to Bitcoin Script that are not currently part of the consensus code. However, users can stub out missing extensions with a signing federation instead, configurable as flags. It is also possible to write contracts that do not use ctv based components at all. The protocol for emulation ensures that contract compilation is completely offline and the oracles are stateless. Relevant links to resources on the Sapio website were provided.Bitcoin does not have a virtual machine, but higher level languages like Miniscript, Min.sc, Simplicity, and Sapio can compile to Bitcoin Script. Although programming with Bitcoin script is based on reverse Polish expression, it has rich opcode expression ability which may be unfriendly for programmers and affect the promotion of Bitcoin in the technical community. A tool similar to Ethereum EVM does not exist at present, but users can write bitcoin scripts in a syntax similar to Python or other programming languages and translate them into original bitcoin scripts. Gijs van Dam suggests Sapio as it is written in Rust and might fit better in a user's setting. The Ivy lang Playground by Dan Robinson compiles contracts to Bitcoin Script but is not actively maintained.A user on the bitcoin-dev mailing list asked if there is a tool similar to Ethereum's EVM that allows users to write Bitcoin scripts in a syntax like Python and translate them into Bitcoin original scripts. In response, Gijs van Dam suggested using higher-level languages like Miniscript, Min.sc, Simplicity, or Sapio, which all compile to Bitcoin Script. The user spent some time learning Miniscript and wondered if it is a brand new Bitcoin scripting language and whether they need to compile it into a Bitcoin OP_CODE script. They also found a compiler implemented in C++ on GitHub by sipa, which translates the policy language into Miniscript.In a recent email sent to the Bitcoin-dev mailing list, a user asked if there was a tool available that allows users to write Bitcoin scripts in a syntax similar to Python. In response, Andrew Poelstra provided a list of higher-level languages that can compile to Bitcoin Script, including Miniscript, Min.sc, Simplicity, and Sapio. These languages offer simpler ways to write Bitcoin scripts. While Bitcoin does not have a virtual machine, these languages provide alternatives for programming with Bitcoin Script. However, it should be noted that these extensions are not currently part of the consensus code.Bitcoin does not have a virtual machine, but there are higher level languages like Miniscript, Min.sc, Simplicity and Sapio that compile to Bitcoin Script. Sapio is based on Rust and may be the best fit for certain settings. A question was posed on the Bitcoin Stackexchange about whether there is a tool like Ethereum EVM at present for Bitcoin script programming, where users can write scripts in a syntax similar to Python and translate them into Bitcoin original scripts. The writer suggests that Bitcoin's opcode expression ability is rich but unfriendly, which has affected its promotion in the technical community.


Updated on: 2023-08-02T04:37:38.132373+00:00