Prad Nukala 4f2d342649
feature/ipfs vault allocation (#8)
* refactor: move constants to genesis.proto

* feat: add ipfs_active flag to genesis state

* feat: add IPFS connection initialization to keeper

* feat: add testnet process-compose

* refactor: rename sonr-testnet docker image to sonr-runner

* refactor: update docker-vm-release workflow to use 'latest' tag

* feat: add permission to workflows

* feat: add new service chain execution

* feat: add abstract vault class to pkl

* feat: use jetpackio/devbox image for runner

* feat: introduce dwn for local service worker

* refactor: remove unnecessary dockerfile layers

* refactor(deploy): Update Dockerfile to copy go.mod and go.sum from the parent directory

* build: move Dockerfile to root directory

* build: Add Dockerfile for deployment

* feat: Update Dockerfile to work with Go project in parent directory

* build: Update docker-compose.yaml to use relative paths

* feat: Update docker-compose to work with new image and parent git directory

* refactor: remove unnecessary test script

* <no value>

* feat: add test_node script for running node tests

* feat: add IPFS cluster to testnet

* feat: add docker image for sonr-runner

* fix: typo in export path

* feat(did): Add Localhost Registration Enabled Genesis Option

* feat: add support for Sqlite DB in vault

* feat: improve vault model JSON serialization

* feat: support querying HTMX endpoint for DID

* feat: Add primary key, unique, default, not null, auto increment, and foreign key field types

* feat: Add PublicKey model in pkl/vault.pkl

* feat: add frontend server

* refactor: move dwn.wasm to vfs directory

* feat(frontend): remove frontend server implementation

* feat: Add a frontend server and web auth protocol

* feat: implement new key types for MPC and ZK proofs

* fix: Update enum types and DefaultKeyInfos

* fix: correct typo in KeyAlgorithm enum

* feat(did): add attestation format validation

* feat: Add x/did/builder/extractor.go

* feat: Update JWK parsing in x/did/builder/extractor.go

* feat: Use github.com/onsonr/sonr/x/did/types package

* feat: Extract and format public keys from WebAuthn credentials

* feat: Introduce a new `mapToJWK` function to convert a map to a `types.JWK` struct

* feat: add support for extracting JWK public keys

* feat: remove VerificationMethod struct

* refactor: extract public key extraction logic

* feat: add helper functions to map COSECurveID to JWK curve names

* feat: pin initial vault
2024-09-07 18:12:58 -04:00
2024-09-07 18:12:58 -04:00
2024-09-07 18:12:58 -04:00
2024-07-05 22:20:13 -04:00
2024-09-07 18:12:58 -04:00
{}
2024-07-06 03:17:04 -04:00
2024-09-07 18:12:58 -04:00
2024-09-07 18:12:58 -04:00
2024-09-07 18:12:58 -04:00
2024-09-07 18:12:58 -04:00
2024-09-07 18:12:58 -04:00
2024-09-05 01:40:23 -04:00
2024-09-07 18:12:58 -04:00
2024-07-05 22:20:13 -04:00
2024-09-05 01:24:57 -04:00
2024-09-05 01:40:23 -04:00
2024-09-07 18:12:58 -04:00
2024-09-07 18:12:58 -04:00
2024-09-07 18:12:58 -04:00
2024-09-07 18:12:58 -04:00
2024-09-07 18:12:58 -04:00
2024-09-05 01:24:57 -04:00

sonr - Sonr Chain

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

Go Report Card Security Rating Vulnerabilities Mutable.ai Auto Wiki


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.


Components

sonrd

The main blockchain node that runs the sonr chain. It is responsible for maintaining the state of the chain, including IPFS based vaults, and did documents.

vault

The vault is a wasm module that is compiled and deployed to IPFS on behalf of the user. It is responsible for storing and retrieving encrypted data.

  • SQLite Database backend
  • Encryption via admonition
  • Authentication via webauthn
  • Authorization via Macroons
  • HTTP API

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.

Community & Support

Description
A Decentralized Identity Network built for the InterChain 🌐
Readme 926 MiB
Languages
Go 97.2%
Shell 0.9%
Makefile 0.6%
JavaScript 0.5%
Rust 0.5%
Other 0.2%