Architecture
LGCY utilizes a 3-layer architecture which is separated into Storage Layer, Core Layer, and Application Layer. We adhere to Google Protocol Buffers which are language-neutral, platform-neutral, for structuring our data.
The core layer includes smart contracts, account management, and consensus. The LGCY Network will have a stack-based virtual machine implemented within and will use an optimized instruction set. Solidity is the smart contract language—chosen in order to better support dApp developers. This will be followed by future support of other advanced languages. LGCY’s consensus mechanism is based on DPOS but because of the nature of this blockchain there are some special changes.
STORAGE
LGCY utilizes a distributed storage protocol which consists of Block Storage and State Storage. The real world has a need for many types of data storage. A graph database is therefore implemented into the design of the storage layer.
BLOCKCHAIN STORAGE
LevelDB was chosen as our blockchain storage. It is developed by Google and has a proven track record. It supports arbitrary byte arrays as both keys and values, singular get, put and delete, batched put and delete, bi-directional iterators, and simple compression using the Snappy algorithm.
Please see the offical Solidity documentation: https://solidity.readthedocs.io/
STATE STORAGE
In the full-node memory LGCY has a KhaosDB supports witnesses to switch from their own active chain into a new main chain. It can also store all the newly forked chains created within a certain period of time. Blockchain storage is also protected by making it more stable from being terminated abnormally in an intermediate state.
APPLICATION
One of the shining points of the LGCY network is the ability for developers to create dApps and customized wallets. The best part is that the applications and uses are limitless because of the ability for smart contracts to be deployed and executed on our chain.
PROTOCOL
LGCY protocol adheres to Google Protocol Buffers.
PROTOCOL BUFFERS
Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages.
Google Protocol Buffers currently support generated code in Java, Python, Objective-C, and C++. With our new proto3 language version, you can also work with Dart, Go, Ruby, and C#, “with more languages to come.” There is also the option to use third-party implements. Protobuf unifies the API definitions, which makes development easier, and also optimizing data transfers. Users can simply take the API .proto from LGCY’s protocol repository and integrate through the automatically-generated code libraries.
Protocol Buffers is 3 to 10 times smaller and 20 to 100 times faster than XML, with less ambiguous syntax. Protocol Buffers generate data access classes that are easier to use programmatically.
HTTP
A RESTful HTTP API is provided on the LGCY Protocol as an alternative to the Protobuf API. While the interfaces are the same, the HTTP API can be used in javascript clients.
LGCY VIRTUAL MACHINE (LVM)
The LVM is a lightweight, Turing complete virtual machine. The LVM connects seamlessly with the existing development ecosystem to provide millions of global developers with a blockchain system that is efficient, convenient, stable, secure, and scalable.
Last updated