• Stars
    star
    937
  • Rank 48,766 (Top 1.0 %)
  • Language
    TypeScript
  • License
    Other
  • Created over 2 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Passport allows users to prove their identity through a secure, decentralized UI

Gitcoin Passport

What is Passport?

Many social organizations, online particularly, have difficulty ensuring that every participant is a unique human and does not have multiple participating accounts. Most existing digital identity solutions are either centralized (e.g., national identity cards) or individualistic (e.g., most โ€œself-sovereignโ€ identity models). However, identity is naturally intersectional and social; everybody shares different data and relationships with a unique set of others. The Gitcoin Passport aims to provide a more collaborative and secure infrastructure for digital identity by capturing the richness of our diversely shared lives.

The Gitcoin Passport is an identity verification application. We have written software enabling people to grow personal collections of verifiable credentials about themselves and organizations to assess their identities to coordinate rights and responsibilities. The institutions define, verify, and utilize identity as functions of the networked records of the individuals. While we build the Passport agnostic to specific applications, we are actively exploring its benefits for personhood proofs and plurality in organizational designs.

Documentation

Check out our documentation at https://docs.passport.gitcoin.co

Contributing to Passport

We welcome everyone to contribute to the Passport project.

You can join our Discord and specifically the passport-builders channel (just be sure to select the builder role when you join the discord) to get help and discuss the project with the rest of the community.

You can also familiarize yourself with our near term project roadmap in the passport project backlog

Reviewing Changes

Once a pull request is sent, the Passport team will review your changes. We outline our process below to clarify the roles of everyone involved.

All pull requests must be approved by two committers before being merged into the repository. If any changes are necessary, the team will leave appropriate comments requesting changes to the code. Unfortunately, we cannot guarantee a pull request will be merged, even when modifications are requested, as the Passport team will re-evaluate the contribution as it changes.

Committers may also push style changes directly to your branch. If you would rather manage all changes yourself, you can disable the "Allow edits from maintainers" feature when submitting your pull request.

The Passport team may optionally assign someone to review a pull request. If someone is assigned, they must explicitly approve the code before another team member can merge it.

When the review finishes, your pull request will be squashed and merged into the repository. If you have carefully organized your commits and believe they should be merged without squashing, please mention it in a comment.

Bug Bounty

If you think you've found a security vulnerability, we maintain an open bounty on Gitcoin to help reward community members who report these issues. Check it out here: #133

Quick Start

Prerequisites: Node (v16 LTS) plus Yarn and Git

  1. Install Gitcoin Passport (this will install all packages within the passport monorepo):
git clone https://github.com/gitcoinco/passport.git
cd passport
npm install --global lerna
lerna init
lerna bootstrap
  1. Create environment files, and replace environment variables with your own values
cp ./app/.env-example.env ./app/.env
cp ./iam/.env-example.env ./iam/.env
cp ./schemas/.env-example.env ./schemas/.env
  1. Start iam, app, and ceramic services concurrently:
# remember to create .env files first
yarn start
  1. Run the Passport Scorer API locally. Set up instructions are here

Passport Data

A passport has two sources of data. The primary source is a postgres database that is hosted by gitcoin. To run the passport application locally you will need spin up the Scorer API. All relevant instructions to run the scorer api can be found here. The sample environment variables in the .env-example.env files are configured to make requests to the scorer api running locally. Once the scorer api is running locally, you should have a reliable data source for development.

The second source of data is the ceramic network. No steps are needed to run the ceramic network locally. The sample environment variables in the .env-example.env files are configured to make requests to a test version of the ceramic network.

Background Knowledge

  • Know what a wallet is, how to create one, etc.
  • Know what a Verifiable Credential is
  • Know basics of Ceramic Network - interacting with DIDDatastore, Self.ID

Packages

app

The web app allowing users to interact with their Gitcoin Passport. README

database-client

Contains database connection implementations. Currently supports Ceramic Network. README

iam

The server handling incoming requests to issue credentials and process verifications. README

identity

This is a helper package to compile Spruce DIDKit and export functions for use in iam and app packages.

infra

Holds the Pulumi deployment configuration for this repository. README

schemas

Ceramic schemas and model definitions, and scripts for creating and publishing these to the Ceramic Network. README

types

Shared type definitions. README

More Repositories

1

web

Grow Open Source
JavaScript
1,783
star
2

gitcoinco

Grow Open Source
878
star
3

code_fund_ads

CodeFund is an open source platform that helps fund maintainers, bloggers, and builders through non-tracking ethical ads
Ruby
377
star
4

grants-stack

Round Manager & Grant Explorer & Project Builder of the Grants Protocol
TypeScript
315
star
5

kudosbadges

Kudos badges and creative assets for Gitcoin
Python
223
star
6

creative

a repository of creative assets for the gitcoin.co project
HTML
182
star
7

passport-scorer

Passport Scorer as a Service
Jupyter Notebook
167
star
8

codefund

Deprecated. Please go to https://github.com/gitcoinco/code_fund_ads
CSS
161
star
9

smart_contracts

Push Open Source Forward.
JavaScript
127
star
10

governance

โœจ Gitcoin Community Governance Contracts
Solidity
112
star
11

awesome-gitcoin-passports

Curated list of all the awesome resources, case studies, samples, and Stamp implementations related to Gitcoin's Passport
102
star
12

passport-sdk

The Gitcoin Passport SDK is comprised of a set of libraries distributed on npm to help developers interact with Passport data living on [Ceramic](https://ceramic.network/).
TypeScript
74
star
13

quadratic-funding

This is an open source implementation of quadratic funding, a design for philanthropic and publicly-funded seeding, which allows for optimal provisioning of funds to an ecosystem of public goods.
Python
73
star
14

skunkworks

experimental laboratory
JavaScript
63
star
15

gitbook-KB

Gitcoin Gitbook Knowledgebase (support.gitcoin.co)
61
star
16

easy-retro-pgf

Retroactive Public Goods Funding for everyone.
TypeScript
54
star
17

gitcoin_cadcad_model

Jupyter Notebook
52
star
18

passport-docs

MDX
48
star
19

browser-extension

Grow Open Source
JavaScript
48
star
20

.github

46
star
21

BulkTransactions

Smart contracts for Gitcoin grants bulk checkout functionality
JavaScript
39
star
22

community

index of all the community stuff associated with gitcoin
32
star
23

Kudos721Contract

JavaScript
30
star
24

governance-docs

๐ŸŒฑ Welcome to the Gitcoin Community Governance documentation.
24
star
25

ios

Push Open Source Forward
Swift
23
star
26

python-api-client

Python API Client
Python
20
star
27

grant-hub

TypeScript
20
star
28

quadratictrust

QF where you fund with your clout - not your $$$
JavaScript
20
star
29

pop_api

Python
19
star
30

grants-stack-indexer

Allo Protocol Indexer for Grants Stack
TypeScript
18
star
31

eas-proxy

This EAS proxy will be the attester who will write the stamps into EAS attestations
TypeScript
17
star
32

beyondblockchainteams

Use this issue board to discuss hackathon ideas and find teams!
17
star
33

matching_contracts

TypeScript
16
star
34

PersonhoodPassport

Solidity
14
star
35

Alpha-Governor-Upgrade

Solidity
14
star
36

Splitter

A simple contract to split ERC20 payments
JavaScript
13
star
37

pluralistic.js

TypeScript
13
star
38

grants-stack-api

Rust
13
star
39

passport-components

A React-based component library for developers using Gitcoin Passport. The library will contain a set of prebuilt components that can handle various standard tasks related to Gitcoin Passport.
TypeScript
11
star
40

gitcoin-erc721

JavaScript
11
star
41

coldoutreach

coldoutreach recruitment app
Python
11
star
42

desktop-app

JavaScript
10
star
43

ethdenver

https://medium.com/gitcoin/ethdenver-request-for-project-proposals-9ed979dafbbe
10
star
44

bailoutmainst

JavaScript
10
star
45

allo-multi-round-checkout

Solidity
10
star
46

gtc

Solidity
10
star
47

statuses-bitmap

TypeScript
9
star
48

gh-workflows

Reusable Github Workflows and Actions
9
star
49

grants-infographic

TypeScript
9
star
50

codefund_fm

https://codefund.fm
Ruby
9
star
51

id-staking

CSS
9
star
52

allo-indexer-client

A client for the Allo Protocol Indexer data
TypeScript
9
star
53

signatures

Email signature builder
JavaScript
9
star
54

engineering

Engineering @ Gitcoin
Astro
8
star
55

proofofpersonhood_com

CSS
7
star
56

ethindia

Gitcoin bounty information and issues related to ethindia!
6
star
57

allo_grant_stack_analytics

Directory of python and SQL script used for all Allo/Grant stack analytics
6
star
58

allo-crosschain-poc

Solidity
6
star
59

pgn-docs

Documentation site for Public Goods Network
TypeScript
6
star
60

codefund-ghost-theme

CodeFund Ghost Theme
CSS
5
star
61

passport-reader

TypeScript
5
star
62

avatar-builder

JavaScript
5
star
63

android

android version of the mobile app
4
star
64

downtownstimulus

4
star
65

pnpm-docker

docker image with node16 + pnpm + libudev + libusb
Dockerfile
4
star
66

honeypot_money

JavaScript
4
star
67

sxsw

sxsw hackathon 2018
3
star
68

codefund_wordpress_plugin

Official WordPress plugin for CodeFund
PHP
3
star
69

data-ops

WIP readme for data-ops
Jupyter Notebook
3
star
70

metagraph

Metagraph watches Ethereum smart contracts events emitting metadata pointers to IPFS files and pins them on an IPFS node.
Go
3
star
71

gitcoin-checker

Leveraging the Gitcoin Indexer, this tool simplifies the process for round managers to select projects for inclusion. By defining specific evaluation criteria, managers can utilize ChatGPT for automated project assessments and scoring.
Vue
3
star
72

op-rf4-voting-ui

TypeScript
3
star
73

simplegrants.xyz

Web2 Quadratic Funding platform
TypeScript
3
star
74

qf-calculator

Python
3
star
75

hacksummit

hacksummit submissions
JavaScript
2
star
76

passport-scoring

2
star
77

cerebro

2
star
78

hacktoberfest-2020

2
star
79

discourse-codefund

Official CodeFund Advertising Plugin for Discourse. Install & Start Serving Ethical Ads on Your Discourse Forum
JavaScript
2
star
80

road-to-devcon-teams

Road to Devcon Team formation repo
2
star
81

id-staking-v2

TypeScript
2
star
82

content

2
star
83

command_line_standardbounties_funder

command_line_standardbounties_funder
Python
2
star
84

MACI_QF

TypeScript
2
star
85

grants-stack-search

Python
2
star
86

ethical_advertising

ethicaladvertising.org
CSS
1
star
87

pgn-documentation

PGN Documentation
TypeScript
1
star
88

codefund-web

CodeFund frontend application
Vue
1
star
89

scorer

Scoring service for gitcoin passport
Python
1
star
90

static-data

1
star
91

code_fund_web

WIP
JavaScript
1
star
92

ethereal-blocks-teams

1
star
93

passport-redash

Shell
1
star
94

alpha_round_data_retriever

Python
1
star
95

grants-stack-widget-react

TypeScript
1
star