I’m trying to write test script, but it fails with this error:
code:
const test = require("tape");
const { ECDSAKeyIdentity } = require("@dfinity/identity");
const {
idlFactory: contract_interface,
} = require("../.dfx/local/canisters/contract/service.did.test.cjs")
// canister ids
const canister_ids = require("../.dfx/local/canister_ids.json");
const contract = canister_ids.contract.local;
const token = canister_ids.token.local;
// identities
let ram_identity = ECDSAKeyIdentity.generate();
let sam_identity = ECDSAKeyIdentity.generate();
Error:
/Users/pramitgaha/programs/contract/node_modules/@dfinity/identity/lib/cjs/identity/ecdsa.js:26
throw new CryptoError('Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto');
^
CryptoError: Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto
at _getEffectiveCrypto (/Users/pramitgaha/programs/contract/node_modules/@dfinity/identity/lib/cjs/identity/ecdsa.js:26:15)
at ECDSAKeyIdentity.generate (/Users/pramitgaha/programs/Local-ICP/node_modules/@dfinity/identity/lib/cjs/identity/ecdsa.js:51:33)
at Object.<anonymous> (/Users/pramitgaha/programs/contract/test/contract.test.cjs:14:37)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Module.require (node:internal/modules/cjs/loader:1141:19)
at require (node:internal/modules/cjs/helpers:110:18)
at importOrRequire (/Users/pramitgaha/programs/contract/node_modules/tape/bin/import-or-require.js:14:2)
Node.js v18.14.1