-
-
Homepage
-
Smart contract Analytics Oracles
-
SC Scan app (Available chains)
-
Information for unverified smart contract (Oracle)
-
Information for verified smart contract (ERC20)
-
Other information include Events, ABI and Summary
-
ABI for unverified smart contract (Oracle) (there also verification status on the left)
PS - In the video I say 'CS Scan' but the project is SC Scan. Sorry for the confusion in the video
Inspiration
SC Scan, a decentralized application and tool, emerged as an indispensable asset for developers As working with smart contracts and seeing a lot of unverified contracts, we decided to participate in CHALLENGE 01 (BLOCKCHAIN, SMART CONTRACTS, ANALYTICS) and we building the next generation of open data and infrastructure, where SCScan aligns seamlessly with the hackathon's vision. With a dedicated focus on unverified smart contracts, SCScan utilizes Chainlink and Artificial Intelligence to unravel the complexities, providing a vital ABI for interaction. This aligns with the hackathon's aim to foster transparency and security within blockchain ecosystems. As blockchain technology evolves, the prevalence of concealed malicious contracts necessitates robust solutions. SCScan serves as a linchpin, empowering developers to navigate the blockchain landscape with resilience. The integration of data analytics into smart contracts further enhances their capabilities, facilitating more informed and dynamic decisions based on real-world data. SCScan becomes not just a tool but a catalyst for building an open and secure future in the blockchain realm.
What it does
We utilize the ChainlinkClient to establish oracles within our smart contract framework. These oracles play a pivotal role in validating and verifying smart contract ABIs, providing essential support to developers and other stakeholders. Users can access information about each SC Scan Oracle across various chains through the SC Scan web application. This includes details about smart contract information and ABIs that validate and verify the contract, offering valuable assistance to developers.
The SC Scan app interface is straightforward. Users can select the desired chain and input the smart contract in the text input field. If the address is valid, the user can call the SC Scan Oracle. Once the oracle has completed its request using Chainlink, it will store the contract's information on-chain to ensure it has on-chain verification, allowing developers to seamlessly integrate and call the oracle for a comprehensive understanding.
The process of how the request works behind the scenes involves a couple of steps. It requires obtaining the bytecode information about the contract address and information from the explorer. The contract is also reverse-engineered to its opcodes, which are then obtained. This is particularly useful for unverified contracts to build the ABI. By obtaining the opcodes, we can further reverse engineer to get the contract signatures and verify each signature to obtain an ABI. SC Scan also incorporates AI to enhance our understanding of unverified smart contract functions. For example, the AI can determine functions that may be payable, empowering developers to discern critical details about operations.
Verifying unverified smart contracts is crucial for transparency, exposing potential risks and malicious elements. Chainlink facilitates for decentralized verification on the blockchain, with information stored and processed on the SC Scan Oracle. The SC Scan web application utilizes this information for display in a user-friendly interface and integrates it into a GPT model for summary and validation, offering comprehensive insights into both verified and unverified smart contracts.
For the Hackathon, SC Scan Oracles are available on,
These oracles, with their respective addresses, enable developers to test and integrate SC Scan functionalities. While the mainnet remains accessible, it lacks the integrated SC Scan oracle.
Looking ahead, SC Scan has the potential to extend compatibility to more Chainlink-supported chains, providing versatility for developers. As the blockchain landscape evolves, SC Scan remains dedicated to enhancing transparency and security, adapting its functionalities to meet the dynamic needs of developers and users alike. The ongoing commitment to innovation positions SC Scan as a vital tool in the blockchain community, contributing to the overall resilience and reliability of smart contract interactions.
How we built it
ABI State Mutiability AI Model (Currently Offline)
The State Mutability Predictor is an advanced model tailored to predicting the state mutability of Ethereum smart contract Application Binary Interfaces (ABIs). ABIs, serving as blueprints for smart contract functionality on the Ethereum blockchain, are pivotal for blockchain interaction. In the case of unverified contracts, users don't have the luxury of ABI, hence SC Scan employs a BERT mode to advance the reverse engineering process for unverified smart contracts. It covers around 15,000 verified contracts across 3 chains. The dataset has also been preprocessed and balanced out to avoid bias and improve overall training.
- Python
- Hosted on HuggingFace
- Trained on smart contracts in
- Ethereum
- Polygon
- Avalanche
Resource
SC Scan API (Currently Offline)
- Python FastAPI
- PyTorch for loading above AI Model
- Llama Chat for ABI summary
- IPFS
Resource
SC Scan Frontend Application
- Next13
- Typescript
- Solidity
- Chainlink Oracle to get ABI from SC Scan and other information
Resource
- App Repo
- SC ScanOracle.sol (Using Chainlink AnyAPI)
- Mumbai SC Scan Contract (0xd4859b8641Ebea7948Ea9A00bc4990D8430bA92d)
- Sepolia SC Scan Contract (0x1aee14730d6d9bb52d400b23f08c0e8fab3a0388)
- Fuji SC Scan Contract(0x1AEE14730d6d9bB52d400B23F08c0E8FAB3a0388)
Challenges we ran into
The primary challenge we encountered during the development of SC Scan centered around understanding smart contracts and Solidity. While we were adept at building and deploying smart contracts, comprehending the intricacies beneath the surface, such as the concepts of opcodes and bytecodes, required extensive research. Additionally, incorporating AI introduced another layer of complexity, requiring an understanding of diverse AI and Machine Learning libraries and tools. The condensed timeline of approximately one month at the project's outset posed a challenging yet fascinating and ultimately rewarding learning curve. This accelerated learning curve, condensed into approximately one month when starting the project, was challenging but very interesting and rewarding.
Accomplishments that we're proud of
Despite these challenges as mentioned, I gained a strong appreciation for the power of Chainlink and the significance of Oracles in the blockchain ecosystem, in creating versatile applications. Also overcoming this challenge became a valuable learning experience, leading me to explore new realms, such as integrating Oracles and AI. Additionally, delving into similar yet distinct blockchains like Polygon and Avalanche broadened my understanding, contributing to a more comprehensive knowledge base in the ever-evolving blockchain landscape.
What's next for SC Scan
Looking ahead for SC Scan, there are always opportunities for improvement. The platform has the potential for expansion into different chains, including (not limited to) Optimism and Fantom with a focus on enhancing our AI model to comprehend those chains and offer improved solutions across various blockchain ecosystems. If this project is deemed successful, then we'll have resource for the project to explore and provide a more comprehensive understanding of both unverified and verified smart contracts for developers on diverse chains with the ambition of making SC Scan a provider for blockchain security.
Additionally, a pivotal next step involves refining our State Mutability model. This improvement aims to provide developers with more accurate predictions by leveraging ABI information rather than relying solely on the contract's State Mutability, thereby enhancing the overall functionality and reliability of SC Scan.
Built With
- avalanche
- bert
- chainlink
- ethereum
- fastapi
- huggingface
- nextjs
- polygon
- python
- typescript

Log in or sign up for Devpost to join the conversation.