When the Alonzo era started on mainnet, Lars deployed a smart contract example, in which he minted a lobster NFT as part of a lobster naming challenge.
In the policy script used to mint the lobster NFT - link to policy/validator code, the argument inputs for the tokenName and the UTxO are baked into the compiled Plutus script, since it's a parameterized typed policy/validator. By "baked in" I mean the validator code compiled to plutus already includes the token name and UTxO, so these args do not need to passed as datum when executing the transaction.
However, in the deploy script to mint the lobster NFT - link to deploy script, there is an parameter tx-out-datum-hash
set in the cardano-cli transaction build
. What datum does this hashed value represent and how is the hash computed? In Lars' example code, the value is hard-coded and no explanation is given for what it represents.