{"id":13788486,"url":"https://github.com/openblockchains/awesome-solidity","last_synced_at":"2025-10-08T02:36:18.376Z","repository":{"id":98534876,"uuid":"104641066","full_name":"openblockchains/awesome-solidity","owner":"openblockchains","description":"Awesome Solidity (Contract) Programming Language \u0026 Tools - Incl. Weekly Updates","archived":false,"fork":false,"pushed_at":"2023-02-04T16:57:10.000Z","size":101,"stargazers_count":22,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-25T16:55:50.467Z","etag":null,"topics":["abi","blockchain","cairo","ethereum","fe","foundry","hardhat","solidity","sourcify","sruby","vyper","yul"],"latest_commit_sha":null,"homepage":"","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openblockchains.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-09-24T12:09:03.000Z","updated_at":"2024-12-20T03:15:09.000Z","dependencies_parsed_at":"2023-05-29T09:15:05.592Z","dependency_job_id":null,"html_url":"https://github.com/openblockchains/awesome-solidity","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openblockchains%2Fawesome-solidity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openblockchains%2Fawesome-solidity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openblockchains%2Fawesome-solidity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openblockchains%2Fawesome-solidity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openblockchains","download_url":"https://codeload.github.com/openblockchains/awesome-solidity/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248223818,"owners_count":21068069,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abi","blockchain","cairo","ethereum","fe","foundry","hardhat","solidity","sourcify","sruby","vyper","yul"],"created_at":"2024-08-03T21:00:47.712Z","updated_at":"2025-10-08T02:36:13.344Z","avatar_url":"https://github.com/openblockchains.png","language":"Solidity","readme":"# Awesome Solidity (Contract) Programming Language \u0026 Tools\n\n\n## What's News?\n\nFor weekly solidity (contract) programming \"dev stuff\" updates - see [**NEWS »**](NEWS.md)\n\n\nBonus: For weekly ethereum improvement proposal (eip) updates - see [**ETHEREUM »**](ETHEREUM.md)\n\n\n\n## New to Solidity?\n\n_Official_\n\nSolidity Language @ \u003chttps://soliditylang.org\u003e\n\n- Read the Docs @ \u003chttps://docs.soliditylang.org/en/latest/\u003e\n- Blog @  \u003chttps://blog.soliditylang.org\u003e\n- Forum @ \u003chttps://forum.soliditylang.org\u003e\n- Source @ \u003chttps://github.com/ethereum/solidity\u003e\n\n\u003c!-- break --\u003e\n\n_More_\n\nSolidity by Example @ \u003chttps://solidity-by-example.org\u003e\n\nLearn X in Y Minutes (Where X=Solidity) @ \u003chttps://learnxinyminutes.com/docs/solidity\u003e\n\n\n\n## Alternative Contract-Oriented Programming Languages\n\n###  Higher-Level\n\n**Fe** - the syntax is inspired by Python and Rust. It is easy to learn, even for those who have never dealt with the ethereum virtual machine (evm) before; designed to be safe and equipped with the tooling needed to validate contracts; uses the same intermediate language as Solidity (YUL), making it a great choice not only for the ethereum mainnet, but also for (upcoming) layer two chains.\n\n- web @ \u003chttps://fe-lang.org\u003e\n- docs @ \u003chttps://fe-lang.org/docs\u003e\n- source @ \u003chttps://github.com/ethereum/fe\u003e\n\n**Vyper** - a more recently developed language, similar to Serpent and again with Python-like syntax. \nIntended to get closer to a pure-functional Python-like language than Serpent, but not to replace Serpent.\n\n- docs @ \u003chttps://vyper.readthedocs.io\u003e\n- source @ \u003chttps://github.com/vyperlang\u003e\n\n**Secure Ruby / Small, Smart, Secure, Safe, Solid \u0026 Sound (S6) Ruby (sruby / s6 ruby)** - the ruby programming language for contract / transaction scripts on the blockchain world computer - yes, it's just ruby; see the [**red paper »**](https://github.com/s6ruby/redpaper)\n\n- source @ \u003chttps://github.com/s6ruby\u003e\n- talks  \n  - Code Your Own (Crypto Blockchain) Contracts w/ Ruby (sruby), Universum \u0026 Co @ \u003chttps://github.com/geraldb/talks/blob/master/contracts.md\u003e \n\n\n\u003c!-- break --\u003e\n\n_Historic_\n\n**Serpent** - a procedural (imperative) programming language with a syntax similar to Python. Can also be used to write functional (declarative) code, though it is not entirely free of side effects.\n\n- source @ \u003chttps://github.com/ethereum/serpent\u003e\n\n**Bamboo** - a language influenced by Erlang, with explicit state transitions and without iterative flows (loops). Intended to reduce side effects and increase auditability. \n\n- source @ \u003chttps://github.com/pirapira/bamboo\u003e\n\n\n###  Low-Level (\"Assembly-Like\")\n\n**YUL** - official \"intermediate\" assembly language for the ethereum virtual machine (evm)\n\n\n\u003e Yul (previously also called JULIA or IULIA) is an intermediate language that can be compiled to bytecode for different backends.\n\u003e\n\u003e It can be used in stand-alone mode and for \"inline assembly\" inside Solidity. \n\u003e The compiler uses Yul as an intermediate language in the IR-based code generator \n\u003e (\"new codegen\" or \"IR-based codegen\"). \n\u003e Yul is a good target for high-level optimisation stages that can benefit all target platforms equally.\n\n- docs @ \u003chttps://docs.soliditylang.org/en/latest/yul.html\u003e\n\n\n**Huff** - a low level \"intermediate\" assembly language for the ethereum virtual machine (evm)\n\n-  web @ \u003chttps://huff.sh\u003e\n-  docs @ \u003chttps://docs.huff.sh\u003e\n- source @ \u003chttps://github.com/huff-language\u003e\n\n\n_Historic_\n\n**Low-level Lisp-like Language / Lisp Like Language (LLL)** - a functional (declarative) programming language, with Lisp-like syntax. It was the first \"intermediate\" assembly language for ethereum contracts.\n\n- docs @ \u003chttps://lll-docs.readthedocs.io\u003e\n\n\n\n### More / Misc\n\n**Cairo** - a STARK-based turing-complete language for writing provable programs on blockchain.\n\n- web @ \u003chttps://www.cairo-lang.org\u003e\n- docs @ \u003chttps://www.cairo-lang.org/docs\u003e\n- source @  \u003chttps://github.com/starkware-libs/cairo-lang\u003e\n\n\n\n\n## Contract (Source Code) Verification Tools \u0026 Services\n\n### Sourcify\n\n\u003e Sourcify enables transparent and human-readable smart contract interactions through automated Solidity contract verification, \n\u003e contract metadata, and NatSpec comments.\n\n- web @ \u003chttps://sourcify.dev\u003e\n- docs @ \u003chttps://docs.sourcify.dev\u003e\n- source @ \u003chttps://github.com/ethereum/sourcify\u003e\n\n\n\n### Etherscan Verify (\u0026 Publish Contract Source Code)\n\n- docs @ \u003chttps://etherscan.io/verifyContract\u003e\n\n\n### Codeslaw  (Verified Contract Search) \n\n\u003e Codeslaw is a code search engine for verified contracts on ethereum and beyond \n\u003e to help developers find and learn from verified and live contracts.\n\u003e Verified  contracts come from the following sources: (1) Etherscan, (2) Tin Tin's Contract Sanctuary, (3) Sourcify\n\n- web @ \u003chttps://www.codeslaw.app\u003e\n\n\n\n\n## Application Binary Interface (ABI) Specs, Tests, Tools \u0026 Services\n\n\n### (Method) Signature Databases / Lookups\n\n\n\n\n## More Awesome Awesomeness\n\n_A curated list of more awesome lists._\n\n\n- [**Awesome Solidity**](https://github.com/bkrem/awesome-solidity) by Ben Kremer  - a sorted a-to-z lists of solidity goodies\n\n\n\n## Meta\n\n**License**\n\n![](https://publicdomainworks.github.io/buttons/zero88x31.png)\n\nThe awesome list is dedicated to the public domain. Use it as you please with no restrictions whatsoever.\n","funding_links":[],"categories":["CryptoDrome (CryptoHorses) on the Blockchain! (Upcoming)"],"sub_categories":["CryptoTulips on the Blockchain!  (Upcoming)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenblockchains%2Fawesome-solidity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenblockchains%2Fawesome-solidity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenblockchains%2Fawesome-solidity/lists"}