poasim

module
v0.0.0-...-7de8d3f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 29, 2019 License: GPL-3.0

README

PoASim - Blockchain simulator

Blockchain simulator implemented in Golang. Based on godes library

Implementing all of the Ethereum layers - RLPx, DEVp2p, Ethereum Subprotocol, PoASim is able to simulate Proof of Authority consensus alghoritms, namely Clique and Aura.

Required packages

godes

go get github.com/agoussia/godes

go-ethereum

go get github.com/ethereum/go-ethereum

gonum

go get gonum.org/v1/plot/...

go_rng

go get github.com/leesper/go_rng

golang-set

go get github.com/deckarep/golang-set

Directories

Path Synopsis
src
network/eth
Package eth implements the Ethereum protocol.
Package eth implements the Ethereum protocol.
network/eth/common
Package common contains various helper functions.
Package common contains various helper functions.
network/eth/consensus
Package consensus implements different Ethereum consensus engines.
Package consensus implements different Ethereum consensus engines.
network/eth/consensus/clique
Package clique implements the proof-of-authority consensus engine.
Package clique implements the proof-of-authority consensus engine.
network/eth/core
Package core implements the Ethereum consensus protocol.
Package core implements the Ethereum consensus protocol.
network/eth/core/rawdb
Package rawdb contains a collection of low level database accessors.
Package rawdb contains a collection of low level database accessors.
network/eth/core/state
Package state provides a caching layer atop the Ethereum state trie.
Package state provides a caching layer atop the Ethereum state trie.
network/eth/core/types
Package types contains data types related to Ethereum consensus.
Package types contains data types related to Ethereum consensus.
network/eth/ethdb
Package ethdb defines the interfaces for an Ethereum data store.
Package ethdb defines the interfaces for an Ethereum data store.
network/eth/ethdb/memorydb
Package memorydb implements the key-value database layer based on memory maps.
Package memorydb implements the key-value database layer based on memory maps.
network/eth/fetcher
Package fetcher contains the block announcement based synchronisation.
Package fetcher contains the block announcement based synchronisation.
network/eth/miner
Package miner implements Ethereum block creation and mining.
Package miner implements Ethereum block creation and mining.
network/eth/trie
Package trie implements Merkle Patricia Tries.
Package trie implements Merkle Patricia Tries.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL