sonr

module
v0.16.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2024 License: GPL-3.0

README

Sonr Logo Banner

Go Reference GitHub commit activity GitHub Release Date - Published_At Static Badge Discord

Go Report Card Run Tests Merge Queue

Quality Gate Status Security Rating Vulnerabilities


Sonr is an ibc-enabled blockchain for decentralized identity.

Features

Sonr is a combination of decentralized primitives. Fundamentally, it is a peer-to-peer identity and asset management system that leverages DID documents, Webauthn, and IPFS — providing users with a secure, portable decentralized identity.

Module Description
x/identity The Sonr Identity module is responsible for managing DID based
accounts using the MPC Protocol - Docs
x/oracle The Oracle module is responsible for managing Staking delegations
rewards, and token transfers - Docs
x/service The Service module is responsible for DAO Application Service
Configurations, and Passkey authentication - Docs

Sonr is built on top of the Cosmos SDK, which is a framework for building blockchain applications in Golang. We have built the above modules to provide a decentralized identity and asset management system.

Documentation

For full documentation, visit sonr.io/docs. To see how to Contribute, visit Getting Started

It's recommended to install the following tools:

Status

  • Alpha: Closed testing.
  • Private Devnet: May have kinks. See projects.
  • Public Testnet: Stable for non-enterprise use. Join it.
  • Mainnet: Coming soon. Watch status.

We are currently in transitioning to Public Testnet. Watch releases of this repo to get notified of major updates.

Architecture

Sonr is a blockchain node which you can run locally, or use to join our testnet. You can sign up and start using Sonr without installing anything using our dashboard.

Architecture

See additional details on these components in the whitepaper.


Community & Support

Acknowledgements

Sonr would not have been possible without the direct and indirect support of the following organizations and individuals:

  • Protocol Labs: For IPFS & Libp2p.
  • Interchain Foundation: For Cosmos & IBC.
  • Tim Berners-Lee: For the Internet.
  • Satoshi Nakamoto: For Bitcoin.
  • Steve Jobs: For Taste.

Thank you for your support and inspiration!

Directories

Path Synopsis
api
app
cmd
accumulator
Package accumulator implements the cryptographic accumulator as described in https://eprint.iacr.org/2020/777.pdf It also implements the zero knowledge proof of knowledge protocol described in section 7 of the paper.
Package accumulator implements the cryptographic accumulator as described in https://eprint.iacr.org/2020/777.pdf It also implements the zero knowledge proof of knowledge protocol described in section 7 of the paper.
bulletproof
Package bulletproof implements the zero knowledge protocol bulletproofs as defined in https://eprint.iacr.org/2017/1066.pdf
Package bulletproof implements the zero knowledge protocol bulletproofs as defined in https://eprint.iacr.org/2017/1066.pdf
core
Package core contains a set of primitives, including but not limited to various elliptic curves, hashes, and commitment schemes.
Package core contains a set of primitives, including but not limited to various elliptic curves, hashes, and commitment schemes.
core/curves
Package curves: Field implementation IS NOT constant time as it leverages math/big for big number operations.
Package curves: Field implementation IS NOT constant time as it leverages math/big for big number operations.
core/curves/native/k256/fp
Autogenerated: 'src/ExtractionOCaml/word_by_word_montgomery' --lang Go --no-wide-int --relax-primitive-carry-to-bitwidth 32,64 --cmovznz-by-mul --internal-static --package-case flatcase --public-function-case UpperCamelCase --private-function-case camelCase --public-type-case UpperCamelCase --private-type-case camelCase --no-prefix-fiat --doc-newline-in-typedef-bounds --doc-prepend-header 'Code generated by Fiat Cryptography.
Autogenerated: 'src/ExtractionOCaml/word_by_word_montgomery' --lang Go --no-wide-int --relax-primitive-carry-to-bitwidth 32,64 --cmovznz-by-mul --internal-static --package-case flatcase --public-function-case UpperCamelCase --private-function-case camelCase --public-type-case UpperCamelCase --private-type-case camelCase --no-prefix-fiat --doc-newline-in-typedef-bounds --doc-prepend-header 'Code generated by Fiat Cryptography.
core/curves/native/k256/fq
Autogenerated: 'src/ExtractionOCaml/word_by_word_montgomery' --lang Go --no-wide-int --relax-primitive-carry-to-bitwidth 32,64 --cmovznz-by-mul --internal-static --package-case flatcase --public-function-case UpperCamelCase --private-function-case camelCase --public-type-case UpperCamelCase --private-type-case camelCase --no-prefix-fiat --doc-newline-in-typedef-bounds --doc-prepend-header 'Code generated by Fiat Cryptography.
Autogenerated: 'src/ExtractionOCaml/word_by_word_montgomery' --lang Go --no-wide-int --relax-primitive-carry-to-bitwidth 32,64 --cmovznz-by-mul --internal-static --package-case flatcase --public-function-case UpperCamelCase --private-function-case camelCase --public-type-case UpperCamelCase --private-type-case camelCase --no-prefix-fiat --doc-newline-in-typedef-bounds --doc-prepend-header 'Code generated by Fiat Cryptography.
core/curves/native/p256/fp
Code generated by Fiat Cryptography.
Code generated by Fiat Cryptography.
core/curves/native/p256/fq
Code generated by Fiat Cryptography.
Code generated by Fiat Cryptography.
dkg/frost
Package frost is an implementation of the DKG part of https://eprint.iacr.org/2020/852.pdf
Package frost is an implementation of the DKG part of https://eprint.iacr.org/2020/852.pdf
dkg/gennaro
Package gennaro is an implementation of the DKG part of https://eprint.iacr.org/2020/540.pdf
Package gennaro is an implementation of the DKG part of https://eprint.iacr.org/2020/540.pdf
dkg/gennaro2p
Package gennaro2p wraps dkg/genarro and specializes it for the 2-party case.
Package gennaro2p wraps dkg/genarro and specializes it for the 2-party case.
ot/base/simplest
Package simplest implements the "Verified Simplest OT", as defined in "protocol 7" of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
Package simplest implements the "Verified Simplest OT", as defined in "protocol 7" of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
ot/extension/kos
Package kos in an implementation of maliciously secure OT extension protocol defined in "Protocol 9" of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
Package kos in an implementation of maliciously secure OT extension protocol defined in "Protocol 9" of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
ot/ottest
Package ottest contains some utilities to test ot functions.
Package ottest contains some utilities to test ot functions.
paillier
Package paillier contains Paillier's cryptosystem (1999) [P99].
Package paillier contains Paillier's cryptosystem (1999) [P99].
sharing
Package sharing is an implementation of shamir secret sharing and implements the following papers.
Package sharing is an implementation of shamir secret sharing and implements the following papers.
signatures/bbs
Package bbs is an implementation of BBS+ signature of https://eprint.iacr.org/2016/663.pdf
Package bbs is an implementation of BBS+ signature of https://eprint.iacr.org/2016/663.pdf
signatures/bls/bls_sig
Package bls_sig is an implementation of the BLS signature defined in https://tools.ietf.org/html/draft-irtf-cfrg-bls-signature-03
Package bls_sig is an implementation of the BLS signature defined in https://tools.ietf.org/html/draft-irtf-cfrg-bls-signature-03
tecdsa/dklsv1
package dklsv1 provides a wrapper around the [DKLs18](https://eprint.iacr.org/2018/499.pdf) sign and dkg and provides serialization, serialization, and versioning for the serialized data.
package dklsv1 provides a wrapper around the [DKLs18](https://eprint.iacr.org/2018/499.pdf) sign and dkg and provides serialization, serialization, and versioning for the serialized data.
tecdsa/dklsv1/dealer
Package dealer implements key generation via a trusted dealer for the protocol [DKLs18](https://eprint.iacr.org/2018/499.pdf).
Package dealer implements key generation via a trusted dealer for the protocol [DKLs18](https://eprint.iacr.org/2018/499.pdf).
tecdsa/dklsv1/dkg
Package dkg implements the Distributed Key Generation (DKG) protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
Package dkg implements the Distributed Key Generation (DKG) protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
tecdsa/dklsv1/refresh
This file implements the key refresh protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
This file implements the key refresh protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
tecdsa/dklsv1/sign
Package sign implements the 2-2 threshold signature protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
Package sign implements the 2-2 threshold signature protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
tecdsa/gg20/dealer
Package dealer is an implementation of the `dealer` mode of https://eprint.iacr.org/2020/540.pdf
Package dealer is an implementation of the `dealer` mode of https://eprint.iacr.org/2020/540.pdf
tecdsa/gg20/participant
Package participant is an implementation of a `participant` in the t-of-n threshold signature of https://eprint.iacr.org/2020/540.pdf
Package participant is an implementation of a `participant` in the t-of-n threshold signature of https://eprint.iacr.org/2020/540.pdf
tecdsa/gg20/proof
Package proof contains the following implementations
Package proof contains the following implementations
ted25519/frost
Package frost is an implementation of t-of-n threshold signature of https://eprint.iacr.org/2020/852.pdf
Package frost is an implementation of t-of-n threshold signature of https://eprint.iacr.org/2020/852.pdf
ted25519/ted25519
Package ted25519 implements the Ed25519 signature algorithm.
Package ted25519 implements the Ed25519 signature algorithm.
zkp/schnorr
Package schnorr implements a Schnorr proof, as described and used in Doerner, et al.
Package schnorr implements a Schnorr proof, as described and used in Doerner, et al.
internal
components/base
templ: version: v0.2.598
templ: version: v0.2.598
components/ui
templ: version: v0.2.598
templ: version: v0.2.598
components/views/auth
templ: version: v0.2.598
templ: version: v0.2.598
components/views/auth/login
templ: version: v0.2.598
templ: version: v0.2.598
components/views/auth/register
templ: version: v0.2.598
templ: version: v0.2.598
components/views/dash
templ: version: v0.2.598
templ: version: v0.2.598
components/views/dash/chats
templ: version: v0.2.598
templ: version: v0.2.598
components/views/landing
templ: version: v0.2.598
templ: version: v0.2.598
components/views/landing/about
templ: version: v0.2.598
templ: version: v0.2.598
components/views/landing/changelog
templ: version: v0.2.598
templ: version: v0.2.598
components/views/landing/ecosystem
templ: version: v0.2.598
templ: version: v0.2.598
components/views/landing/home
templ: version: v0.2.598
templ: version: v0.2.598
components/views/landing/research
templ: version: v0.2.598
templ: version: v0.2.598
components/views/utility
templ: version: v0.2.598
templ: version: v0.2.598
pkg
x
identity
Package identity is a reverse proxy.
Package identity is a reverse proxy.
service
Package service is a reverse proxy.
Package service is a reverse proxy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL