Credence simplifies tracking and verifying identity & reputation on Optimism's AttestationStation for developers and users. Similar to etherscan, it offers a user-friendly interface. It also enables cross-chain attestation, which breaks down barriers between different networks.
Credence is a platform that simplifies tracking and verifying identity and reputation on Optimism's AttestationStation for developers and users. It addresses a current need in the blockchain industry by making it easier to track and verify identity and reputation on the Optimism's AttestationStation. Some key achievements of Credence include:
Cross-chain attestation: The platform enables cross-chain attestations, allowing users to attest from Ethereum Mainnet/Goerli to Optimism Mainnet/Goerli, breaking down barriers between different blockchain networks.
User-friendly interface: Credence offers an easy-to-use interface that includes a dashboard, search function, and graph visualizations to provide a seamless and efficient experience for both developers and users. The front-end pages are built with Vite.js, and web3 integrations are supported by Ethers.js, wagmi, and RainbowKit. Solidity smart contracts: The platform's smart contracts are written in Solidity and have been deployed and tested on both Optimism Goerli and Ethereum Goerli. Custom GraphQL API: Credence uses a custom GraphQL API built with TheGraph to query data from the Optimism's AttestationStation smart contract.
Hyperlane integration: Cross-chain attestation is made possible by utilizing Hyperlane's cross-chain messaging feature.
Data visualization: Credence leverages the key-value data stored on Optimism’s AttestationStation to create interactive Ant/G6 graph visualizations that map out the entire relationship of a specific address. This feature provides a comprehensive and intuitive way for users to track and understand reputation and identity across the blockchain network.
Credence has some exciting future plans, including:
Data visualization enhancement: Elevating the data visualization feature to enhance the tracking of on-chain reputation and identity for both developers and users. By optimizing this capability, they aim to provide a more seamless and efficient experience that can drive greater engagement and utilization of the platform.
Decentralized data storage & Open Exchange Protocol (OEX): Leveraging decentralized data storage systems such as IPFS to establish a standardized attestation process (OEX) for developers and users. This initiative will enhance the value of on-chain data and unlock new opportunities within the web3 ecosystem.
Cross-chain attestation expansion: Expanding cross-chain attestation support to multiple networks.
Credence’s frontend pages are built by Vite.js. All web3 integrations are supported by Ethers.js, wagmi, and RainbowKit. Our smart contracts are written by Solidity and deployed/tested on Optimism Goerli and Ethereum Goerli.
Data Query (Backend), a.k.a, where does our data come from
To query data from the Optimism's AttestationStation smart contract at address 0xEE36eaaD94d1Cc1d0eccaDb55C38bFfB6Be06C77, we built and deployed a custom GraphQL API. TheGraph provides a smooth on-chain data query experience, enabling us to build a user-friendly interface that helps users understand their on-chain reputation and identity with low latency.
We wrote queries based on the graph like:
Data Visualization:
By retrieving on-chain key, value pair from Optimism’s AttestationStation, we are able to draw out an entire relationship of a specific address use Ant/G6 graph visualization engine.
Cross-Chain Attest:
We mainly utilized hyperlane.xyz's cross-chain messaging feature for cross-chain attestation. On the Optimism Network, we have a Receiver.sol that helps us keep track of all messages sent from other networks and decode the important information, such as about, key, and value. For all other Sender networks, we have a Sender.sol that helps us encode attestation information and send it to the Optimism Network. We deployed and tested Sender.sol on Ethereum Goerli.
Here is the detailed workflow:
The front-end form will collect attestation information, e.g. about, key, value We will encode the value to a specific-designed pattern, and send the encoded message to Optimism Network using Hyperlane SDK and Sender.sol deployed on
Sender Network. (For now, we will cover all the relayer fees that might involves in cross-chain messaging)
The Receiver.sol will be triggered by Hyperlane Relayers, and it will decode the message back to its original content and pass it to attest() function of AttestationStation, then the attestation will be posted to the network. Since we already paid the relayer fee in step 2, this process will be triggered automatically.