Wiki

What is Adamnite?

Welcome to the Adamnite Wiki!
Below is an overview and glossary of certain aspects of Adamnite's Ecosystem.

Overview

Adamnite is a secure and intuitive blockchain development platform, meant to allow developers to easily create distributed contract-based applications that run natively on the internet. Nite is the proposed native currency of the platform, used to transact value across the network, and used as an incentive for decentralized validators to participate actively in the upkeep of the platform.

Adamnite can be thought of as a programming environment; while there is a native distributed ledger, the primary improvement over legacy smart contract development platforms is the inclusion of a safe and easy to use programming language that comes integrated with formal verification to allow developers to write, check, and compile their programs all within one programming environment. In that sense, Adamnite can be thought of as a programming stack similar to Java or Python.

Get Started

You can get started with the Adamnite Protocol in many ways. Reach out on our Discord. In short, even if you are not a developer, you can get started by running either a development node or a consensus node. More information will come on this with the public testnet launch. If you are developer, visit the A1 Github to get started. Watch the video on the home page as well.

History and Research

Adamnite was initially described in a white-paper titled “Adamnite, a secure and scalable blockchain development platform”. Our white-paper can be found here.

For more advanced readers, the technical paper, which is perodically updated and serves as a formal specification for the Adamnite protocol, might be a better resource.
The first programmable blockchain was Ethereum, which introduced a framework for the creation of complex smart contracts and the creation of decentralized applications. You can learn more about Ethereum here.

A1 Programming Language

A1 is Adamnite's native smart contract programming language. A1 is a modular and friendly programming language that outperforms its other blockchain native counterparts through its ease of use and pythonic nature. A1 is pythonic in nature and takes great inspiration from the E programming language. A1 extends the fundamental principles of E to create a programming language capable of defining high-level instructions that ultimately execute on a blockchain through smart contract support.

On top of its ease of use and versatility, A1 will also offer support through vetted and predefined libraries to support the creation of complex applications. A1's libraries will also enable developers to declare various properties for compilation checks in order to verify that applications and individual smart contracts are secure.

ADVM

The Adamnite Virtual Machine (ADVM) is Adamnite's computational engine. The ADVM compiles and executes native bytecode known as ADM code. This allows for smart contracts and programs written on Adamnite to be executed on the blockchain. ADM code is Turing-Complete, meaning it gives developers as much flexibility as needed when developing applications.

Smart contracts are compiled down to opcodes which are then run by the ADVM. These opcodes can define simple transactions and payouts, or take into account external data to manipulate the overall state of the network. To achieve Adamnite’s goal of both safety and modularity, the ADVM (and by extension, ADM code) are implementations of the popular Web Assembly (WASM) paradigm. WASM is a general format for executing binary instructions in different environments.

WASM was chosen for Adamnite because of its standardization and modularity, specifically since WASM's framework uses the standard arithmetic of 64 bits rather than 256 bits as used by the Ethereum virtual machine. WASM also allows for the creation of specific binary modules as needed to supplement the core implementation. WASM’s standardization also helps with on-chain code readability, thus allowing users to validate the low level byte code that is actually deployed on-chain.