Skip to content

Create full-stack applications in your preferred languages with your favorite development tools.

License

Notifications You must be signed in to change notification settings

versatus/versatus

Repository files navigation

VRRB Logo

Versatus is the Universal dApp Engine, unlocking decentralized development beyond smart contracts.

With Versatus, you can create full-stack applications in your preferred programming languages with your favorite development tools. Follow our three-step process to develop, deploy and dynamically scale yoru app on our network.

More devs. More dApps. More Users.




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