159 Resources
Golang raft-algorithm Libraries
Randomly generated tile maps using Oskar Stålberg's wave function collapse algorithm
go-wfc Procedurally-generated tile maps using wave function collapse. Demos Live demo (wasm): https://zfedoran.github.io/go-wfc-example/ Live algorith
Data Structures and Algorithms implementation in Go
Data Structures and Algorithms Clean and simple implementation in Go Implementation There are several data structures and algorithms implemented in th
Implementation of the Feynman algorithm to solve any problem!
Feynman Algorithm Allegedly coined in jest by Murray Gell-Mann to describe Richard Feynman's incredible problem solving ability, this simple algorithm
Ratelimit - This package provides a Golang implementation of the leaky-bucket rate limit algorithm
Go rate limiter This package provides a Golang implementation of the leaky-bucke
Go-enum-algorithm - Implement an enumeration algorithm in GO
go-enum-algorithm implement an enumeration algorithm in GO run the code go run m
Go-opera-test - EVM-compatible chain secured by the Lachesis consensus algorithm
Opera EVM-compatible chain secured by the Lachesis consensus algorithm. Building
Implement based on course of mit_6.824 and raft paper
Mit6.824_raft implement based on course of mit_6.824 and raft paper ##Mit 6.824 ###2A leader election Implement Raft leader election and heartbeats (A
An API for hashing password in PostgreSQL with Golang
hashing-password An API for hashing password in PostgreSQL with Golang Using PostgreSQL to store Encrypted string (can be passwords ideally) using Sal
6.824-Raft - There are three roles in Raft algorithm, Follower, Candidate, Leader, each node store currentTerm, votedFor and log
6.824-Raft Raft note There are three roles in Raft algorithm, Follower, Candidat
Smartsort - A smart sorting algorithm for Go to sort filename containing digits that is not zero padded
smartsort A smart sorting algorithm for Go to sort filename containing digits th
Length-preserving encryption algorithm
hctr2 Length-preserving encryption algorithm https://eprint.iacr.org/2021/1441.pdf Security Disclosure This project uses full disclosure. If you find
Gcra - Package gcra implements the generic cell rate algorithm
gcra Package gcra implements the generic cell rate algorithm (GCRA). Example opt
Tinykv - The TinyKV course builds a key-value storage system with the Raft consensus algorithm
The TinyKV Course The TinyKV course builds a key-value storage system with the R
Go-chain - EVM-compatible chain secured by the Lachesis consensus algorithm
ICICB galaxy EVM-compatible chain secured by the Lachesis consensus algorithm. B
Implementation of RFC-6238 (Time-Based One-Time Password Algorithm) in Go.
TOTP TOTP (RFC-6238) implementation in Go with no external dependencies. INSTALL You can do little copying the totp.go file or add this package as Go
Pet-blockchain-go is a simple proof of work mining algorithm in Go.
pet-blockchain-go Pet-blockchain-go is a simple proof of work mining algorithm in Go. Inspired by: cosme12 / SimpleCoin nosequeldeebee / blockchain-tu
This is my implementation of Raft consensus algorithm that I did for own learning.
This is my implementation of Raft consensus algorithm that I did for own learning. Please follow the link to learn more about raft consensus algorithm https://raft.github.io. And Soon, I will be developing same algorithm in Java as well
Labs, solutions and related materials from the MIT 6.824 Distributed Systems course.
MIT 6.824 Distributed Systems Labs, solutions and related materials from the MIT 6.824 Distributed Systems course. Overview From the official website:
Implements string functions widely used in other languages but absent in Go.
xstrings Go package xstrings is a collection of string functions, which are widely used in other languages but absent in Go package strings. All funct
An implementation of the consensus algorithm Map Reduce.
An implementation of the consensus algorithm Map Reduce. Framework written by Professor Matthew. Implemented by Makara Teu.
Walker's alias method is an efficient algorithm to sample from a discrete probability distribution.
walker-alias Walker's alias method is an efficient algorithm to sample from a discrete probability distribution. This means given an arbitrary probabi
A framework to build clusters using the hashicorp's raft implementation.
Go - Rafting A framework to build clusters using the hashicorp's raft implementation. high quality video version Install go get -u github.com/danielga
HPB-layer2 - An implmentation for PriBank core algorithm in Go
PriBankGo An implmentation for PriBank core algorithm in Go #1 Set user number i
Raft-grpc-demo - Some example code for how to use Hashicorp's Raft implementation with gRPC
raft-grpc-example This is some example code for how to use Hashicorp's Raft impl
Polygol - Boolean polygon clipping/overlay operations (union, intersection, difference, xor) on Polygons and MultiPolygons
polygol Boolean polygon clipping/overlay operations (union, intersection, differ
Cli-algorithm - A cli program with A&DS in go!
cli-algorithm Objectives The objective of this cli is to implement 4 basic algorithms to sort arrays been Merge Sort Insertion Sort Bubble Sort Quick
Uses Google's classic diff-match-patch algorithm to compare two files, sending the color highlighted output to *testing.T for use when testing expected versus actual results.
Compare-files uses Google's classic diff-match-patch algorithm to compare two files. It sends the color highlighted output to *testing.T for use when
Raft_test - How to use Hashicorp's Raft implementation with gRPC
raft-grpc-example This is some example code for how to use Hashicorp's Raft impl
Snowflake algorithm generation worker Id sequence
sequence snowflake algorithm generation worker Id sequence 使用雪花算法生成ID,生成100万个只需要
The most concise and efficient algorithm of consistent hash based on golang
consistent This package of consistent is the most concise and efficient algorithm of consistent hash based on golang. Example Quick start: package mai
lru: the most concise and efficient LRU algorithm based on golang
lru This package of lru is the most concise and efficient LRU algorithm based on golang. Example Quick start: package main import ( "fmt" "github.
Genetic algorithm for machine learning in Go.
μ8 Genetic algorithm for machine learning. Inspired by CodeBullets amazing video on the subject. This is a work in progress Steps Natural selection. M
A Blum-Blum-Shub-Generator written in Go
gobbs A Blum-Blum-Shub-Generator in Go. Status Testing Usage Create a new generator with default config: import "github.com/tsdtsdtsd/gobbs" g, err :
Brushing questions is not the goal, but the mastering method is
Brushing questions is not the goal, but the mastering method is If you think it
This is a comprehensive system that simulate multiple servers’ consensus behavior at local machine using multi-process deployment.
Raft simulator with Golang This project is a simulator for the Raft consensus protocol. It uses HTTP for inter-server communication, and a job schedul
EVM-compatible chain secured by the Lachesis consensus algorithm
ICICB galaxy EVM-compatible chain secured by the Lachesis consensus algorithm. Building the source Building galaxy requires both a Go (version 1.14 or
A project around helping to prevent typing typos. TySug (Typo Suggestions) suggests alternative words with respect to keyboard layouts
TySug TySug is collection of packages, together they form a keyboard layout aware alternative word suggester. It can be used as both a library and a w
Raft: a consensus algorithm for managing a replicated log
Raft Consensus Algorithm Raft is a consensus algorithm for managing a replicated
High performance golang HTTP Router using Radix tree-based routing algorithm with zero memory allocation.
High performance golang HTTP Router using Radix tree-based routing algorithm with zero memory allocation. Example Benchmark func ServeHTTP: package hh
Golang implementation of the Optimal Reciprocal Collision Avoidance (ORCA) algorithm
go-orca Golang implementation of the Optimal Reciprocal Collision Avoidance (ORCA) algorithm Disclaimer This project is under active development and i
Simple distributed kv-store using ABD algorithm.
Distributed-kv-store Simple distributed kv-store using ABD algorithm. API GET /key Get value by key. 302 = found key. PUT /key Put key with value. 201
Filtering spam in mail server, protecting both client privacy and server algorithm
HE Spamfilter SNUCSE 2021 "Intelligent Computing System Design Project" Hyesun Kwak Myeonghwan Ahn Dongwon Lee abstract Naïve Bayesian spam filtering
Distributed disk storage database based on Raft and Redis protocol.
IceFireDB Distributed disk storage system based on Raft and RESP protocol. High performance Distributed consistency Reliable LSM disk storage Cold and
Easy to use Raft library to make your app distributed, highly available and fault-tolerant
An easy to use customizable library to make your Go application Distributed, Highly available, Fault Tolerant etc... using Hashicorp's Raft library wh
A simple distributed key-value store by using hashicorp/raft
raftkv This repository holds a simple distributed key-value store by using hashicorp/raft. raftkv provides gRPC and HTTP APIs. Please take a look API
rEST API to test JWT on RS256 and HS256 algorithm.
JWT Check - Mock para tests This repo is just a simple example of JWT token generation using RS256 algorithm and HS256 algorithm. This api is responsi
Distributed disk storage database based on Raft and Redis protocol.
IceFireDB Distributed disk storage system based on Raft and RESP protocol. High performance Distributed consistency Reliable LSM disk storage Cold and
The TinyKV course builds a key-value storage system with the Raft consensus algorithm
The TinyKV Course The TinyKV course builds a key-value storage system with the Raft consensus algorithm. It is inspired by MIT 6.824 and TiKV Project.
A Golang package implementing the fastCDC chunking algorithm
go-fastcdc go-fastcdc is a Golang package implementing the fastCDC chunking algorithm. This is a work in progress. chunkerOpts := fastcdc.ChunkerO
TTAK.KO-12.0223 Lightweight Encryption Algorithm with Galois/Counter Mode (LEA-GCM)
LEACrypt The Lightweight Encryption Algorithm (also known as LEA) is a 128-bit block cipher developed by South Korea in 2013 to provide confidentialit
TTAK.KO-12.0276 LSH Recursive Hasher
LSH Recursive Hasher TTAK.KO-12.0276 LSH Recursive Hasher written in Go: Usage of lshsum: lshsum [-v] [-b N] [-c hash.ext] [-r] -t file.ext -b
A naive implementation of Raft consensus algorithm.
This implementation is used to learn/understand the Raft consensus algorithm. The code implements the behaviors shown in Figure 2 of the Raft paper wi
Code examples for Algorithm Analysis and design (CS311) [School project]
Introduction Algorithm Analysis and design 2021/2022 Code examples implemeneted using golang Why Golang? Low Level programming language Awesome garbag
rgkv is a distributed kv storage service using raft consensus algorithm.
rgkv rgkv is a distributed kv storage service using raft consensus algorithm. Get/put/append operation High Availability Sharding Linearizability Tabl
XXTEA is a fast and secure encryption algorithm.
XXTEA Golang Introduction xxtea is a fast and secure encryption algorithm. This project is the Golang implementation of the xxtea encryption algorithm
An implementation of a distributed KV store backed by Raft tolerant of node failures and network partitions 🚣
barge A simple implementation of a consistent, distributed Key:Value store which uses the Raft Concensus Algorithm. This project launches a cluster of
The TinyKV course builds a key-value storage system with the Raft consensus algorithm.
The TinyKV Course The TinyKV course builds a key-value storage system with the Raft consensus algorithm. It is inspired by MIT 6.824 and TiKV Project.
A linearizability distributed database by raft and wisckey.
AlfheimDB A linearizability distributed database by raft and wisckey, which supports redis client. Build This project build by mage, you will need ins
Donald Knuth's Algorithm 7.2.2.1M for covering with multiplicities and colors via dancing links
Covering with multiplicities and colors via Dancing Links Go implementation of Donald Knuth's Algorithm 7.2.2.1M for covering with multiplicities and
The TinyKV course builds a key-value storage system with the Raft consensus algorithm.
The TinyKV Course The TinyKV course builds a key-value storage system with the Raft consensus algorithm. It is inspired by MIT 6.824 and TiKV Project.
Is this the simplest (and most surprising) sorting algorithm ever?
Is this the simplest sorting algorithm
Go implementation of Donald Knuth's Algorithm 7.2.2.1C for exact cover with colors.
go-dlx Go implementation of Donald Knuth's Algorithm 7.2.2.1C for exact cover with colors. This code is based on the Algorithm C described in http://w
EVM-compatible chain secured by the Lachesis consensus algorithm.
ICICB-Galaxy EVM-compatible chain secured by the Lachesis consensus algorithm. Building the source Building galaxy requires both a Go (version 1.14 or
Go implementation Welford’s method for one-pass variance computation
Variance and standard deviation caluculation using variance's algorithm Table of Contents Introduction Installation Usage Contributing License Introdu
Scalable golang ratelimiter using the sliding window algorithm. Currently supports only Redis.
go-ratelimiter Scalable golang ratelimiter using the sliding window algorithm. Currently supports only Redis. Example usage client := redis.NewClient
Algorithms and Data Structures Solved in Golang
Algorithms and Data Structures Solved in Golang Hi! I'm Bruno Melo and this repository contains a lot challenges solved on many plataforms using go as
I'm sick. And... fibonacci sequence.
Fibonacci Sequence Like I said, Fibonnaci Sequence. Be happy that I didn't make any more fuss about this "achievement" (it's not, for anyone) Source c
Raft library Raft is a protocol with which a cluster of nodes can maintain a replicated state machine.
Raft library Raft is a protocol with which a cluster of nodes can maintain a replicated state machine. The state machine is kept in sync through the u
The simplest sorting algorithm that sorts in quadratic time
Simplest sort Showcases the simplest sorting algorithm that works in quadratic time. From here. The pseudocode for this algo can be seen below (sorts
记录算法学习和LeetCode、LintCode、codewars的学习路程。A record of algorithm learning.
Problem List Leetcode、LintCode、Codewars Algorithm problem solution written by golang. LeetCode id Name(Github) Name(Gitee) 00001 TwoSum TwoSum 00003 L
Eunomia is a distributed application framework that support Gossip protocol, QuorumNWR algorithm, PBFT algorithm, PoW algorithm, and ZAB protocol and so on.
Introduction Eunomia is a distributed application framework that facilitates developers to quickly develop distributed applications and supports distr
A concurrent rate limiter library for Golang based on Sliding-Window rate limiter algorithm.
ratelimiter A generic concurrent rate limiter library for Golang based on Sliding-window rate limitng algorithm. The implementation of rate-limiter al
Data structure,Algorithms implemented in Go (for education)
Data structure,Algorithms implemented in Go (for education) List of Content : 1. Math - 2. String - 3. Conversions - 4. Sort - 5. Search - 6. Data str
A phoenix Chain client based on the go-ethereum fork,the new PoS consensus engine is based on the VRF algorithm.
Phoenix Official Golang implementation of the Phoenix protocol. !!!The current version is for testing and developing purposes only!!! Building the sou
Fast and Scalable RPC Framework
Rony (Fast and Scalable RPC Framework) About Rony lets you create a clustered aware service easily. Checkout Wiki Performance Rony is very fast and wi
Rei chain fork from quorum using raft consensus
GoQuorum is an Ethereum-based distributed ledger protocol with transaction/contract privacy and new consensus mechanisms. GoQuorum is a fork of go-eth
Assembly-optimized MD4 hash algorithm in Go
md4 MD4 hash algorithm in Go. Assembly-optimized for amd64 platforms. MD4 is cryptographically broken and should should only be used where compatibili
A distributed fault-tolerant order book matching engine
Go - Between A distributed fault-tolerant order book matching engine. Features Limit orders Market orders Order book depth Calculate market price for
A Go-flavored attempt to reimplement the git-crypt algorithm in native Go
Golang port of git-crypt functionality
A faster RWLock primitive in Go, 2-3 times faster than RWMutex. A Go implementation of concurrency control algorithm in paper Left-Right - A Concurrency Control Technique with Wait-Free Population Oblivious Reads
Go Left Right Concurrency A Go implementation of the left-right concurrency control algorithm in paper Left-Right - A Concurrency Control Technique w
Geth client which picks the most profitable blocks to mine using a greedy algorithm
Greeden-Geth Greeden-Geth is a protocol-agnostic client which uses a greedy algorithm to pick the most profitable blocks to submit to the network out
IceFireDB - Distributed disk storage system based on Raft and RESP protocol.
Distributed disk storage database based on Raft and Redis protocol.
Go implementation of the JWZ email threading algorithm
The JWZ Threading algorithm written in Go This is an open source Go implementation of the widely known JWZ message threading algorithm originally writ
a* pathfinding algorithm written in go
astar a* (a-star) pathfinding algorithm written in go Wikipedia: EN: A* search algorithm DE: A*-Algorithmus Install go get github.com/jpierer/astar@ma
A phoenix Chain client based on the go-ethereum fork,the new PoA consensus engine is based on the VRF algorithm.
Phoenix Official Golang implementation of the Phoenix protocol. !!!The current version is for testing and developing purposes only!!! Building the sou
simulate linkstate algorithm for routing
for final project of computer-network course in SBU university (spring 2021) we implemented a Link-state simulation in go.
A Go implementation of the core algorithm in paper Indexing Boolean Expression
Boolean Expression Indexer Go library A Go implementation of the core algorithm in paper Indexing Boolean Expression, which already supports the fol
Distributed reliable key-value store for the most critical data of a distributed system
etcd Note: The main branch may be in an unstable or even broken state during development. For stable versions, see releases. etcd is a distributed rel
The lightweight, distributed relational database built on SQLite
rqlite is a lightweight, distributed relational database, which uses SQLite as its storage engine. Forming a cluster is very straightforward, it grace
Elastic Key-Value Storage With Strong Consistency and Reliability
What is Elasticell? Elasticell is a distributed NoSQL database with strong consistency and reliability. Compatible with Redis protocol Use Elasticell
A distributed MySQL binlog storage system built on Raft
What is kingbus? 中文 Kingbus is a distributed MySQL binlog store based on raft. Kingbus can act as a slave to the real master and as a master to the sl
k-means clustering algorithm implementation written in Go
kmeans k-means clustering algorithm implementation written in Go What It Does k-means clustering partitions a multi-dimensional data set into k cluste
A simple thread-safe, fixed size LRU written in Go. Based on dominictarr's Hashlru Algorithm. 🔃
go-hashlru A simple thread-safe, fixed size LRU written in Go. Based on dominictarr's Hashlru Algorithm. 🔃 Uses map[interface{}]interface{} to allow
LFU Redis implements LFU Cache algorithm using Redis as data storage
LFU Redis cache library for Golang LFU Redis implements LFU Cache algorithm using Redis as data storage LFU Redis Package gives you control over Cache
Easegress (formerly known as EaseGateway)is an all-rounder traffic orchestration system
Easegress (formerly known as EaseGateway)is an all-rounder traffic orchestration system
fim is a collection of some popular frequent itemset mining algorithms implemented in Go.
fim fim is a collection of some popular frequent itemset mining algorithms implemented in Go. fim contains the implementations of the following algori
efficient string matching in Golang via the aho-corasick algorithm.
aho-corasick Efficient string matching in Golang via the aho-corasick algorithm. x20 faster than https://github.com/cloudflare/ahocorasick and x3 fast
Implementation of Boyer-Moore fast string search algorithm in Go
boyermoore Implementation of Boyer-Moore fast string search algorithm in Go