Getting your Trinity Audio player ready... |
This post was first published on Medium.
We are excited to announce the integration of the sCrypt smart contract verification plugin on WhatsOnChain. The plugin allows anyone to submit and verify sCrypt code for a deployed smart contract.
Smart Contract Verification
Users need assurance that a smart contract does what it claims to do before interacting with it. In theory, everyone can view the contract and verify its logic since it’s fully on chain. In reality, however, this quickly becomes virtually impossible for any non-trivial contracts. This is because the on-chain contract is in low-level bytecode called Script, which is difficult to understand and reason about.
Smart contract verification matches a smart contract’s source code in a high-level language, e.g., sCrypt, to its on-chain Script. It recompiles the smart contract source code to Script and compares it with the Script on chain. If they are identical, the contract has been verified successfully.
After verification, anyone can read the smart contract in sCrypt and validate its business logic easily. Since a contract is immutable and cannot be tampered with after deployment, it remains trustless and transparent, arguably the most crucial premise for smart contracts.
Publishing a smart contract’s source code also makes it possible for multiple parties to independently audit it, identifying potential security vulnerabilities.
How to Verify a Smart Contract on WhatsOnChain
To verify a deployed smart contract on WhatsOnChain, you open its deployment transaction and navigate to the sCrypt plugin tab. You paste the smart contract code and hit Submit.
The plugin checks if the source code compiles to the same Script as in the transaction. If yes, the smart contract has been verified!
Acknowledgements
We thank the WhatsOnChain team for their support, especially Liam Missin and Muhammad Raza. Their plugin system is flexible to provide metadata for various on-chain data.
Watch: Gate2Chain COO Joe Holles de Peyer & sCrypt CEO Xiaohui Liu