All Projects → sbaresearch → Simcoin

sbaresearch / Simcoin

Licence: mit
Blockchain simulation framework with Docker and Python.

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Simcoin

Stocklook
crypto currency library for trading & market making bots, account management, and data analysis
Stars: ✭ 119 (-74.68%)
Mutual labels:  blockchain, ethereum, bitcoin, litecoin
Cryptolights
Live visualisation of blockchain transactions for popular cryptocurrencies
Stars: ✭ 54 (-88.51%)
Mutual labels:  blockchain, ethereum, bitcoin, litecoin
Optimal Buy Cbpro
Scheduled buying of BTC, ETH, and LTC from Coinbase Pro, optimally!
Stars: ✭ 288 (-38.72%)
Mutual labels:  ethereum, bitcoin, litecoin
Ethatomicswap
Ethereum atomic swap
Stars: ✭ 298 (-36.6%)
Mutual labels:  ethereum, bitcoin, litecoin
Squeezer
Squeezer Framework - Build serverless dApps
Stars: ✭ 3,242 (+589.79%)
Mutual labels:  blockchain, ethereum, bitcoin
Ethereumkit
EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum.
Stars: ✭ 400 (-14.89%)
Mutual labels:  blockchain, ethereum, bitcoin
Time Series Machine Learning
Machine learning models for time series analysis
Stars: ✭ 261 (-44.47%)
Mutual labels:  blockchain, ethereum, bitcoin
Cryptolist
Curated collection of blockchain & cryptocurrency resources.
Stars: ✭ 3,501 (+644.89%)
Mutual labels:  blockchain, ethereum, bitcoin
Introducing Ethereum And Solidity
Programming examples from the book.
Stars: ✭ 221 (-52.98%)
Mutual labels:  blockchain, ethereum, bitcoin
Crypto Arbitrage
Automatic Cryptocurrency Trading Bot using Triangular or Exchange Arbitrages
Stars: ✭ 369 (-21.49%)
Mutual labels:  ethereum, bitcoin, litecoin
Ta4j Origins
A Java library for technical analysis ***Not maintained anymore, kept for archival purposes, see #192***
Stars: ✭ 354 (-24.68%)
Mutual labels:  ethereum, bitcoin, litecoin
Unchained
My personal study of blockchain related technology.
Stars: ✭ 379 (-19.36%)
Mutual labels:  blockchain, ethereum, bitcoin
Crypto Whale Watching App
Python Dash app that tracks whale activity in cryptocurrency markets.
Stars: ✭ 389 (-17.23%)
Mutual labels:  ethereum, bitcoin, litecoin
Merkletreejs
🌱 Construct Merkle Trees and verify proofs in JavaScript.
Stars: ✭ 238 (-49.36%)
Mutual labels:  blockchain, ethereum, bitcoin
Coinpricebar
💰 Cryptocurrency prices on MacBook Touch Bar
Stars: ✭ 290 (-38.3%)
Mutual labels:  ethereum, bitcoin, litecoin
Rusty Blockparser
Bitcoin Blockchain Parser written in Rust language
Stars: ✭ 226 (-51.91%)
Mutual labels:  blockchain, bitcoin, litecoin
Edge React Gui
Edge Wallet React Native GUI for iOS and Android
Stars: ✭ 303 (-35.53%)
Mutual labels:  ethereum, bitcoin, litecoin
Miningcore
Miningcore is a high-performance Mining-Pool Engine that runs on Linux and Windows and supports a variety of crypto-currencies.
Stars: ✭ 378 (-19.57%)
Mutual labels:  ethereum, bitcoin, litecoin
Golden Wallet React Native
Golden - Best Wallet Ever
Stars: ✭ 201 (-57.23%)
Mutual labels:  blockchain, bitcoin, litecoin
Blockchain Stuff
Blockchain and Crytocurrency Resources
Stars: ✭ 2,549 (+442.34%)
Mutual labels:  blockchain, ethereum, bitcoin

Simcoin - A Blockchain Simulation Framework 🏗️

Simcoin facilitates realistic simulations of blockchain networks (currently Bitcoin only). The network is virtualised by the simulation software on one single Unix host machine. To be able to spawn multiple peers the CPU-heavy proof-of-work is deactivated. Blocks and transactions are created by sending respective commands over RPC to the nodes according to a pre-configured simulation scenario.

Getting started 🏁

Prerequisites: python3, pip3, docker, make and R. Check if you have them installed.

  • git clone https://github.com/simonmulser/simcoin.git
  • cd simcoin
  • make install (if fails check output, you may need to install other dependencies depending on your OS)
  • make build-image (consider to use multiple threads to build the image - check Dockerfile under code/docker)
  • make demo
  • checkout results under data/last_run and the generated report data/last_run/postprocessing/report.pdf

Stack 📚

Performance 🚀

When running a simulation, monitor the host machine closely. Check utilisation of RAM, CPU, Disk and Network. Further, control the log created by the host system (dmesg) as well as the log produced by the simulation framework (data/debug.log) and nodes (data/last_run/node-X/debug.log). To improve the performance consider the following:

  • Increase the ARP-cache if you encounter a neighbour table (ARP-cache) overflow in the kernel messages (dmesg).
  • Run the whole simulation in RAM by using tmpfs.
  • Use a better host machine! 😉

Outlook/Possible improvements 🔮

  • Improving performance and stability by using Unix domain sockets for host to peer communication.
  • Sustaining different blockchain projects such as Ethereum or Litecoin.
  • Using the ELK-Stack to parse, store and analyse the log files.
  • Using Kubernetes to orchestrate containers
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].