ilyar / versatus

Fast, Scalable, Decentralized Blockchain that enables a language agnostic smart contract platform and a flexible, familiar DevOps workflow.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VRRB Logo

Versatus is a fast, scalable Layer 1 blockchain truly designed for mass adoption. Versatus is powered by a novel consensus mechanism called Proof-of-Claim, which features dual-scalability for record-breaking TPS and fast time to finality. Versatus offers a flexible, composable and safe, (programming) language agnostic compute platform powered by unikernel containers. The Versatus compute platform takes web3 beyond the paradigm of ownership, tokenization and event triggered transfers, offering a decentralized general execution environment that can deliver on the promise of a decentralized internet and financial

Versatus provides the most flexible developer experience available on any smart contract platform, allowing developers to build in any language they choose. Beyond language agnosticism, Versatus programs are secure by design, allowing developers to spend more time thinking about building core business logic and design. This provides developers with shorter roadmaps, lower audit costs, leads to fewer bugs, less maintenance, and ultimately, will lead to better end user experiences.



nowthatsflexible.gif



Versatus is a permissionless network, be they operators, developers, users or some combination thereof, Versatus is decentralized, censorship resistant and accessible to anyone with an internet connection.



Scroll to the bottom for information on how to start a node.

High Level Roadmap

This is extremely high level, for each Epic there are multiple features and under each feature there are many stories and tasks

Items that are more than 50% complete are marked with 🚧 while items that are less than 50% complete are marked as ❌, all items marked with βœ… are complete, tested, and integrated into the node runtime

πŸ”— : Alphanet πŸ“Ά Betanet πŸ’» Devnet

Epic Description State Network
Network P2P Network enabling communication between network participants βœ… πŸ”—
Election Proof of Claim Algorithm Implementation and Integration βœ… πŸ”—
Genesis Quorum Protocol Formation of the first quorums at Genesis event βœ… πŸ”—
Key Generator Protocol to generate Dealerless Distributed Keypairs for validator nodes, and ECDSA keypairs for all nodes βœ… πŸ”—
State Store Left-Right Wrapped Accounts Database and State Trie βœ… πŸ”—
Mempool Left-Right Wrapped Pending Transaction Store βœ… πŸ”—
Validator Unit Left-Right enabled transaction validation protocol βœ… πŸ”—
Farmer-Harvester Farmer-Havester Quorum model for secure parallel execution and validation of transactions βœ… πŸ”—
DAG Rounds based Directed Acyclic Graph to append blocks to βœ… πŸ”—
Miner Unit Protocol for consolidating proposal blocks produced by miners into a single point of reference signifying the end of a round and finality of transactions (once certified) βœ… πŸ”—
Scheduler Decentralized task buffer and allocator to maximize efficiency of Farmer Quorum nodes βœ… πŸ”—
Block Production Enables harvesters to produce conflict minimized, extractable value maximized proposal blocks to be appended to the DAG βœ… πŸ”—
Node CLI Provides an interface for operators to spin up a Versatus node βœ… πŸ”—
Wallet CLI Provides an interface for users to interact with the Versatus network 🚧 πŸ”—
Token Emission Protocol Ensures that the proper number of tokens in each block and epoch are produced βœ… πŸ“Ά
Fee Model Provides economic incentives to operators beyond emission subsidy, provides token burning to limit inflation, and economic incentives to maintain speed at scale ❌ πŸ“Ά
Reputation Tracking Tracks the reputation of nodes, and the message credits, to align incentives, reduce malicious behavior and allow for dynamic stake calculation to prevent accumulation and centralization of staking nodes 🚧 πŸ“Ά
Dynamic Stake Calculator Protocol to calculate the minimum required stake of nodes in the network in order for the given nodes to become eligible as validators ❌ πŸ“Ά
Block Indexer Indexes, sequences and stores blocks for display in UIs that need access to block and transaction data 🚧 πŸ“Ά
Block Explorer Provides a web based user interface for scanning blocks, tracking transactions, etc. 🚧 πŸ“Ά
Node Metrics Tracks the performance of a given node, cluster of nodes, and/or all nodes in the network ❌ πŸ“Ά
Rent Model Provides economic incentives to developers to build small, modular programs that do one thing well, and link them together by returning commands to the orchestration network. ❌ πŸ’»
Whistleblower Protocol Protocol for reporting malicious behavior, and initiating a stake slashing vote ❌ πŸ’»
Wallet GUI Provides a user interface for interacting with Versatus network ❌ πŸ’»
Unikernel Compute Runtime Enables programming language agnostic compute in the Versatus network ❌ πŸ’»

Starting a Node

In order to start a node, run cargo run Running cargo run -- -help will display available cli flags for node configuration and management.

The above builds and runs a Versatus node in debug mode to run in optimized release mode you must first build the release target using the following command:

git clone https://github.com/versatus/versatus
cd /path/to/cloned/repo
cargo build --release

This will produce a target file (and directory if this is your first time running cargo run or cargo build in this repo.

Then, to display the available CLI flags, you can run:

cd target/release
./versatus -help

About

Fast, Scalable, Decentralized Blockchain that enables a language agnostic smart contract platform and a flexible, familiar DevOps workflow.

License:MIT License


Languages

Language:Rust 95.4%Language:TypeScript 3.8%Language:Makefile 0.3%Language:Shell 0.2%Language:Nix 0.1%Language:CSS 0.1%Language:Dockerfile 0.0%Language:JavaScript 0.0%Language:WebAssembly 0.0%