Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Oxidized | 2,252 | 55 | 3 | 7 days ago | 49 | May 18, 2020 | 446 | apache-2.0 | Ruby | |
Oxidized is a network device configuration backup tool. It's a RANCID replacement! | ||||||||||
5gc_apis | 458 | 11 days ago | 17 | |||||||
RESTful APIs of main Network Functions in the 3GPP 5G Core Network | ||||||||||
Fabric Starter | 229 | 3 months ago | 33 | apache-2.0 | Shell | |||||
Starter Application and Deployment Scripts for Hyperledger Fabric | ||||||||||
Ngx Resource | 201 | 8 | 5 | a month ago | 42 | September 16, 2020 | 36 | TypeScript | ||
Resource (REST) Client for Angular 2 | ||||||||||
Blockchain | 183 | 3 years ago | apache-2.0 | Java | ||||||
A simple implementation of blockchain in java | ||||||||||
Cosmosjs | 144 | 2 | 11 | a year ago | 58 | March 25, 2022 | 1 | mit | JavaScript | |
:star: CosmosJS - Cosmos JavaScript Library | ||||||||||
Local Db Cache Retrofit Rest Api Mvvm | 119 | 3 years ago | Java | |||||||
App that interacts with a REST API using Retrofit. There is a local db cache and architecture is MVVM | ||||||||||
Btcpayserver.lightning | 86 | 12 | 23 days ago | 48 | September 09, 2022 | 10 | mit | C# | ||
Client library for lightning network implementations to build Lightning Network Apps in C#. | ||||||||||
Fabric Sdk Rest | 79 | 4 years ago | apache-2.0 | JavaScript | ||||||
Read-only mirror of https://gerrit.hyperledger.org/r/#/admin/projects/fabric-sdk-rest | ||||||||||
Bridge | 77 | 9 | 5 years ago | 108 | March 02, 2018 | agpl-3.0 | JavaScript | |||
Deprecated. Access the Storj network via simple REST API. |
This project aims to create a simple implementation of blockchain concept and demostrate it in a user friendly way.
This project consists of two main parts: agent and interface.
An agent stands for one peer which is able to store and mine blocks in the network. Every agent is connected to all the other agents in the network to construct a P2P distributed network. The basic functions for an agent are:
The algorithm for mining is the key of a blockchain. In this project we only use SHA256 hash to simulate the mining procedure.
An interface implemented with Springboot is included in this project to demostrate the usage of the blockchain. It might make people feel like a centralized management interface, however we need to understand that agents can also run independently. The interface is RESTful and all return data is in json format. A single page application is also provided to visualize the blockchain concept in a better way.
Navigate to project root dir and start the server:
$ gradle bootRun
Open http://localhost:8080/ in browser and try it from web page. Basic actions are:
Use curl directly from command line to interact with the server:
curl -X POST "http://localhost:8080/agent?name=A1&port=1001"
{"name":"A1","port":1001,"blockchain":[{"index":0,"timestamp":1502193341671,"hash":"4f99b67b06b6831886815ffe66a55be2e34dcefdfc16b6214710313062a8a480","previousHash":"ROOT_HASH"}]}
curl -X POST "http://localhost:8080/agent?name=A2&port=1002"
{"name":"A2","port":1002,"blockchain":[{"index":0,"timestamp":1502193341671,"hash":"4f99b67b06b6831886815ffe66a55be2e34dcefdfc16b6214710313062a8a480","previousHash":"ROOT_HASH"}]}
curl -X POST "http://localhost:8080/agent?name=A3&port=1003"
{"name":"A3","port":1003,"blockchain":[{"index":0,"timestamp":1502193341671,"hash":"4f99b67b06b6831886815ffe66a55be2e34dcefdfc16b6214710313062a8a480","previousHash":"ROOT_HASH"}]}
curl -X POST "http://localhost:8080/agent/mine?agent=A1"
{"index":1,"timestamp":1502194172250,"hash":"2461f27f811df15a969391c70f136869a282224e8cc6fe8b628d16a499515d21","previousHash":"4f99b67b06b6831886815ffe66a55be2e34dcefdfc16b6214710313062a8a480"}
curl -X POST "http://localhost:8080/mine?name=A3"
{"timestamp":1502194200235,"status":404,"error":"Not Found","message":"No message available","path":"/mine"}
curl http://localhost:8080/agent?name=A1
{"name":"A1","port":1001,"blockchain":[{"index":0,"timestamp":1502193341671,"hash":"4f99b67b06b6831886815ffe66a55be2e34dcefdfc16b6214710313062a8a480","previousHash":"ROOT_HASH"},{"index":1,"timestamp":1502194172250,"hash":"2461f27f811df15a969391c70f136869a282224e8cc6fe8b628d16a499515d21","previousHash":"4f99b67b06b6831886815ffe66a55be2e34dcefdfc16b6214710313062a8a480"}]}
curl http://localhost:8080/agent?name=A3
{"name":"A3","port":1003,"blockchain":[{"index":0,"timestamp":1502193341671,"hash":"4f99b67b06b6831886815ffe66a55be2e34dcefdfc16b6214710313062a8a480","previousHash":"ROOT_HASH"},{"index":1,"timestamp":1502194172250,"hash":"2461f27f811df15a969391c70f136869a282224e8cc6fe8b628d16a499515d21","previousHash":"4f99b67b06b6831886815ffe66a55be2e34dcefdfc16b6214710313062a8a480"}]}
curl http://localhost:8080/agent/all
curl -X DELETE http://localhost:8080/agent/all
This project is inspired by naivechain.