The Chain - A simple way to integrate a blockchain inside your awesome applicati...
source link: https://github.com/GabrielLeonte/The-Chain
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
The Chain - A simple way to integrate a blockchain in your awesome application!
Features
- Easy to integrate to existing apps
- A very customizable chain
- Custom block time
- Block verify function
- Local database
Incoming Features!
- Node system - this will let you sync the chain between multiple nodes
- Multiple extract data features
- Block confirmation system
- SocketIO API
- Documentation
Tech
The chain uses a number of open source projects to work properly:
- ExpressJS -A Web API for a simple life!
- Progress - Flexible ascii progress bar
- Better SQLite3 - The fastest SQLite3 library to store your precious blocks
- MD5 - A small friend that help you to hash so much hashes
- Helmet - The best way to secure your blockchain WEB API
- CORS - Only here to help you with data
- Body Parser - CORS best friend
And of course The Chain itself is open source with a public repository on GitHub.
Installation
The Chain requires Node.js v10 (only tested) to run.
Install The Chain...
$ npm install thechain --save
A simple demo
const Chain = require("thechain"); const blockchain = new Chain(path, port, blockTime); // or new Chain() for a fast blockchain const block_one = blockchain.getBlock(1); console.log(block_one); // this will print the genesis block
Default params:
const path = "./chain/chain.db3"; const port = 4444; const blocktime = 60000; // 1 minute blocktime in ms
Methods
Verify the Chain
blockchain.verifyChain(); // No return
This method will be initially called to check every block, you can use it whenever you want, but warning, this method will stop your script until every block is checked.
Create new Block (WARNING! Better to set a block time and never use this method!)
blockchain.createNewBlock(); // No return
This method will create a new block when it is called, the block data will be the data contained in the data object at the block time.
Data push
const Object = ["test1", "test2"]; blockchain.push(Object); // No return
This method will push data into the block, and the block will be generated with the pushed data.
Get last 100 blocks
const last100blocks = blockchain.getLast100(); console.log(last100blocks);
This method will return the last 100 blocks.
Get x block
const blockNumber = 2; // Block number id const block = blockchain.getBlock(blockNumber); console.log(block); // This will print the block data
This method will return the block with x number.
Development
Want to contribute? Great! Start by telling us your wishes!
License
The chain is licensed as MIT
Free Blockchain Software, DAM Yeah!
Recommend
-
171
Files Permalink Latest commit message Commit...
-
6
Matrix CRDT Matrix-CRDT enables you to use Matrix as a backend for distributed, real-time collaborative web applications that sync automatically. The MatrixProvider is a sync provider for
-
5
The Metaverse Minute: Celebrating American Heart Month with Medi-verse ApplicationsFebruary 24, 2022 in Manufacturing | 5 min. read
-
6
Status: Experimental This project is currently in development...
-
28
Deploy an Orleans Cluster on Azure Container Apps This repository contains an end-to-end sample and tutorial for getting a Microsoft Orleans cluster running on Azure Container Apps. Worker microservices rapidly transmit data to a back-end...
-
27
lukilodz83 New memb...
-
4
Gerald Reinhard December 23, 2022 2 minute read...
-
3
Abi Abi 2 hours ago SAP Asset Manager MDK:Deploy option not available after right click on Application.app 19 View...
-
3
GraalVM Demos This repository contains demo applications and benchmarks written in Java, JavaScript, Python, R, Ruby, and other JVM languages such as Kotlin and Scala. These applications illustrate the diverse capabilities of
-
14
Wormhole Connect Launches to Simplify Cross-Chain Interoperability for Application Developers Developers can now connect t...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK