• Stars
    star
    696
  • Rank 65,018 (Top 2 %)
  • Language
    Solidity
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated 2 months ago

Reviews

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

Repository Details

Official repository for core projects comprising the Celo platform

celo logo

Celo Monorepo - Official repository for core projects comprising the Celo platform

This repository contains the source code for the Celo core projects including the smart contracts, contractKit, and other packages. The source code for the Celo Blockchain which operates a node on the Celo Network is kept in a separate repo here.

CircleCI Codecov GitHub contributors GitHub commit activity GitHub Stars GitHub repo size GitHub

Website celo.org Blog docs Youtube forum Discord Twitter CeloDevs Twitter CeloOrg Subreddit subscribers

GitHub pull requests by-label GitHub Issues GitHub issues by-label GitHub issues by-label GitHub issues by-label

Contents:

๐Ÿฅ… Celo's Mission - Prosperity for All

Celo, pronounced /หˆtselo/, means โ€˜purposeโ€™ in Esperanto. In a similar spirit, we are aiming to create a new platform to connect people globally and bring financial stability to those who need it most. We believe blockchain technology is one of the most exciting innovations in recent history and as a community we look to push the boundaries of what is possible with it today. More importantly, we are driven by purpose -- to solve real-world problems such as lack of access to sound currency, or friction for cash-transfer programs aimed to alleviate poverty. Our mission is to build a monetary system that creates the conditions for prosperity for all.

Play on Youtube - What if money were beautiful
What if money were beautiful?

๐Ÿงฑ The Celo Stack

Celo is oriented around providing the simplest possible experience for end users, who may have no familiarity with cryptocurrencies, and may be using low cost devices with limited connectivity. To achieve this, the project takes a full-stack approach, where each layer of the stack is designed with the end user in mind whilst considering other stakeholders (e.g. operators of nodes in the network) involved in enabling the end user experience.

The Celo stack is structured into the following logical layers:

Celo protocol
The Celo Blockchain and Celo Core Contracts together comprise the Celo Protocol

  • Celo Blockchain: An open cryptographic protocol that allows applications to make transactions with and run smart contracts in a secure and decentralized fashion. The Celo Blockchain has shared ancestry with Ethereum, and maintains full EVM compatibility for smart contracts. However it uses a Byzantine Fault Tolerant (BFT) consensus mechanism rather than Proof of Work, and has different block format, transaction format, client synchronization protocols, and gas payment and pricing mechanisms. The networkโ€™s native asset is Celo Gold, exposed via an ERC-20 interface.

  • Celo Core Contracts: A set of smart contracts running on the Celo Blockchain that comprise much of the logic of the platform features including ERC-20 stable currencies, identity attestations, Proof of Stake and governance. These smart contracts are upgradeable and managed by the decentralized governance process.

Celo network
Topology of a Celo Network

  • Applications: Applications for end users built on the Celo platform. The Celo Wallet app, the first of an ecosystem of applications, allows end users to manage accounts and make payments securely and simply by taking advantage of the innovations in the Celo protocol. Applications take the form of external mobile or backend software: they interact with the Celo Blockchain to issue transactions and invoke code that forms the Celo Core Contractsโ€™ API. Third parties can also deploy custom smart contracts that their own applications can invoke, which in turn can leverage Celo Core Contracts. Applications may use centralized cloud services to provide some of their functionality: in the case of the Celo Wallet, push notifications and a transaction activity feed.

๐Ÿ“š Documentation

Follow the instructions in SETUP.md to get a development environment set up.

See Developer's Guide for full details about the design of the Celo protocol and other information about running these projects.

๐Ÿ™‹ Issues

See the issue backlog for a list of active or proposed tasks. Feel free to create new issues to report bugs and/or request features.

๐Ÿ“‚ Repo Structure

The repository has the following packages (sub projects):

  • celotool - scripts for deploying and managing testnets
  • cli - tool that uses ContractKit to interact with the Celo protocol (docs)
  • dev-utils - a utils package for use as a dev dependency
  • docs - technical documentation for the Celo project (live)
  • helm-charts - templatized deployments of entire environments to Kubernetes clusters
  • protocol - identity, stability and other smart contracts for the Celo protocol (docs)
  • sdk - Typescript packages for interacting with Celo, including Contracts, Wallets, Crypto++
  • contractkit - library to help developers and validators interact with the protocol and its smart contracts (docs)
  • terraform-modules - templatized deployments of entire VM-based testnets for Google Cloud Platform
  • typescript - no README available (improve?)

Code owners for each package can be found in .github/CODEOWNERS.

โœ๏ธ Contributing

Feel free to jump on the Celo ๐Ÿš‚๐Ÿš‹๐Ÿš‹๐Ÿš‹. Improvements and contributions are highly encouraged! ๐Ÿ™๐Ÿ‘Š

See the contributing guide for details on how to participate. GitHub issues by-label

All communication and contributions to the Celo project are subject to the Celo Code of Conduct.

Not yet ready to contribute but do like the project? Support Celo with a โญ or share the love in a Twitter URL

๐Ÿ’ฌ Ask Questions, Find Answers, Get in Touch

๐Ÿ“œ License

All packages are licensed under the terms of the Apache 2.0 License unless otherwise specified in the LICENSE file at package's root.

More Repositories

1

celo-blockchain

Official repository for the golang Celo Blockchain
Go
502
star
2

gitcoin

A place to track gitcoin related issues, bounties and quests.
159
star
3

celo-composer

celo-composer is a starter project with all code needed to build, deploy, and upgrade a dapps on Celo.
TypeScript
121
star
4

optics-monorepo

๐Ÿ”ฎ OPTimistic Interchain Communication
TypeScript
119
star
5

celo-bls-snark-rs

Implements SNARK-friendly BLS signatures
Rust
84
star
6

celo-proposals

Celo Improvement Proposals
61
star
7

celo-threshold-bls-rs

Threshold BLS Signatures and DKG
Rust
59
star
8

react-celo

Connect your react dApp to Celo
TypeScript
59
star
9

docs

TypeScript
58
star
10

governance

Governance Repository for Celo
JavaScript
46
star
11

make-crypto-mobile-hackathon

Build the next generation of Defi accessibility with Celo mobile-first blockchain! Create new solutions on top of the Celo Ledger - DeFi, NFTs, Smart Contracts, Developer tooling and more.
37
star
12

shrubs

JavaScript
27
star
13

build-with-celo-hackathon

21
star
14

rosetta

go server implementation of the Rosetta API spec
Go
20
star
15

savings-circle-demo

TypeScript
17
star
16

SocialConnect

Protocol mapping social identifiers to blockchain addresses
17
star
17

website

OLD Repo for OLD Celo.org Website
TypeScript
15
star
18

celo-bls-go

Go module for https://github.com/celo-org/bls-zexe/
Go
14
star
19

celo-oracle

TypeScript
14
star
20

faucet

Alfajores Faucet
TypeScript
14
star
21

plumo-prover

Prover for the Plumo light client system https://docs.zkproof.org/pages/standards/accepted-workshop3/proposal-plumo_celolightclient.pdf
Rust
14
star
22

no-yolo-signatures

TypeScript
13
star
23

rainbowkit-celo

TypeScript
12
star
24

bls-embedded

Rust
11
star
25

snark-setup-operator

Rust
11
star
26

staked-celo-web-app

TypeScript
10
star
27

bls12377js

TypeScript implementation of BLS12-377-based Proofs of Possession.
TypeScript
10
star
28

developer-tooling

๐Ÿ› ๏ธ SDKs and CLI for interacting with Celo
TypeScript
10
star
29

celo-mondo

Staking and Governance Tools for Celo
TypeScript
9
star
30

staked-celo

TypeScript
8
star
31

DevRel

All things DevRel!
JavaScript
7
star
32

blind-threshold-bls-wasm

WASM Bindings for blind bls threshold signature generation and verification
JavaScript
7
star
33

celo-camp

7
star
34

dappkit-web-starter

TypeScript
7
star
35

stackshift

The Celo Stackshift program
7
star
36

social-connect

Protocol mapping social identifiers to blockchain addresses
TypeScript
7
star
37

hello-celo-contractkit

An introduction to using Celo ContractKit
JavaScript
6
star
38

kliento

Client library for celo (golang)
Go
6
star
39

snark-setup-coordinator

TypeScript
6
star
40

celostats-frontend

TypeScript
6
star
41

reserve-site

Celo Reserve Website
TypeScript
5
star
42

celostats-server

Celo network status dashboard
TypeScript
5
star
43

compliance

TypeScript
5
star
44

celo-ledger-web-app

JavaScript
5
star
45

mento2-model

Jupyter Notebook
5
star
46

awesome-celo

A curated list of awesome Celo resources, libraries, tools and more
5
star
47

eksportisto

Metric Exporter for celo-node
Go
4
star
48

interview_challenge

HTML
4
star
49

komenci

Komenci (Start in esperanto) is the onboarding service that provides Valora with fee-less mobile attestations.
TypeScript
4
star
50

celo-forkmon

Fork Monitor for POA/POS networks, customized for Celo
HTML
4
star
51

plumo-ceremony-attestations

Python
4
star
52

nexus

MiniPay project for external partners
TypeScript
4
star
53

charts

cLabs managed applications for Kubernetes using Helm
Smarty
4
star
54

qa-interview-assignment

Takehome assignment for the cLabs QA Engineer interview process
TypeScript
4
star
55

payments

TypeScript
4
star
56

celo-lms

Celo LMS is a learning management system that allows users to create and manage courses using Markdown.
TypeScript
3
star
57

celo-exchange-bot

TypeScript
3
star
58

OpenSSL-headers

C
3
star
59

dappkit-base

Expo DAppKit Base
JavaScript
3
star
60

celo-token-list

Celo's default token list
TypeScript
3
star
61

typechain-target-web3-v1-celo

TypeScript
3
star
62

geth_exporter

Go
3
star
63

minipay-minidapps

MiniDApps for MiniPay
TypeScript
3
star
64

celo-academy

Source code for Celo Academy.
TypeScript
3
star
65

plumo-verifier

Node.js module for verifying Plumo proofs and reading states based on it
JavaScript
3
star
66

celo-ledger-spender-app-w-docker-build-tools

The Celo spender ledger app used for signing transactions
Dockerfile
3
star
67

SocialConnect-Twitter

SocialConnect Twitter example
TypeScript
3
star
68

SocialConnect-Twitter-Server-Side

SocialConnect Twitter Server Side example
TypeScript
2
star
69

celo-bls-go-android

Go
2
star
70

celo-status

Dashboard to display blockchain node logs publicly
HTML
2
star
71

rosetta-cusd

Module implementation of Coinbase's Rosetta spec for cUSD, to be used in conjunction with the `rosetta` repository.
Go
2
star
72

celo-ledger-token-data

TypeScript
2
star
73

celo-bls-go-ios

Go
2
star
74

celo-bls-go-other

Go
2
star
75

minimal-docker

A minimal docker image with unix utilities
Dockerfile
2
star
76

gcloud-kubectl-docker

A simple docker image containing gcloud and kubectl
Dockerfile
2
star
77

celo-bls-go-linux

Go
2
star
78

blind-threshold-bls-neon

Neon bindings to the Celo threshold BLS library
Rust
2
star
79

celocli

TypeScript
2
star
80

brand

Celo Brand Assets
2
star
81

hardfork-testing

Hardfork Testing Tools & Scripts
Solidity
2
star
82

celo-bls-go-macos

Go
2
star
83

cel2-ethereum-compatibility

๐Ÿ› ๏ธ CEL2 Ethereum-compatibility evaluation
TypeScript
2
star
84

snark

Rust
2
star
85

stokado

Secure off-chain data storage
TypeScript
2
star
86

economics-scripts

TypeScript
2
star
87

celo-poprf-rs

Rust
2
star
88

simple-address-statistics

Basic transaction monitoring for supplied Celo addresses
TypeScript
2
star
89

celo-validator-signer-app

C
2
star
90

ethglobal-brussels

ETHGlobal Brussels
TypeScript
2
star
91

bls12377js-blind

TypeScript
2
star
92

celo-ccip-workshop

This is expample code for Celo Alfajores <> Ethereum Sepolia CCIP.
TypeScript
2
star
93

crypto-pm

1
star
94

terraform-azure

terraform configs for azure
1
star
95

minipay-template

TypeScript
1
star
96

sbi

simple build image: build docker containers, push to registry, interpolate and apply kubernetes manifests
Shell
1
star
97

release-celo-deployments-28

1
star
98

cooperate-demo

Cooperate Demo
TypeScript
1
star
99

health-checker-docker

https://github.com/gruntwork-io/health-checker in a Docker image
Dockerfile
1
star
100

celo-bls-go-windows

Go
1
star