Skip to content

Playground for Solidity metadata hash and CBOR encoded data appended to the contract bytecode.

Notifications You must be signed in to change notification settings

sourcifyeth/metadata-playground

Repository files navigation

Solidity Metadata Playground

🕹️ 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.

Usage

With Query Parameters

Either with chainId and address

https://playground.sourcify.dev/?address=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&chainId=1

Or directly with bytecode

https://playground.sourcify.dev/?bytecode=0x7f7050c9e0f4ca769c69bd3a8ef7...

Through the UI

  • 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.

Run

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

Build the project with

npm run build

Docker

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.

About

Playground for Solidity metadata hash and CBOR encoded data appended to the contract bytecode.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published