How to Run EAS DevTool Locally
Attestations are fundamental in blockchain technology, allowing entities to establish credibility and trust. However, traditional attestation methods face numerous challenges, including fragmentation, difficulty in managing schemas, and lack of intuitive tools for end-users.
The Ethereum Attestation Service (EAS) aims to solve these issues by providing a streamlined protocol for creating and managing attestations on Rootstock. The EAS Devtool enhances usability, making it easier for developers to interact with attestations.
This guide explores the challenges of attestation, why EAS is a great choice for developers, and provides a step-by-step tutorial on using the EAS Devtool and Indexing Service on Rootstock.
What is EAS
Ethereum Attestation Service (EAS) is a system that allows individuals and organizations to create verifiable claims or proofs about specific events, actions, or data, either on-chain (on the blockchain) or off-chain (outside the blockchain but linked to it).
These claims can be about anything, like proving someone's identity, verifying ownership, or confirming that an agreement has been fulfilled.
Making these claims or proofs publicly verifiable and tamper-proof helps build trust without relying on centralized entities. The attestations created through EAS can be used in decentralized applications (dApps), identity systems, or smart contracts to ensure certain facts are validated and transparent.
EAS is an open-source platform, meaning anyone can use it or contribute to its development. It operates as a public good for the Ethereum ecosystem.
Challenges in Attestation
- Trust and Credibility:
The fundamental challenge of attestation lies in establishing and maintaining trust. While blockchain technologies provide transparency, the credibility of an attestation depends on the reputation and reliability of the attestation source, the verification mechanism behind the attestation, and the potential for manipulation or false attestations.
- Privacy and Data Protection:
Attestations often involve sensitive personal or organizational information, creating critical privacy concerns such as balancing transparency with individual privacy rights, preventing unauthorized access to attestation data, implementing zero-knowledge proof technologies to validate information without exposing raw data, and ensuring compliance with evolving data protection regulations across different jurisdictions.
- Scalability and Performance:
As blockchain networks grow, attestation systems face significant technical challenges, including managing high volumes of attestations without compromising network performance, minimizing transaction costs and computational overhead, ensuring fast verification processes, and designing efficient storage and retrieval mechanisms for large-scale attestation networks.
Onchain and Offchain Attestations
Onchain Attestations: These are attestations stored directly on Rootstock. They are immutable and benefit from the security of Bitcoin. They work best when attestations need to be read by smart contracts or verify that it’s available on chain.
Offchain Attestations: These attestations are stored on Rootstock, typically in a database or another storage mechanism like IPFS. They are linked to the blockchain through cryptographic signatures but do not reside on it. Offchain attestations work best when you want to hold the attestation privately and shared on a need to know basis.
Learn about Rootstock Attestation Service.
Prerequisites
Before you begin, ensure you have the following set up:
- Docker: Installed on your system with a basic understanding of how to use it. Docker is essential for running services like the EAS Indexing Service in a containerized environment.
- Node.js: Installed on your system. Ensure you have Node.js (version 14.x or later) to run the EAS React Tool and related scripts.
- Rootstock RPC API Key: Obtain a valid API key for Rootstock RPC to connect to the blockchain network. This is crucial for interacting with the EAS contracts deployed on Rootstock.