core

module
v0.7.6 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2023 License: GPL-3.0

README

Sonr Logo Banner

sonr Go Reference Go Report Card wakatime

Sonr is a peer-to-peer identity and asset management system that leverages DID Documents, WebAuthn, and IPFS - to provide users with a secure, user-friendly way to manage their digital identity and assets.

Getting Started

Open in GitHub Codespaces

You can setup your macOS or Linux machine to be ready for local development with these steps:

git clone https://github.com/sonrhq/core.git       # Clone the repository
sh scripts/install.sh                               # Install dependencies
task                                                # Display the available commands

The install.sh script will install the following tools:

You need to set the following environment variables to run the blockchain:

CONNECT_SERVER_HOST="localhost"
CONNECT_SERVER_PORT="8080"
TLS_CERT_FILE=""
TLS_KEY_FILE=""
ENVIRONMENT="dev"
HIGHWAY_MODE="fiber"

Documentation

Sonr utilizes Mintlify to generate documentation from the source code. To view the documentation, execute task docs from the root directory. Or, visit the documentation site.

Architecture Diagram

Architecture

Repository Structure Map

Repository structure

Usage

task serve command installs dependencies, builds, initializes, and starts your blockchain in development.

Command Reference
* docs                  Serve the docs locally
* chain:build:          Build the blockchain                  (aliases: build)
* chain:generate:       Generate the protobuf files           (aliases: gen)
* chain:serve:          Serve the blockchain locally          (aliases: serve)
* web                   Run the web app in dev mode           (aliases: web)
Publish New Release

To release a new version of your blockchain, create and push a new tag with v prefix. A new draft release with the configured targets will be created.

git tag v0.1
git push origin v0.1

After a draft release is created, make your final changes from the release page and publish it.

Installation

To install the latest version of your blockchain node's binary, execute the following command on your machine:

curl https://get.ignite.com/sonrhq/core! | sudo bash

Production endpoints are available at the following URLs:

Community

For help and discussion around DID Documents, best practices, and more, join us on Discord.

For updates on the Sonr Daemon, follow this repo on GitHub.

For feature requests, bugs, or technical questions, submit feedback here. For general inquiries or inclusion in our upcoming feature betas, reach out on Twitter.

Additional Resources

MPC

Version 1

This is the second version of our MPC protocol which leverages the kryptology library from coinbase. This protocol uses DKG based signing for ecdsa signature generation. The protocol is described in the paper here.

Version 0

This is the first version of the MPC protocol. It is a simple protocol that uses the taurusgroup implementation for CMP based ecdsa signature generation. The protocol is described in the paper here.

Directories

Path Synopsis
app
cmd
Package docs GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
Package docs GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
internal
sfs
pkg
did
mpc
txs
testutil
nullify
Package nullify provides methods to init nil values structs for test assertion.
Package nullify provides methods to init nil values structs for test assertion.
types
x
domain/types
Package types is a reverse proxy.
Package types is a reverse proxy.
identity/types
Package types is a reverse proxy.
Package types is a reverse proxy.
service/types
Package types is a reverse proxy.
Package types is a reverse proxy.

Jump to

Keyboard shortcuts

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