Return-Path: Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 4B4C0C000E for ; Thu, 26 Aug 2021 02:43:35 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 281A74023D for ; Thu, 26 Aug 2021 02:43:35 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -1.849 X-Spam-Level: X-Spam-Status: No, score=-1.849 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: smtp4.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VE-Q2paNy1wm for ; Thu, 26 Aug 2021 02:43:30 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com [IPv6:2607:f8b0:4864:20::430]) by smtp4.osuosl.org (Postfix) with ESMTPS id 9D82A40204 for ; Thu, 26 Aug 2021 02:43:30 +0000 (UTC) Received: by mail-pf1-x430.google.com with SMTP id 2so1407980pfo.8 for ; Wed, 25 Aug 2021 19:43:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:content-transfer-encoding:mime-version:subject:date:references :to:in-reply-to:message-id; bh=/McbqNESer/k+HMDzqhHk1Ir95GwiVQMwEdRGFofuAY=; b=ccmQvpR2I5E33p4KAEiRVZSlh0QDRqe+zakWjSjYSoG4xKXtDsxbnfrDTnNfgN6Oty EoY0RgQDbdZy53ln0IyEbaEXgQr2qAnCe2q6WQAf5JH/K+1SMDG7GTsYmy9bRHxw8cDh X4kwerCOQKGsao9KiqkO9OEZOT/EWBYnuL1frwYTlPIX9NoJsi1YELHg0sKSmniNBCaR e0N6Q8RHsLlJosyejzGQl0f3rZCpDEz8ZFDY6PRZUKMsjVAS7n7rmEWncBvfe2qyX1pQ VZt7owlSQfiEz3EWdNOttTpyLUnUXMWe4PcfZQtmJbB0DQfCeiYMIOTK6D206xESSRSq TNsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:date:references:to:in-reply-to:message-id; bh=/McbqNESer/k+HMDzqhHk1Ir95GwiVQMwEdRGFofuAY=; b=luSMQq4NEXN8qiQxtcJQ1SbLQ1pA0I/r8zPnAp2hNb90J1p+N+E+wj88tqNIxEr7+w Cwiia8TxYY5v3ZGQDCCz/pMLbHzyjkhfuXtyKnWMMmIW/7kqd87WLW3g+NLew/S2Rcl0 +NqoA/pqkDdbRj/vwAHkED1mGzlOlcfthFQYXYk8vBMey1NJ7XTgBL5xXciEOxG2RMVN BXjqsxdNB/GM+w4qmO/ZzzT0y7V5YO05OsUH+DMBNEzs3R+o+Y5jzECDHOp1IhjL/y/6 khXEG5IZa1yxUFNyJHhG8N3SCgEPze/B22W/eHU8d1W/iglJr43t6uRCVtcc5D0Tr1W6 eKhw== X-Gm-Message-State: AOAM5334Jm3/nvNTFB0DSVsiwQa4BvX1wIKsJ9jaUGvF2au2l21xPtbD ZcwRWzEqtPnKbdnRJdQXUbQ= X-Google-Smtp-Source: ABdhPJw5dz80DHPSClXr4eGo3+KnIbn+B/oG9Ut2ltMYbzQtIOXN4jWg0c1AEagkPdhcApKJ0auCeg== X-Received: by 2002:aa7:96c3:0:b0:3e2:1cc0:da27 with SMTP id h3-20020aa796c3000000b003e21cc0da27mr1465959pfq.65.1629945809995; Wed, 25 Aug 2021 19:43:29 -0700 (PDT) Received: from [127.0.0.1] ([103.138.75.117]) by smtp.gmail.com with ESMTPSA id d22sm916592pfq.158.2021.08.25.19.43.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Aug 2021 19:43:29 -0700 (PDT) From: Null Null Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.60.0.2.21\)) Date: Thu, 26 Aug 2021 10:43:27 +0800 References: To: Gijs van Dam , Bitcoin Protocol Discussion In-Reply-To: Message-Id: X-Mailer: Apple Mail (2.3654.60.0.2.21) X-Mailman-Approved-At: Thu, 26 Aug 2021 07:53:03 +0000 Subject: Re: [bitcoin-dev] Is there a tool like Ethereum EVM at present for Bitcoin script? X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Aug 2021 02:43:35 -0000 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?=20 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=E5=B9=B48=E6=9C=8824=E6=97=A5 =E4=B8=8B=E5=8D=883:36=EF=BC=8CGijs = van Dam via bitcoin-dev = =E5=86=99=E9=81=93=EF=BC=9A >=20 > Hi, >=20 >=20 > 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. >=20 > By the way, this question also has an answer on [Bitcoin = Stackexchange][5] which is a great resource for questions like this. >=20 > [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-et= hereum-evm-at-present-for-bitcoin-script >=20 > On Tue, Aug 24, 2021 at 2:55 PM Null Null via bitcoin-dev = wrote: > Hi all, >=20 > 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. >=20 > In my opinion=EF=BC=8C Bitcoin script programming is based on reverse = Polish expression; this is not friendly to programmers; >=20 > 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. >=20 > Hope for hearing some voice about this. >=20 > Best wish. >=20 > _______________________________________________ > 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