Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Repository
DIDComm agent with group communication
Basic Info
Statistics
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 3
Metadata Files
readme.md
ZeroComm
ZeroComm is a Go implementation of a novel solution which enables decentralized secure messaging with both peer-to-peer and group communication, while combining DIDComm framework and ZeroMQ transport protocol. This prototype was researched and designed as a thesis project.
Please refer to the documentation to find more information about the requirements, architecture, design, implementation and performance evaluation of the solution.
Supported features: - Generating invitations to connect with agents - Connecting via invitations - Peer-to-peer communication - Creating a group - Joining a group - Group messaging - Leaving a group - Fetching group information - Discover services of the agent
Usage
Follow the steps listed below to start an agent.
- Clone the repository
- Build from the source code by running
go buildcommand in the parent directory - Start the agent. eg:
./didcomm-prober -label=alice -port=6001 -pub_port=7001 -mock_port=8001 -mock -v - Press
cand enter to proceed

Parameters
label: display name of the agentport: port for peer-to-peer communicationpub_port: port for group communicationmock_port: port for testing purposesmock: if used, enables mocking endpointsv: if used, prints the logs of the agent
Internal Architecture

Component stack

Dependencies
| Dependency | Version | Description |
|---|---|---|
| crypto | v0.0.0 | This repository holds supplementary Go cryptography libraries |
| sys | v0.0.0 | This repository holds supplemental Go packages for low-level interactions with the operating system. |
| zmq4 | v1.2.9 | A Go interface to ZeroMQ version 4 |
| compress | v1.15.14 | Optimized Go Compression Packages |
| aurora | v0.0.0 | Golang ultimate ANSI-colors that supports Printf/Sprintf methods |
| mux | v1.7.3 | A powerful HTTP router and URL matcher for building Go web servers with 🦍 |
| gofuzz | v1.2.0 | Fuzz testing for go. |
| uuid | v1.1.1 | Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services. |
| btcutil | v1.0.3 | Provides bitcoin-specific convenience functions and types |
| libsodium-go | v0.0.0 | A complete overhaul of the Golang wrapper for libsodium |
| zerolog | v1.22.0 | Zero Allocation JSON Logger |
| log | v1.2.1 |
Owner
- Login: YasiruR
- Kind: user
- Repositories: 8
- Profile: https://github.com/YasiruR
Citation (citation.cff)
cff-version: 1.0.0
message: "For citation purposes"
authors:
- family-names: Witharanage
given-names: Yasiru
# orcid: https://orcid.org/1234-5678-9101-1121
title: "Zero-Comm"
version: 3.0.0
# doi: 10.5281/zenodo.1234
date-released: 2023-04-01
GitHub Events
Total
Last Year
Dependencies
- github.com/GoKillers/libsodium-go v0.0.0-20171022220152-dd733721c3cb
- github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce
- github.com/google/gofuzz v1.2.0
- github.com/google/uuid v1.1.1
- github.com/gorilla/mux v1.7.3
- github.com/klauspost/compress v1.15.14
- github.com/logrusorgru/aurora v0.0.0-20200102142835-e9ef32dff381
- github.com/pebbe/zmq4 v1.2.9
- github.com/rs/zerolog v1.22.0
- github.com/tryfix/log v1.2.1
- golang.org/x/crypto v0.0.0-20220214200702-86341886e292
- golang.org/x/sys v0.0.0-20220209214540-3681064d5158
- github.com/GoKillers/libsodium-go v0.0.0-20171022220152-dd733721c3cb
- github.com/aead/siphash v1.0.1
- github.com/btcsuite/btcd v0.20.1-beta
- github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f
- github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d
- github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce
- github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd
- github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd
- github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723
- github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792
- github.com/btcsuite/winsvc v1.0.0
- github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e
- github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495
- github.com/davecgh/go-spew v1.1.0
- github.com/fsnotify/fsnotify v1.4.7
- github.com/golang/protobuf v1.2.0
- github.com/google/gofuzz v1.2.0
- github.com/google/uuid v1.1.1
- github.com/gorilla/mux v1.7.3
- github.com/hpcloud/tail v1.0.0
- github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89
- github.com/jrick/logrotate v1.0.0
- github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23
- github.com/klauspost/compress v1.15.14
- github.com/logrusorgru/aurora v0.0.0-20200102142835-e9ef32dff381
- github.com/onsi/ginkgo v1.6.0
- github.com/onsi/ginkgo v1.7.0
- github.com/onsi/gomega v1.4.3
- github.com/pebbe/zmq4 v1.2.9
- github.com/pkg/errors v0.9.1
- github.com/rs/xid v1.2.1
- github.com/rs/zerolog v1.22.0
- github.com/tryfix/log v1.2.1
- github.com/tryfix/traceable-context v1.0.1
- github.com/yuin/goldmark v1.2.1
- golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44
- golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
- golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550
- golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d
- golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9
- golang.org/x/crypto v0.0.0-20220214200702-86341886e292
- golang.org/x/mod v0.3.0
- golang.org/x/net v0.0.0-20180906233101-161cd47e91fd
- golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3
- golang.org/x/net v0.0.0-20190620200207-3b0461eec859
- golang.org/x/net v0.0.0-20201021035429-f5854403a974
- golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f
- golang.org/x/sync v0.0.0-20190423024810-112230192c58
- golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9
- golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e
- golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
- golang.org/x/sys v0.0.0-20190412213103-97732733099d
- golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f
- golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4
- golang.org/x/sys v0.0.0-20220209214540-3681064d5158
- golang.org/x/text v0.3.0
- golang.org/x/text v0.3.3
- golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e
- golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e
- golang.org/x/tools v0.1.0
- golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
- golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898
- golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
- gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
- gopkg.in/fsnotify.v1 v1.4.7
- gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7
- gopkg.in/yaml.v2 v2.2.1