Polyjuice is a layer 2 solution that provides Ethereum Virtual Machine (EVM) compatibility for smart contracts running on Nervos.

This means that Polyjuice gives developers the ability to port their existing Ethereum dApps to CKB with minimal effort. The goal of Polyjuice is to be 100% compatible with all EVM smart contracts, libraries, and tooling, meaning that:

  • Any Solidity-based smart contract running on Ethereum today should be able to run on Polyjuice.
  • Polyjuice may be able to add additional features that are not yet implemented in Ethereum. (If there is an EIP you desperately need today, Polyjuice may be able to provide a solution quicker.)

Polyjuice is used in conjunction with Godwoken, an optimistic rollup framework which provides high-performance on layer 2. The combination of Godwoken + Polyjuice is most often referred to as just "Godwoken" in most materials and documentation.

Further Reading: