Do you know what is included in Cardano’s Alonzo hardfork?
The Cardano Alonzo hardfork that adds smart contract support is quickly approaching and brings many changes to the Cardano blockchain.

The Cardano Alonzo hardfork that adds smart contract support is quickly approaching and brings many changes to the Cardano blockchain.
At dcSpark, we made a video that explains these changes. This blog post servers as a summary of the key points in the video
Did you know Plutus smart contract execution cost calculation is a two step process?
- For each language (ex: Plutus), a “cost model” defines how much time & memory (ExUnits) is required for execution
- ExUnits is mapped to an ADA value
Did you know transaction have a “IsValid” field set by block producers for contract execution status
Plutus contracts are deterministic & should never fail, but this field allows clients to skip contract execution when syncing
Did you know transaction validation has two phases?
Phase 1: Ensures Plutus contract execution will be deterministic
Phase 2: Executes the Plutus contract
So unlike Ethereum, Plutus contracts should never fail with out of gas!
Did you know transaction that call smart contracts require collateral?
Collateral can be any UTXO entry where:
- It is not a script address
- Does not contain tokens
Collateral must cover at least the cost of contract execution in case contract execution fails (which should not happen thanks to determinism)
Did you know transactions now contain “redeemers”?
In transactions, you need to add one redeemer per script input in the transaction.
Redeemers allow passing user data to contracts and also allow specifying how much you will pay pools to process your contract call.
Did you know scripts can guard more than just transaction inputs?
In transactions, you need to add one redeemer per script input in the transaction.
You can have wallets where the following a guarded by a smart contract:
- Reward withdrawal
- Token minting
- Certificate creation (ex: delegating)
Did you know transactions outputs can now also contain data?
Outputs only contain a hash of the data for storage efficiency.
The full data is in the witness when:
- (required) tx is spending from output w/ data
- (optional) tx created an output with data
Did you know determinism of contracts is guaranteed by including inside the transaction body a hash of all variables that could affect the result of a contract?
This contains information like the Plutus version number & protocol parameters used
Did you know transactions can enforce extra signatures that don’t correspond to any tx input?
Extra key hashes are accessible from Plutus contracts for use cases where users needs to sign data to access contract functionality
Did you know contracts will have access to UTC time instead of slot numbers?
As slot length is a protocol parameter that can change over time, standardizing to UTC time avoids slot length being different in different contexts
Did you know the minimum ADA value in UTXO entries will change?
The minimum ADA value is changing from a constant 1 ADA to a protocol parameter to that it can be changed in the future
The minimum ADA for sending tokens will be reduces very slightly
Did you know transactions will contain the network ID?
The network ID (testnet or mainnet) will now be part of the transaction body
This will make it easier to write tools that support both mainnet & testnet (like the Alonzo testnet)
Did you know dcSpark has a Twitter account?
You can follow us for future updates here! https://twitter.com/dcspark_io
Delegate Your Voting Power to FEED DRep in Cardano Governance.
DRep ID: drep12ukt4ctzmtf6l5rj76cddgf3dvuy0lfz7uky08jfvgr9ugaapz4 | We are driven to register as a DRep by our deep dedication to the Cardano ecosystem and our aspiration to take an active role in its development, ensuring that its progress stays true to the principles of decentralization, security, and community empowerment.DELEGATE VOTING POWER!