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
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
Repository Structure Map
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:
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.