Git Product home page Git Product logo

cheqd / cheqd-node Goto Github PK

View Code? Open in Web Editor NEW
62.0 9.0 41.0 60.55 MB

Ledger/node software for cheqd's decentralised identity network. Built using the Cosmos SDK blockchain framework.

Home Page: https://docs.cheqd.io/node

License: Apache License 2.0

Dockerfile 0.19% Go 78.71% Shell 6.15% Python 13.89% Makefile 1.05%
self-sovereign-identity decentralized-identity decentralized-identifiers cosmos blockchain decentralized p2p cosmos-sdk hacktoberfest

cheqd-node's Introduction

cheqd-node: Ledger code cheqd network

GitHub release (latest by date) GitHub Release Date GitHub license

GitHub release (latest by date including pre-releases) GitHub commits since latest release (by date) GitHub contributors

GitHub Workflow Status GitHub Workflow Status GitHub go.mod Go version GitHub repo size

ℹ️ Overview

cheqd is a public self-sovereign identity (SSI) network for building secure 🔐 and private 🤫 self-sovereign identity systems on Cosmos 💫. Our core vision is to add viable commercial models to decentralised digital 🆔

cheqd-node is the ledger/node component of the cheqd network tech stack, built using Cosmos SDK and CometBFT.

▶️ Quick start for joining cheqd networks

Join our Discord server for help, questions, and support if you are looking to join our mainnet or testnet.

Either the cheqd team, or one of your fellow node operators will be happy to offer some guidance.

✅ Mainnet

Getting started as a node operator on the cheqd network mainnet is as simple as...

  1. Install the latest stable release of cheqd-node software (currently v1.x.x) on a hosting platform of your choice by following the setup guide.
  2. Once you have acquired CHEQ tokens, promote your node to a validator

If successfully configured, your node would become the latest validator on the cheqd mainnet. Welcome to the new digital ID revolution!

🚧 Testnet

Our testnet is the easiest place for developers and node operators to get started if you're not quite ready yet to dive into building apps on our mainnet. To get started...

  1. Install the latest stable release of cheqd-node software (currently v2.x.x) on a hosting platform of your choice by following the setup guide.
  2. Acquire testnet CHEQ tokens through our testnet faucet.
  3. Once you have acquired CHEQ tokens, promote your node to a validator

🧑‍💻 Using cheqd

Once installed, cheqd-node can be controlled using the cheqd Cosmos CLI guide.

📌 Currently supported functionality

🛠 Developing & contributing to cheqd

cheqd-node is written in Go and built using Cosmos SDK. The Cosmos SDK Developer Guide explains a lot of the basic concepts of how the cheqd network functions.

If you want to build a node from source or contribute to the code, please read our guide to building and testing.

Creating a local network

If you are building from source, or otherwise interested in running a local network, we have instructions on how to set up a new network for development purposes.

🐞 Bug reports & 🤔 feature requests

If you notice anything not behaving how you expected, or would like to make a suggestion / request for a new feature, please create a new issue and let us know.

💬 Community

Our Discord server is our primary chat channel for the open-source community, software developers, and node operators.

Please reach out to us there for discussions, help, and feedback on the project.

🙋 Find us elsewhere

Telegram Discord Twitter LinkedIn Medium YouTube

cheqd-node's People

Contributors

abdulla-ashurov avatar adenishchenko avatar amromashov avatar ankurdotb avatar askolesov avatar asmarty avatar benyam7 avatar big0ak avatar btosello avatar daevmithran avatar darrylvanderpeijl avatar deepan95dev avatar dependabot[bot] avatar drgomesp avatar eengineer1 avatar esplinr avatar faddat avatar filipdjokic avatar jay-dee7 avatar khornonzon avatar ptofevski avatar rosspower11 avatar snyk-bot avatar thomaspeitz avatar toktar avatar tweeddalex avatar udosson avatar vladimirwork avatar whalelephant avatar zakarialounes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cheqd-node's Issues

[Epic] Option 4b PoC: Node

PoA:

  • Implement simple DID module
  • Add state proofs for requests
    • Client should take care of proofs. Node exposes this API by default. We don't have to anything on the node side.
  • Understand how fees work (#16)

Implement CI

Ci should contain the following steps:

  • Lint
  • Build
  • Run unit tests
  • Run integration tests
  • Run system tests
    • Most probably Docker containers should be used here.

Before starting implementation I suggest learning the following things locally:

  • How to setup local pool with 3 nodes
  • How to connect to the pool with CLI
  • How to post transactions and perform queries using CLI

Estimate option 2

Slava G. roughly estimated rewriting of LibIndy in Go:
Indy utils - 120h
Indy wallet - 176h
Indy FFI - 176h
Domain - 40h
Anoncreds 176h
Crypto 80h
Blob Storate 80h
Ledger/Requests 80h
Build system /CI 176
Other upstream components adoption (cli, vcx) 200h
Risks 350h
10% management
100% debugging/productisation
== 3638.8h

PoC: Record a video

  • Node: Local pool
  • Node: Fees for txs ordering
  • SDK: Writing entities
  • SDK: Queries + state proofs

Node CI: Implement Build, Units actions

Use GitHub actions in the verim-cosmos repository.

Acceptance criteria:

  • Build action is implemented. This action must make sure that the build doesn't fail.
  • Run unit tests action is implemented. This action must run unit tests and make sure that they complete successfully.

[Epic] Option 2 PoC

  • Simple DID module with CRUD + CLI (#3)
  • Local network of several nodes (#8)
  • Integration with Ursa
  • Wrapper for Python or Java (#10)
  • Build for Android
  • Research callbacks / async
  • Research of supported target platforms for Go (ios, win, lin, mac)

Prepare deploy instructions [2d]

Please prepare two docs:

  • How to add a new node to the existing network
  • How to deploy genesis network
  • How to run local testnet

PoC for Android

Test mobile integrations:

  • [] Android
  • [] ios

Test FFI wrappers:

  • [] Python
  • [] Java

[Epic] Option 4b PoC

Option 4b: IndySDK + cosmos-rust + CosmosSDK base node

  • Create a node pool of 3 nodes for both DIDs and nodes (#8)
  • Implement simple DID module on the node side (#3)
    • Use existing Cosmos Token framework to pay for a DID write
  • Use cosmos-rust to have LibIndy communicate with the pool using Cosmos protocol. (https://github.com/verim-id/verim-cosmos/issues/12)
    • Implement DID read/write CLI commands.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.