Интеграция с Gitcoin Passport
Gitcoin Passport — агрегатор identity credentials для доказательства уникальности человека. Пользователь собирает «stamps» (подтверждения) из разных источников: GitHub, Twitter, Google, ENS, BrightID, Proof of Humanity, on-chain activity. Суммарный score используется как anti-sybil защита.
Интеграция через Passport SDK
import PassportVerifier from '@gitcoinco/passport-sdk-verifier';
const verifier = new PassportVerifier();
// Получить passport и score пользователя
async function checkPassport(address: string) {
const passport = await verifier.verifyPassport(address);
const score = await verifier.getPassportScore(address);
return {
hasPassport: !!passport,
score: score,
stamps: passport?.stamps || []
};
}
On-chain интеграция
Gitcoin предоставляет scorer API и on-chain attestations через EAS:
interface IGitcoinPassportDecoder {
function getScore(address user) external view returns (uint256);
function getPassport(address user) external view returns (Credential[] memory);
}
contract ProtectedFeature {
IGitcoinPassportDecoder passport;
uint256 public constant MIN_SCORE = 15; // настраиваемый порог
modifier requiresPassport() {
require(
passport.getScore(msg.sender) >= MIN_SCORE,
"Gitcoin Passport score too low"
);
_;
}
function accessGatedFeature() external requiresPassport {
// только верифицированные пользователи
}
}
Scorer API
Для backend интеграции:
const response = await fetch(
`https://api.scorer.gitcoin.co/registry/score/${SCORER_ID}/${walletAddress}`,
{ headers: { 'X-API-Key': process.env.GITCOIN_API_KEY } }
);
const { score, passing_score } = await response.json();
Gitcoin Passport интеграция — 1-3 дня. Простейший способ добавить anti-sybil защиту без разработки собственной системы.







