![VRRB Logo](https://github.com/versatus/brand-assets/raw/33cf3981d13f439a43ddfde5966a8a5fd58ff5ce/logo/versatus_logo_white.png)
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.
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.
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 | β | π» |
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