This tool allows you to verify Solidity smart contracts by comparing the bytecode on the blockchain with the recompiled bytecode.
- Recompiles Solidity smart contracts using a specified compiler version.
- Compares the on-chain bytecode with the recompiled bytecode.
- Provides detailed error messages if verification fails.
- Polkadot revive(https://github.com/paritytech/revive) support.
- No dependency on external services or third-party libraries.
- Clone the repository:
git clone https://github.com/subscan-explorer/solidity-verification-tool.git
- Navigate to the project directory:
cd solidity-verification-tool
- Install dependencies:
go mod tidy
- Start the server:
go run main.go
- Send a POST request to
/verify
with the contract metadata and compiler version.
curl -X POST -H "Content-Type: application/json" -d '{"metadata": {...}, "compilerVersion": "v0.8.26+commit.8a97fa7a","chain":46,"address":"xxxx"}' http://localhost:8081/verify
Building Solidity contracts for PolkaVM requires installing extra dependencies. To install revive, run the following command:
go run . download # if will auto download latest resolc binary in static folder
This project is licensed under the MIT License.