🕹️ https://playground.sourcify.dev
This tool allows you to see the Solidity metadata hash and other information encoded at the end of the smart contract bytecode. Works with any EVM chain listed in ethereum-lists/chains i.e. https://chainid.network/chains.json.
Either with chainId
and address
https://playground.sourcify.dev/?address=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&chainId=1
Or directly with bytecode
https://playground.sourcify.dev/?bytecode=0x7f7050c9e0f4ca769c69bd3a8ef7...
- Choose network and input the contract address to see its deployed bytecode. Some example contracts provided.
- In the popup you will see the contract's deployed bytecode. It will be automatically scrolled to the end where CBOR encoded data is appended.
- The CBOR decoding will be highlighted with the sections indicating its length and its contents.
- The CBOR encoded data will be decoded. It will differ for each contract but usually this will contain the Solidity version and the IPFS or Swarm hash.
- It will also try to fetch and display the metadata file from its IPFS hash if available.
Clone the repository and install dependencies
npm install
Ethereum Mainnet and Ethereum testnets' connections are provided throught Infura. Copy the .env-template
file to a file named .env
and add the Infura key. If left empty, it will use the default ethers.js Infura key
REACT_APP_INFURA_KEY=<Your-Key>
Run the deployment server with
npm start
Build the project with
npm run build
To serve the project in a Docker container simply use
docker-compose up
It will run at http://localhost:2346 as given in the docker-compose.yaml
file.