Skip to content

Core functionality of a blockchain, including the ability to add new blocks to the chain using proof of work, verify transactions and the integrity of the chain, and secure the data stored in the blocks using cryptographic hashes

Notifications You must be signed in to change notification settings

rwiteshbera/Hyperion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hyperion Header

A blockchain project aims to implement the features of a blockchain system, such as adding new blocks through a proof of work process, verifying transactions and ensuring the security of the chain through cryptographic hashes, and safeguarding the information stored in the blocks. Additionally, it also aims to include a wallet feature that utilizes Elliptic Curve Digital Signature Algorithm (ECDSA) to generate private and public keys.

Introducing Hyperion that has a wide range of advanced features including:

✅ Utilizing a proof of work algorithm for adding new blocks.

✅ Nonce generation to make the mining process more difficult and fair.

✅ A visual representation of the blockchain on the server to make the process more transparent.

✅ Create and execute new transactions.

✅ Verifying transactions to ensure security.

✅ Securing the data stored in the blocks through cryptographic hashes.

✅ A built-in wallet system that utilizes Elliptic Curve Digital Signature Algorithm (ECDSA) for generating private and public keys.

✅ The storage of wallet data is made more secure and efficient through the use of BitCask, which is a high-performance storage engine that utilizes a log-structured hash table to quickly store and retrieve key/value data.

✅ A Command Line Interface (CLI) to manage the wallet and run the blockchain network.

Usage Guides

  • Create New Blockchain Wallet
go run main.go --create

Warning: Never disclose the private key. Anyone with your private key can steal your assets.

  • List All Blockchain Wallets
go run main.go --list
  • Get Private Key and Public Key for Transaction
go run main.go --get <WALLET_ADDRESS>
  • Run Blockchain Server
go run main.go --port <PORT_NUMBER>
  • Visualize Blocks in Hyperion
Endpoint : http://localhost:<PORT>
Request Type : GET
  • Make new transaction
Endpoint : http://localhost:<PORT>/new
Request Type : POST

Request Body in JSON Format:
{
"privateKey" : "",
"publicKey" : "",
"sender" : "",
"recipient" : "",
"value" : 1
}
  • Verify Transaction
Endpoint : http://localhost:<PORT>/explore/<TRANSACTION_HASH>
Request Type : GET
  • Check Wallet Balance
Endpoint : http://localhost:<PORT>/wallet/<WALLET_ADDRESS>
Request Type : GET

About

Core functionality of a blockchain, including the ability to add new blocks to the chain using proof of work, verify transactions and the integrity of the chain, and secure the data stored in the blocks using cryptographic hashes

Topics

Resources

Stars

Watchers

Forks

Languages