# Exit if any command in this script fails.
if [ -e issuer_key.jwk ]; then
echo 'Using existing keypair.'
didkit generate-ed25519-key > issuer_key.jwk
echo 'Generated keypair.'
issuer=$(didkit key-to-did-key -k issuer_key.jwk)
printf 'Issuer DID: %s\n' "$issuer"
issuer_vm=$(didkit key-to-verification-method -k issuer_key.jwk)
printf 'Issuer verification method: %s\n' "$issuer_vm"
# Generate a new dummy credential
didkit vc-issue-credential \
-p assertionMethod <<-EOF
"@context": "https://www.w3.org/2018/credentials/v1",
"type": ["VerifiableCredential"],
"issuanceDate": "$(date -u +'%FT%TZ')",
# Generate a bunch of verifiable credentials
printf 'Writing to file "%s"\n' "$creds_file"
while [ $i -le $count ]; do
printf '\rGenerating credentials... %d/%d' $i $count >&2
# Exit if any command in this script fails.
if [ ! -e issuer_key.jwk ]; then
echo 'Missing keypair.' >&2
issuer_vm=$(didkit key-to-verification-method -k issuer_key.jwk)
printf 'Issuer verification method: %s\n' "$issuer_vm"
if ! out=$(didkit vc-verify-credential \
printf "verify failed: %s" "$out" >&2
printf 'Reading from file "%s"\n' "$creds_file"
jq -c . "$creds_file" | while read line; do
printf '\rVerifying credentials... %d' $i
printf "%s" "$line" | verify_credential