{"repo":"paritytech/revive","free":true,"listed":false,"github":"https://github.com/paritytech/revive","clone":"git clone https://github.com/paritytech/revive.git","description":"Solidity compiler for Polkadot, targetting PolkaVM in pallet-revive","language":"Rust","stars":102,"topics":["blockchain","compiler","polkadot-sdk","solidity"],"license":"Apache-2.0","category":"blockchain-web3","readme_excerpt":"revive Yul recompiler to LLVM, targetting RISC-V on PolkaVM. Check the docs or visit contracts.polkadot.io to learn more about revive and contracts on Polkadot! Discussion around the development is hosted on the Polkadot Forum. [!WARNING] Solidity on PVM is running on the pallet-revive runtime. This introduces observable semantic differences in comparison with the EVM. Study the differences section carefully. Ignoring these differences may lead to defunct contracts. Notable examples: - The 63/64 gas rule isn't implemented in the pallet (introduces potential DoS vector when calling other contracts) - Contract instantiation works differently (by hash instead of by code) - The gas model implemented by pallet-revive differs from Ethereum - The heap size is fixed instead of gas-metered and there's a fixed amount of stack size (contracts working fine on EVM may trap on PVM) Installation Building Solidity contracts for PolkaVM requires installing the following two compilers: - resolc : The revive Solidity compiler Yul frontend and PolkaVM code generator (provided by this repository). - solc : The Ethereum Solidity reference compiler implemenation. resolc uses solc during the compilation process, please refer to the Ethereum Solidity documentation for installation instructions. resolc binary releases resolc is distributed as a standalone binary (with solc as the only external dependency). Please download one of our binary releases for your target platform and mind the platform specif","default_branch":null,"files":null,"tree":[],"storefront":"/r/paritytech","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/paritytech/revive/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."}