Skip to content

Researching authentication methods to enable non-custodial wallet creation via social platform logins such as Google, Facebook, etc.

License

Notifications You must be signed in to change notification settings

visoftsolutions/cairo-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cairo-Auth: Comprehensive Project Execution Guide 🚀

Welcome to the Cairo-Auth project! Before diving deep into the code and execution, it's pivotal to have the right environment and prerequisites in place. This comprehensive guide is designed to facilitate a smooth setup and execution process, ensuring you face minimal roadblocks.

For a broader overview of the Cairo language, refer to the official documentation: CairoZero Documentation.

🧩 Prerequisites

1. Python Environment:

  • It's strongly recommended to utilize pyenv for managing multiple Python versions. When using pyenv, the Python version dictated by the .python-version file will be automatically selected.
  • If you choose not to use pyenv, ensure that your system has Python 3.9.17 installed.

🛠 Initial Setup

Step 1: Setting up a Python virtual environment

python -m venv .venv

Step 2: Activating the virtual environment

For Unix or MacOS systems:

source .venv/bin/activate

For Windows systems:

.venv\Scripts\activate

Step 3: Installing the necessary Python packages

pip install -r requirements.txt

Step 4: Compilation of CairoZero code

./scripts/1-compile.sh

Step 5: Execution of the CairoZero program to generate a trace

./scripts/2-run.sh

Step 6: Generation of a CairoZero proof using the trace

./scripts/3-prove.sh

Step 7: Verification of the generated proof

./scripts/4-verify.sh

🌐 Minikube Environment Setup

Step 1: DNS Configuration for Minikube

Ensure that the Minikube DNS environment is set up on your machine to expose ingress hostnames. For detailed steps, consult the official documentation: Minikube Ingress DNS Guide.

Step 2: DNS server configuration

Update the systemd-resolved configuration to point to 127.0.0.1 as your primary DNS server. This can be done by editing the resolved.conf file.

/etc/systemd/resolved.conf:

DNS=127.0.0.1

Step 3: Initiating Minikube with necessary add-ons

minikube start --addons ingress,ingress-dns

Step 4: Installation of cert-manager in the cluster

kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.4/cert-manager.yaml

Step 5: Deployment of the server application

skaffold run

Step 6: Accessing the Application

Launch your preferred browser and navigate to the domain specified in the ingress. An example could be:

https://cairo.test/

About

Researching authentication methods to enable non-custodial wallet creation via social platform logins such as Google, Facebook, etc.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published