Awesome
web5-go <!-- omit in toc -->
Table of Contents <!-- omit in toc -->
Summary
This repo contains the following packages:
package | description |
---|---|
crypto | Key Generation, signing, verification, and a Key Manager abstraction |
dids | DID creation and resolution. |
jwk | implements a subset of the JSON Web Key spec |
jws | JWS (JSON Web Signature) signing and verification |
jwt | JWT (JSON Web Token) parsing, signing, and verification |
[!IMPORTANT] Check the README in each directory for more details
crypto
Supported Digital Signature Algorithms:
dids
Supported DID Methods:
jws
JWS signing and verification using DIDs
jwt
JWT signing and verification using DIDs
Development
Prerequisites
We use a submodule for test vectors that make sure we follow the appropriate spec. Running tests will fail without it. To set up the submodule, clone using:
git clone --recurse-submodules git@github.com:TBD54566975/web5-go.git
If you've already cloned, add submodules:
git submodule update --init
hermit
This repo uses hermit to manage all environment dependencies (e.g. just
, go
).
[!IMPORTANT] run
. ./bin/activate-hermit
everytime you enter this directory if you don't have hermit shell hooks configured
Git hooks
Before contributing, set up the pre-commit hook by running:
cp .githooks/pre-commit .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
Helpful Commands
This repo uses just
as a command runner. Below is a table of helpful just
commands:
command | description |
---|---|
just test | runs all tests |
just lint | runs linter |
web5
CLI
web5 -h
See cmd/web5/README.md for more information.
Contributing
Each package's README contains in-depth information about the package's structure and suggestions on how add features specific to that package