1

I am looking for a method to create the policy.vkey and policy.skey. unfortunately my search has been unsuccessful so far. I have searched the library https://github.com/Berry-Pool/cardanocli-js/blob/main/API.md but found nothing.

I want to create a NFT with the library "cardanocli-js".

Thanks for the help

want to create an NFT and I get the following error in my code

const mintScript = {
  "type": "all",
  "scripts": [
    {
      "type": "before",
      "slot": expireSlot
    },
    {
      "keyHash": cardanocliJs.addressKeyHash(wallet.name),
      "type": "sig",
    }
  ]
}

const policy = cardanocliJs.transactionPolicyid(mintScript);
const BERRYCOIN = policy + ".TestNFT";
const ASSET_NAME = 'Test-BildNFT';

console.log(policy);

const metadata = {
  "721": {
      [policy]: {
          [ASSET_NAME]: {
              "name": ASSET_NAME,
              "id": 1,
              "artist": 'Dave',
              "size": "big",
              "mediaType": "image/jpeg",
              "collection": "CollectionTest",
              "image": 'ipfs://QmYBfPDQ7reFcFvYESuipFL8R4FaqGZdMieCaUTHnZTB73',
              "description": 'Test Picture NFT',
          }
      }
  }
}

const tx = {
  txIn: wallet.balance().utxo,
  txOut: [
    {
      address: wallet.paymentAddr,
      value: { ...wallet.balance().value, [BERRYCOIN]: 1 },
    },
  ],
  mint: [
    { action: "mint", quantity: 1, asset: BERRYCOIN, script: mintScript },
  ],
  witnessCount: 2,
  metadata: metadata,
};

const raw = createTransaction(tx);
const signed = signTransaction(wallet, raw);
console.log(cardanocliJs.transactionView({ txFile: signed }));
const txHash = cardanocliJs.transactionSubmit(signed);
console.log(txHash);

const createTransaction = (tx) => {
  let raw = cardanocliJs.transactionBuildRaw(tx);
  let fee = cardanocliJs.transactionCalculateMinFee({
    ...tx,
    txBody: raw,
  });
  tx.txOut[0].value.lovelace -= fee;
  return cardanocliJs.transactionBuildRaw({ ...tx, fee });
};

const signTransaction = (wallet, tx, script) => {
  return cardanocliJs.transactionSign({
    signingKeys: [wallet.payment.skey, wallet.payment.skey],
    txBody: tx,
  });
};
Command failed: transaction submit  Error: Error while submitting tx: ShelleyTxValidationError ShelleyBasedEraAlonzo (ApplyTxError [UtxowFailure (WrappedShelleyEraFailure (ScriptWitnessNotValidatingUTXOW (fromList [ScriptHash "857ebbcadda9fd10568262fdaf64d20935681752968390cf9a830952"])))])
node:child_process:903
    throw err;
    ^

Error: Command failed: cardano-cli transaction submit --testnet-magic 1097911063 --tx-file ./tmp/tx_orkb4h9js.signed
Command failed: transaction submit  Error: Error while submitting tx: ShelleyTxValidationError ShelleyBasedEraAlonzo (ApplyTxError [UtxowFailure (WrappedShelleyEraFailure (ScriptWitnessNotValidatingUTXOW (fromList [ScriptHash "857ebbcadda9fd10568262fdaf64d20935681752968390cf9a830952"])))])

1 Answer 1

1

A policy key is just a payment key (or stake key, depending on where the policy is listed in the address). So in the example of using cardanocli-js, you would use the addressKeyGen method. https://github.com/Berry-Pool/cardanocli-js/blob/main/API.md#CardanocliJs+addressKeyGen

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.