Blockchian Coding
Blockchian Coding
Blockchain implementation.java
// Basic Implementation of Blockchain in Java
// Imported date class so as to get timeStamp
import java.util.Date;
// This is to use SHA-256 algorithm
import java.security.MessageDigest;
//Applying Sha256 algorithm to input string and getting the hash of that block
public static String Sha_256(String input)
{
// Wraping it inside try-catch as it is comes under checked exception
try
{
// Taking the Instance of SHA-256
MessageDigest md = MessageDigest.getInstance("SHA-256");
return hash_in_hex.toString();
}
// catch block
catch(Exception e)
{
throw new RuntimeException(e);
}
}
}
// Driver class
public class Main {
// Driver method
public static void main(String[] args) {
System.out.println();
System.out.println();
}
}
Final_code.java
//Applying Sha256 algorithm to input string and getting the hash of that block
public static String Sha_256(String input)
{
// Wraping it inside try-catch as it is comes under checked exception
try
{
// Taking the Instance of SHA-256
MessageDigest md = MessageDigest.getInstance("SHA-256");
return hash_in_hex.toString();
}
// catch block
catch(Exception e)
{
throw new RuntimeException(e);
}
}
}
Car(int x, int y)
{
Xcoordinate=x;
Ycoordinate=y;
}
class RSU
{
private int Xcoordinate;
private int Ycoordinate;
private String message;
RSU(int x, int y, String msg)
{
Xcoordinate=x;
Ycoordinate=y;
message=msg;
}
// Driver class
public class Main {
// Driver method
public static void main(String[] args) {
double val=Math.random();
int xcord=rdm.nextInt(101)+200;
int ycord=rdm.nextInt(101)+200;
double tv1=Math.random();
double tv2=Math.random();
double tv3=Math.random();
String message;
//System.out.println();
//System.out.println();
System.out.println();
System.out.println("-----------------------------Initial Coordinates of
Cars-------------------------");
System.out.println();
System.out.println();
System.out.println("-----------------------------HAPPENING OF
EVENT----------------------------------");
System.out.println();
System.out.print("EVENT HAPPENED IS: ");
else
{
message="False Traffic Jam message send by Car 1";
System.out.println(message);
GenesisBlock.setTruthValue(-1);
return;
}
System.out.println();
Car[]arrayofcar=new Car[4];
arrayofcar[1]=c1;
arrayofcar[2]=c2;
arrayofcar[3]=c3;
System.out.println();
System.out.println("-----------------------------HAPPENING OF V2V
Communication----------------------");
System.out.println();
System.out.println();
System.out.println("-----------------------------HAPPENING OF V2R
Communication----------------------");
System.out.println();
System.out.println();
System.out.println("-----------------------------Final Coordinates of
Cars---------------------------");
System.out.println();
if(carnumber==3)
return;
int q=carnumber;
for(;q<arrayofcar.length-1;q++)
{
int val1=Math.abs(arrayofcar[q].getXcoordinate()-
arrayofcar[q+1].getXcoordinate());
int val2=Math.abs(arrayofcar[q].getYcoordinate()-
arrayofcar[q+1].getYcoordinate());
double reach=Math.sqrt((val1*val1)+(val2*val2));
if(visited[q+1]==false)
{
if(reach<=50)
{
visited[q+1]=true;
System.out.println("Incident information passed from Car "+q+" to Car "+(q+1));
int xcord=arrayofcar[q+1].getXcoordinate();
int ycord=arrayofcar[q+1].getYcoordinate();
V2Vcommunication(arrayofcar, visited, carnumber+1);
break;
}
else
{
System.out.println("Incident information cannot be passed from Car "+q+ " to Car
"+(q+1)+" because Car "+(q+1)+" is not in a range of Car "+q);
System.out.println("No other Car is in reach of Car "+q);
return;
}
}
}
double reach=Math.sqrt((val1*val1)+(val2*val2));
if(reach<=150)
{
if(visited[q]==true)
System.out.println("Car "+q+" is in reach of RSU but it already gets V2V
communication from Car 1");
else
{
System.out.println("Incident information passed from RSU to Car "+q);
int xcord=arrayofcar[q].getXcoordinate();
int ycord=arrayofcar[q].getYcoordinate();
else
System.out.println("Incident information cannot be passed from RSU to Car "+q+"
because Car "+q+" is not in a range of RSU");
}
System.out.println("No other Car is in reach of RSU");
}
}
return hash_in_hex.toString();
}
// catch block
catch(Exception e)
{
throw new RuntimeException(e);
}
}
}
// Driver class
public class Main {
// Driver method
public static void main(String[] args) {
System.out.println();
System.out.println();
}
}