All Projects → oguzbilgic → zincir

oguzbilgic / zincir

Licence: other
Simple distributed blockchain experiment written in Ruby

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to zincir

Galaxy
Galaxy is an asynchronous parallel visualization ray tracer for performant rendering in distributed computing environments. Galaxy builds upon Intel OSPRay and Intel Embree, including ray queueing and sending logic inspired by TACC GraviT.
Stars: ✭ 18 (-76.32%)
Mutual labels:  distributed
Jobber
Jobber is lightweight, simple and distributed task scheduler.
Stars: ✭ 25 (-67.11%)
Mutual labels:  distributed
paxakos
Rust implementation of Paxos consensus algorithm
Stars: ✭ 79 (+3.95%)
Mutual labels:  distributed
gid
Golang 分布式ID生成系统,高性能、高可用、易扩展的id生成服务
Stars: ✭ 55 (-27.63%)
Mutual labels:  distributed
MXNetSharp
MXNet bindings for .NET/F#
Stars: ✭ 14 (-81.58%)
Mutual labels:  distributed
ddal
DDAL(Distributed Data Access Layer) is a simple solution to access database shard.
Stars: ✭ 33 (-56.58%)
Mutual labels:  distributed
dask-sql
Distributed SQL Engine in Python using Dask
Stars: ✭ 271 (+256.58%)
Mutual labels:  distributed
dxram
A distributed in-memory key-value storage for billions of small objects.
Stars: ✭ 25 (-67.11%)
Mutual labels:  distributed
malib
A parallel framework for population-based multi-agent reinforcement learning.
Stars: ✭ 341 (+348.68%)
Mutual labels:  distributed
manager
The API endpoint that manages nebula orchestrator clusters
Stars: ✭ 28 (-63.16%)
Mutual labels:  distributed
Credits
Credits(CRDS) - An Evolving Currency For An Evolving Society
Stars: ✭ 14 (-81.58%)
Mutual labels:  distributed
scrapy-kafka-redis
Distributed crawling/scraping, Kafka And Redis based components for Scrapy
Stars: ✭ 45 (-40.79%)
Mutual labels:  distributed
horse-messaging
Open Source Messaging Framework. Queues, Channels, Events, Transactions, Distributed Cache
Stars: ✭ 65 (-14.47%)
Mutual labels:  distributed
blockchain-hackathon
An electronic health record (EHR) system built on Hyperledger Composer blockchain
Stars: ✭ 67 (-11.84%)
Mutual labels:  distributed
ddes
JS/TypeScript framework for Distributed Event Sourcing & CQRS
Stars: ✭ 28 (-63.16%)
Mutual labels:  distributed
erl dist
Rust Implementation of Erlang Distribution Protocol
Stars: ✭ 110 (+44.74%)
Mutual labels:  distributed
Savior
(WIP)The deployment framework aims to provide a simple, lightweight, fast integrated, pipelined deployment framework for algorithm service that ensures reliability, high concurrency and scalability of services.
Stars: ✭ 124 (+63.16%)
Mutual labels:  distributed
yang-db
YANGDB Open-source, Scalable, Non-native Graph database (Powered by Elasticsearch)
Stars: ✭ 92 (+21.05%)
Mutual labels:  distributed
nebula
A distributed, fast open-source graph database featuring horizontal scalability and high availability
Stars: ✭ 8,196 (+10684.21%)
Mutual labels:  distributed
OpenABL
A domain-specific language for parallel and distributed agent-based simulations.
Stars: ✭ 24 (-68.42%)
Mutual labels:  distributed

Zincir

Proof of concept distributed blockchain written in ruby.

Install rubygems

$ bundle

Start the first node

$ bundle exec ruby main.rb
Solved: 000008d0b97a697d303f46c7835ffdad23c78574df158169906aaf873e4906e7 1
Server started at http://localhost:4253
Solved: 00000d6d022947c5aba6308e802052a305eabdc7efb97f7ca275c6ef0e48fd70 2
Solved: 00000c289256068a869fc1a45d9381e609215928179123214c01a031423ff36e 3
Solved: 000000834d2d178965a668660dc5cec6e3a16498d928b899c3f3cbb17ebbca82 4
Node connected: http://localhost:4869
Received: 00000d3e95f7e557ffeefaa849c2c72e516a3971db409e37ebc9880e26eaef51 5
...

Start additional nodes

$ bundle exec ruby main.rb ANOTHER_NODE_IP
Connecting to node: http://localhost:4253
Downloaded 000008d0b97a697d303f46c7835ffdad23c78574df158169906aaf873e4906e7 1
Downloaded 00000d6d022947c5aba6308e802052a305eabdc7efb97f7ca275c6ef0e48fd70 2
Downloaded 00000c289256068a869fc1a45d9381e609215928179123214c01a031423ff36e 3
Downloaded 000000834d2d178965a668660dc5cec6e3a16498d928b899c3f3cbb17ebbca82 4
Finished downloading the chain
Solved: 00000d3e95f7e557ffeefaa849c2c72e516a3971db409e37ebc9880e26eaef51 5
...

Implementation TODO

  • Clean up code
  • Don't use global variables: $blockchain, $network, $port
  • Create a rubygem
  • Disable Puma's startup message

Protocol TODO

  • Dump/load blockchain to/from a file when starting/exiting the process
  • Make difficulty dynamic with the hash rate
  • Specify a model for data
  • Share list of connected nodes with other nodes
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].