שירותי הפיתוח שלנו ב-EAS מכסים סכמות אישור (attestation schemas) על-רשת, חוזי רזולבר (resolver contracts), ואינטגרציית SDK עבור Ethereum, Polygon ורשתות L2. נניח שאתם צריכים לבנות מערכת אימות KYC לפלטפורמת DeFi. אחסון על-רשת של כל בקשה הוא יקר, ו-IPFS ללא אישור אינו מעורר אמון. הפתרון הוא חוזי EAS: נתונים מחוץ לרשת עם חתימה על-רשת. אנו מפתחים מערכות אישור EAS במפתח פתוח: מעיצוב סכמה ועד פריסת חוזה רזולבר ואינטגרציית חזית דרך EAS SDK. לפי המפרט, EAS מבטיח אימות וחיסכון בגז עד 90% בהשוואה לאחסון נתונים ישיר על-רשת. חוזי EAS הם קוד פתוח שאנו מתאימים לתרחיש שלכם. לדוגמה, אחסון אישור KYC על-רשת עולה בערך $5 במחירי גז נוכחיים, בעוד מחוץ לרשת דרך EAS עולה פחות מ-$0.10. עם למעלה מ-100,000 אישורים המעובדים מדי יום בפתרונות שלנו, הפחתנו את עלויות הגז ב-90% בממוצע.
בעיות שאנו פותרים
עלויות גז
אחסון נתונים מלאים על-רשת במהלך הנפקת אישורים המונית (למשל, אלפי משתמשים) מוביל להוצאות בלתי מוצדקות. EAS מאפשר אחסון של ה-UID בלבד על-רשת, בעוד הנתונים עצמם נשארים מחוץ לרשת (IPFS, Arweave). חיסכון בגז — עד 90%, אשר עבור פרויקט טיפוסי משמעותו עשרות אלפי דולרים שנחסכים מדי שנה.
אמון בנתונים מחוץ לרשת
ללא קישור על-רשת, נתונים ניתנים לזיוף בקלות. EAS פותר זאת באמצעות UID בלתי ניתן לשינוי הניתן לאימות בחוזה חכם. כל אחד יכול לבדוק שאישור נוצר על ידי כתובת ספציפית ולא בוטל.
ניהול ביטול
לעתים קרובות יש צורך לבטל אישור (משתמש עזב DAO, KYC פג תוקף). חוזה הרזולבר של EAS מאפשר ניהול גמיש של דגל הביטול (revocable flag) וביצוע לוגיקה נוספת בעת ביטול.
כיצד אנו עושים זאת
במהלך פיתוח מערכת EAS, אנו רושמים את הסכמה, יוצרים רזולבר ומשלבים את ה-SDK. הבה נבחן יישום טיפוסי.
רישום סכמה
הסכמה מגדירה את מבנה הנתונים של האישור. היא נרשמת פעם אחת ב-SchemaRegistry וניתנת לשימוש חוזר.
import { ISchemaRegistry, SchemaRecord } from "@ethereum-attestation-service/eas-contracts/contracts/ISchemaRegistry.sol";
ISchemaRegistry schemaRegistry = ISchemaRegistry(EAS_SCHEMA_REGISTRY);
// Регистрация схемы
bytes32 schemaUID = schemaRegistry.register(
"bool isKYCVerified, uint8 verificationLevel, string jurisdiction",
ISchemaResolver(resolverAddress), // опциональный resolver контракт
true // revocable
); יצירת אישור
import { IEAS, AttestationRequest, AttestationRequestData } from "@ethereum-attestation-service/eas-contracts/contracts/IEAS.sol";
IEAS eas = IEAS(EAS_ADDRESS);
bytes32 attestationUID = eas.attest(
AttestationRequest({
schema: schemaUID,
data: AttestationRequestData({
recipient: recipientAddress,
expirationTime: block.timestamp + 365 days,
revocable: true,
refUID: bytes32(0),
data: abi.encode(true, 2, "EU"), // isKYCVerified, level, jurisdiction
value: 0
})
})
); רזולבר סכמה — אבטחה וגמישות
חוזה הרזולבר נקרא בעת יצירת/ביטול אישור. הוא יכול לבדוק את זכויות המאשר, נכונות הנתונים ולעדכן אחסון חיצוני. ללא רזולבר, החוזה מקבל כל נתון — סיכון למערכת.
import { SchemaResolver } from "@ethereum-attestation-service/eas-contracts/contracts/resolver/SchemaResolver.sol";
contract KYCAttestationResolver is SchemaResolver {
mapping(address => bool) public verifiedAddresses;
function onAttest(Attestation calldata attestation, uint256) internal override returns (bool) {
require(authorizedAttesters[attestation.attester], "Not authorized");
(, uint8 level,) = abi.decode(attestation.data, (bool, uint8, string));
require(level >= 1 && level <= 3, "Invalid level");
verifiedAddresses[attestation.recipient] = true;
return true;
}
function onRevoke(Attestation calldata attestation, uint256) internal override returns (bool) {
verifiedAddresses[attestation.recipient] = false;
return true;
}
} אינטגרציה דרך EAS SDK (TypeScript)
import { EAS, SchemaEncoder } from "@ethereum-attestation-service/eas-sdk";
const eas = new EAS(EAS_ADDRESS);
eas.connect(signer);
const schemaEncoder = new SchemaEncoder("bool isKYCVerified,uint8 verificationLevel,string jurisdiction");
const encodedData = schemaEncoder.encodeData([
{
name: "isKYCVerified",
value: true,
type: "bool"
},
{
name: "verificationLevel",
value: 2,
type: "uint8"
},
{
name: "jurisdiction",
value: "EU",
type: "string"
}
]);
const tx = await eas.attest({
schema: schemaUID,
data: {
recipient: recipientAddress,
expirationTime: BigInt(Math.floor(Date.now() / 1000) + 365 * 24 * 3600),
revocable: true,
data: encodedData
}
});
const uid = await tx.wait(); כיצד לבחור בין אישורים על-רשת למחוץ לרשת?
אישורים על-רשת מאחסנים את כל הנתונים בבלוקצ'יין — עלות גבוהה אך זמינות קבועה. אישורים מחוץ לרשת מאחסנים נתונים על IPFS/Arweave, עם UID בלבד על-רשת. האפשרות מחוץ לרשת זולה פי 10 להנפקה המונית, קריטית עבור פורטלי KYC או מוניטין. השוואה:
| פרמטר | על-רשת | מחוץ לרשת |
|---|---|---|
| עלות גז | גבוהה (כתיבת 200+ בתים) | נמוכה (רק 32 בתים UID) |
| מהירות | תלויה ברשת | כמעט חינם |
| זמינות נתונים | תמיד על-רשת | דרך IPFS (ייתכן עיכוב) |
| אימות | ישיר על-רשת | דרך UID וחתימה |
עבור תרחישים המוניים (KYC, מוניטין), מחוץ לרשת הוא אופטימלי. עבור אישורים נדירים אך יקרי ערך (תארים, רישיונות), ניתן לבחור על-רשת.
מדוע חוזה הרזולבר קריטי לאבטחה?
ללא רזולבר, כל כתובת יכולה לאשר נתונים שרירותיים תחת הסכמה שלכם — המערכת מאבדת את מטרתה. חוזה הרזולבר משמש כשער: הוא בודק שהמאשר מורשה, שהנתונים תקפים, ושהמגבלות לא נחצו. ניתן גם ליישם יצירה אוטומטית של אישורי נגד (למשל, "אישור KYC" מהמאמת בתגובה לבקשה). אנו תמיד כוללים רזולבר בארכיטקטורה עבור סכמות אחראיות.
התהליך שלנו
- ניתוח — חקר התרחיש, הגדרת שדות סכמה, אפשרות ביטול, תפוגה.
- עיצוב — יצירת הסכמה (JSON/ABI), עיצוב הרזולבר עם לוגיקה.
- פיתוח — כתיבת חוזים חכמים (Solidity), כיסוי בבדיקות (Foundry).
- אינטגרציה — הגדרת EAS SDK לחזית: יצירה, צפייה, ביטול אישורים.
- בדיקות — פריסה לרשת בדיקה, ביצוע בדיקות אינטגרציה.
- פריסה — רישום הסכמה ברשת הראשית, פריסת הרזולבר, עלייה לאוויר.
מה כלול בעבודה
| תוצר | תיאור |
|---|---|
| סכמת EAS | תיאור AB וסכמת JSON, רשומה ב-SchemaRegistry |
| חוזה רזולבר | חוזה חכם מבוקר עם לוגיקה עסקית |
| מודול SDK | פונקציות TypeScript/ethers.js לחזית |
| תיעוד | תיאור סכמה, דוגמאות שימוש, הוראות ביטול |
| הדרכה | מפגש עבודה לצוות על שימוש ב-EAS |
| תמיכה | חודש לאחר ההשקה: ייעוץ ותיקוני באגים |
הניסיון והערבויות שלנו
אנו צוות של מהנדסי בלוקצ'יין עם למעלה מ-5 שנות ניסיון בפיתוח Ethereum. יישמנו 15+ פרויקטים על EAS: ממערכות KYC עבור DeFi ועד פורטלי מוניטין עבור DAOs. כל חוזה רזולבר עובר ניתוח סטטי עם Slither ובדיקות fuzz עם Echidna. אנו מבטיחים היעדר פגיעויות reentrancy ו-overflow — בעיות נפוצות בפתרונות EAS של מתחילים.
לוח זמנים ועלות
פיתוח מערכת EAS אורך בין 2 ל-4 שבועות בהתאם למורכבות. עלות פרויקט טיפוסית נעה בין $5,000 ל-$15,000. להערכה מקדימה — צרו קשר: ננתח את הפרויקט ביום עסקים אחד ונכין הצעה מסחרית. הזמינו פיתוח מערכת EAS — נספק הערכת עלות ולוח זמנים למשימה שלכם. קבלו ייעוץ היום.
מקרי שימוש
EAS משמש ב: Gitcoin Passport (אישורים על פעילות על-רשת), Optimism Retro Funding (אישור תרומה), Safe (כתובות מהימנות). אנו יכולים להתאים כל אחד מהתרחישים הללו למשימה שלכם.







