Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Public Blockfrost prerequisites forbid the mnemonic and VDR key the driver requires

Open Beginner friendly
#298 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
74/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Active
Domain
documentation

Research direction

Start with documentation/develop/cloud-agent/environment-variables.md at lines 68, 99, 107, and 109, then compare the prerequisites with the pinned cloud-agent AppConfig.scala and BlockfrostPrismDriverProvider.scala referenced in the issue. Update the environment reference to match both NeoPRISM enabling paths and the PRISM signing requirements, including the private-network/API-key exclusion. Done when each statement matches the configuration and provider behavior without requiring live credentials or services.

Written by the indexing model from the issue text.

Description

bug documentation

User impact

The environment reference tells operators using a public Blockfrost API key to leave VDR_PRISM_DRIVER_WALLET_MNEMONIC and VDR_PRISM_DRIVER_VDR_PRIVATE_KEY unset. Both are mandatory in the pinned configuration and are consumed on exactly the public-API-key branch, so an operator who follows the table cannot configure a public-Blockfrost PRISM VDR consistently: omitting them leaves required configuration absent, and supplying them contradicts the reference. vdr.md on the same portal requires both values for both network modes, so the two pages disagree. A related row also understates when NEOPRISM_BASE_URL matters.

Affected documentation and ownership

  • Page: https://identus.io/documentation/develop/cloud-agent/environment-variables/ — GET 200 after trailing-slash resolution, Last-Modified: Tue, 27 Oct 2026 12:51:14 GMT, observed 2026-10-29T10:22Z.
  • Documentation source: environment-variables.md lines 107 and 109, plus line 68 and line 99, revision fa985dfa33caefa45bf1e9009e1f6f5a445344fb.
  • Editable owning source: the same Markdown file (ordinary committed source, not generated).
  • Intended component version: Identus Cloud Agent 2.2.1-SNAPSHOT. The docs revision pins its cloud-agent submodule at eee1ff7, whose version.sbt and application.conf are identical to the comparison revision 24facc below; the compare contains only CI-workflow and client-generator lockfile changes. These unversioned pages document that main configuration.

Observed versus expected

Documented rows:

107: | VDR_PRISM_DRIVER_VDR_PRIVATE_KEY  | VDR private key for the Prism driver.  Must not be present if Blockfrost API key is provided. |
109: | VDR_PRISM_DRIVER_WALLET_MNEMONIC  | Wallet mnemonic phrase for DID configuration in the Prism driver. Must not be present if Blockfrost API key is provided. |

Pinned code:

  • PrismDriverVdrConfig declares walletMnemonic: String and vdrPrivateKey: String (not Option); its validate only rejects blockfrostApiKey together with privateNetwork — the two network options, nothing about the signing fields.
  • BlockfrostPrismDriverProvider builds CardanoWalletConfig(config.walletMnemonic) and Secp256k1PrivateKey(config.vdrPrivateKey) after the network branch, i.e. also for Some(apiKey)/public Blockfrost.
  • application.conf supplies no literal default for either variable (lines 348–351), so "not present" is not a supported state.
  • The same portal's vdr.md PRISM Driver section marks both variables ✅ Yes for the public-Blockfrost example, which is the correct requirement.

Related row: NEOPRISM_BASE_URL (line 68) says "Only required when NODE_BACKEND is set to neoprism", while VDR_NEOPRISM_DRIVER_ENABLED (line 99) requires it to be configured and the NeoPRISM VDR client is built independently of the DID node backend (Modules.scala#L185-L189, consuming didNode.neoprism.baseUrl at Modules.scala#L216-L229). Note that application.conf also supplies the default http://localhost:8080 (line 16), so the requirement is about the effective endpoint, not about the variable always being set. The same wording appears in node-backend.md line 47; this issue covers the environment-reference rows, and the node-backend wording is reported separately so both files can be repaired consistently.

Expected: prerequisite statements match the typed configuration and every code path that consumes the values.

Evidence and reproduction

Static comparison at the revisions above, observed 2026-10-29:

gh api repos/hyperledger-identus/docs/contents/documentation/develop/cloud-agent/environment-variables.md \
  -q .content | base64 -d | sed -n '68p;99p;107p;109p'
grep -rn "walletMnemonic\|vdrPrivateKey" --include=*.scala .
grep -n "VDR_PRISM_DRIVER_WALLET_MNEMONIC\|VDR_PRISM_DRIVER_VDR_PRIVATE_KEY\|NEOPRISM_BASE_URL" \
  cloud-agent/service/server/src/main/resources/application.conf

Limitations: static inspection only. No agent, ledger or Blockfrost service was contacted, and no mnemonic or private key was used; the contradiction is established from the configuration schema and the provider code, not from a live start.

Existing work checked

GitHub issue/PR search across hyperledger-identus/docs and hyperledger-identus/cloud-agent, open and closed (2026-10-29):

  • VDR_PRISM_DRIVER_WALLET_MNEMONIC → 0 results; VDR_PRISM_DRIVER_VDR_PRIVATE_KEY → 0 results; NEOPRISM_BASE_URL → 0 results; Blockfrost configuration → 0 results in docs.
  • VDR driver in docs → docs#230 (open milestone checklist, no prerequisite wording), docs#247 (merged: added the VDR driver documentation), docs#241, docs#228 (closed). None covers the Blockfrost signing prerequisites.

Acceptance criteria

  • The public/private Blockfrost prerequisites no longer forbid fields the driver requires, and the private-network/API-key mutual exclusion is stated accurately.
  • The NEOPRISM_BASE_URL requirement reflects both enabling paths (DID node backend and independently enabled NeoPRISM VDR) and the existing default.
  • Verification: corrected statements traceable to the same revision's AppConfig/provider code, without requiring real mnemonics, private keys or ledger operations.
Dominant language
TypeScript
Stars
15
Forks
8
Avg merge
3d 14h
Merged PRs (30d)
2

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from hyperledger-identus/docs

All issues in hyperledger-identus/docs

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.