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
Supported Digital Signature Algorithms:
Supported DID Methods:
JWS signing and verification using DIDs
JWT signing and verification using DIDs
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
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
Before contributing, set up the pre-commit hook by running:
cp .githooks/pre-commit .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
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 -h
See cmd/web5/README.md for more information.
Each package's README contains in-depth information about the package's structure and suggestions on how add features specific to that package