The goal of the project "Block[Chain] Alchemy Lab" ‒ creation of a toolkit for educational and research activities for blockchain-related tasks. This toolkit consist from programming framework and tools for modelling different blockchain and not only blockchain (indicated by the optionality of "chain") environments. Programming framework oriented to flexibility and possibility of changing different layers of architecture: consensus machinery, storage systems, transaction transport, smart contract implementation, etc.
At present, the implemented Python framework consists of classes:
The utiltity blockchain.py implements CLI for nodes running and REST API for handling of requests to nodes.
To model high-level networks, you can use extension classes for the popular SDN modeling system Mininet. Mininet's customization for BAL classes balmn.py adds several types of blockchain host nodes: Bitcoin, Etherium, modelling POW and Quantum nodes. You can run simulation networks using the standard mn utility or from Python programs.
Supporting tools implements functionality related to QKD channels. This tools may emulate QKD hardware, serve QKD "pools" and encrypt transport channels between nodes. They include:
VMs are based on the NauLinux QNet distro:
you may find in the project's Wiki.
2017-2019 (C) NauLinux Team