{"repo":"s-tikhomirov/smart-contract-languages","free":true,"listed":false,"github":"https://github.com/s-tikhomirov/smart-contract-languages","clone":"git clone https://github.com/s-tikhomirov/smart-contract-languages.git","description":"A curated collection of resources on smart contract programming languages","language":null,"stars":250,"topics":["smart-contracts","programming-languages"],"license":null,"category":"blockchain-web3","readme_excerpt":"Overview This is a curated collection of resources on specialized programming languages executed by decentralized peer-to-peer networks, also known as blockchains. Let us define a smart contract, or simply contract, as a piece of code created by a blockchain user and executed by a blockchain node. A smart contract language (SCL) is a programming language that is either used to write a smart contract directly, or is compiled to it. Programming languages differ on multiple dimensions, such as paradigm and type system. Due to a very unusual execution environment, SCLs have a different set of trade-offs compared to earlier languages. This spawned multiple attempts at creating secure and expressive SCLs. Pre-Bitcoin A formal language for analyzing contracts - an essay by Nick Szabo E - referenced by Szabo Bitcoin Bitcoin Script - a stack-based non Turing complete Forth-like language used to write script that determine whether a UTXO can be spent. Ivy - a non Turing complete higher-level language that compiles to Bitcoin Script (announcement) sCrypt - a TypeScript-based DSL that compiles to Bitcoin Script running on Bitcoin SV Simplicity - a typed functional programming language utilizing combinators blog post, another one BitML - a process calculus based language, compiles to Bitcoin script (article) BALZaC - a high-level language based on the formal model proposed in [[AB+18FC]](https://eprint.iacr.org/2017/1124.pdf) Miniscript - a language for writing (a subset of) Bitcoin Scrip","default_branch":null,"files":null,"tree":[],"storefront":"/r/s-tikhomirov","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/s-tikhomirov/smart-contract-languages/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}