Calculating Hashes in Ethereum: A Step-by-Step Guide
The Ethereum network uses a unique algorithm to generate and validate transactions (Tx). A key part of this process is calculating hashes, which are used to verify the integrity and authenticity of each transaction. In this article, we will explore how to calculate hashes in Ethereum, focusing specifically on Tx hashes.
What are hashes?
Hashes are one-way cryptographic functions that take input data (in this case, a transaction) as input and produce a fixed-size string output. A hash is unique and immutable, making it perfect for verifying the authenticity of a transaction.
Hash Calculation in Ethereum: A High-Level Overview
To calculate hashes in Ethereum, you need to follow these steps:
- Create Transaction: Start by creating a new Tx using the tx command in the Ethereum CLI:
eth tx create
Replace with the hash value of the transaction you want to calculate.
- Double SHA-256 Hash: To create the hash value, we need to double SHA-256 hash the Tx input data (including any variables). This is done with the command “eth account”:
account eth --send-receipt
This will create a new transaction with double-sha256 hash values.
- Final hash calculation
: The final hash is created by combining the two previous hashes (Tx input data and double-sha256 hash). This is done using the “eth hash” command:
eth hash --tx_hash
This prints the final hash of the Tx.
SHA hash fields

To create a valid transaction, you must include the following fields in the Tx:
- Sender: the address from which the transaction was initiated.
- Recipient: the address to receive the funds (if applicable).
- Value: the amount to be transferred (optional).
- GasPrice: the gas price in the transaction (optional).
- GasLimit: the maximum gas limit allowed for the transaction (optional).
Field Order
The order in which you add these fields does not matter. The important thing is that they are included in the correct format.
Example transaction
Here is an example of a Tx:
{
"from": "0x1234567890abcdef",
"to": "0x9876543210fedcba",
"value": 10,
"GasPrice": 20000,
"gasLimit": 300,000,
"nonce": 0,
"BlockNumber": 1000
}
Double SHA-256 hash calculation
With the “eth account” command we can create a double sha256 input:
{
"from": "0x1234567890abcdef",
"to": "0x9876543210fedcba"
}
The result is a new transaction with the same hash value.
Final hash calculation
Combining the two previous hashes yields:
eth hash --tx_hash = `1234567890abcdef@1234a5b6c7d8e9f0g0h1i2j3k4l5m6n7p8q9r10t11u12v153w1c8d371w18
This is the final hash for Tx.
Conclusion
Calculating hash values in Ethereum involves creating a transaction, double-hashing the input data, and combining these two hashes to create a final hash. By following this process, you can ensure the integrity and authenticity of every transaction on the Ethereum network.