Send Crypto from user A to user B

1. User B is already on Etherum blockchain and has address (0x3333..)
2. User A joins recently installs Metamask wallet (as chrome extension). Provide a password(password) and logs in.

metamask

3. Wallet generates public addresses for different blockchains for user A Etherum(0x22254747426B6BE571a27d13432D76C3876E1849), Bitcoin(..)
  Check how Metamask Wallet calculates these 20 byte blockchain addresses?

metamask

4. Now User A enters User B's Blockchain address(0x333..) and Ether to transfer and broadcasts the message to blockchain.
Gas is amount charged for sending. Nonce is random number.


From: 0x222..
To: 0x3333..
ETH: 1
Gas: .02
Nonce: 15

struct Transaction {
	string from;
	string to;
	float amount;
	float gas;
	int64 nonce;
}

Transaction trxn = {0x222.., 0x3333.., 1, 0.02, 15}

trxn --> [Keccak256-hash] --> 0xhhh --> [Sign-ECSDA]  --> DigitalSignature

Message
{
  trxn,
  DigitalSignature
}
      
metamask