Skip to document

42000 Cryptography - Implementation Project Report -Shreyas Prakash Mhalsekar - 25076112

it so good n nice
Course

Computer Science, Engineering (CSC502)

41 Documents
Students shared 41 documents in this course
Academic year: 2022/2023
Uploaded by:

Comments

Please sign in or register to post comments.

Preview text

Name: Shreyas Prakash Mhalsekar Student ID: 25076112

Ethereum

Overview

The aim of this project was to gain firsthand experience with Ethereum, a leading blockchain platform, focusing on public-key signature, hash function, key management, and proof-of-work mechanisms. This endeavour was designed to deepen our understanding of how cryptographic algorithms are employed in practice, encouraging an incentive to learn more about these algorithms.

Objectives

 To setup a private Ethereum network.  To execute transactions and mine Ethereum tokens.  To explore the application of cryptographic techniques within Ethereum.

Group Members

  1. Siddharth Jha, 25028503
  2. Shreyas Prakash Mhalsekar, 25076112
  3. Phongsakorn Ardong, 25110988

Part I: Running a Private Ethereum Network

Task Description

We started by creating a genesis block for our private Ethereum network and initiating it using the provided ‘geth’ binary.

Steps Followed

  1. Genesis Block Creation: Crafted a genesis file to describe the initial configuration of our private Ethereum network.

  2. Initializing the Private Network: Utilized the geth command to initialize the network with our genesis block.

    Command: ‘./geth init /home/kali/Desktop/genesis’
  3. Starting the Network: Launched our private Ethereum network while enabling the geth console and configuring it to avoid discovering public networks. Command: ‘./geth --nodiscover --networkid 9724 console’ Note: Here, ‘9724’ is a placeholder for our unique network ID.

Outcome

Successfully initiated our private Ethereum network and accessed the geth console for further operations.

Outcome

After mining, the etherbase account received Ethereum tokens as rewards, demonstrating the blockchain's growth and the function of mining.

Part III: Creating Transactions and Mining into Blocks

Task Description

Executed transactions between the two accounts and ensured they were mined into the blockchain.

Steps Followed

  1. Stop Mining: Temporarily halted the mining process to prepare for the transaction. Command: ‘miner()’
  2. Transaction Execution: Created and sent a transaction from the etherbase account to the other account. Command: ‘eth({from: eth[ 0 ], to: eth[ 1 ], value: web3( 1 , “ether”)})’ Note:  In Ethereum accounts are blocked by default for security reasons, requiring the user to unlock them before transactions. o To resolve this issue, we temporarily unlocked our account using the following command: ‘personal(eth[ 0 ], "YourPassphraseHere", 15000 )’ Here, ‘15000’ denotes the time (in seconds) for which the account will remain unlocked.
  3. Transaction Verification: Verified the transaction in the pool and resumed mining to confirm it in the blockchain. We first verified the transaction by checking the transaction status using the following command: ‘txpool’
Was this document helpful?

42000 Cryptography - Implementation Project Report -Shreyas Prakash Mhalsekar - 25076112

Course: Computer Science, Engineering (CSC502)

41 Documents
Students shared 41 documents in this course
Was this document helpful?
Name: Shreyas Prakash Mhalsekar
Student ID: 25076112
Ethereum
Overview
The aim of this project was to gain firsthand experience with Ethereum, a leading blockchain platform,
focusing on public-key signature, hash function, key management, and proof-of-work mechanisms. This
endeavour was designed to deepen our understanding of how cryptographic algorithms are employed in
practice, encouraging an incentive to learn more about these algorithms.
Objectives
To setup a private Ethereum network.
To execute transactions and mine Ethereum tokens.
To explore the application of cryptographic techniques within Ethereum.
Group Members
1. Siddharth Jha, 25028503
2. Shreyas Prakash Mhalsekar, 25076112
3. Phongsakorn Ardong, 25110988
Part I: Running a Private Ethereum Network
Task Description
We started by creating a genesis block for our private Ethereum network and initiating it using the provided
geth’ binary.
Steps Followed
1. Genesis Block Creation: Crafted a genesis.json file to describe the initial configuration of our
private Ethereum network.