Application Programming Interface (API)

API is mainly used for client application development, and supports developers to design their own Decentralized Applications (DApps).

Address (Public Key)

The public key and the private key are a key pair obtained via a hash algorithm.

The public key is the public part while the private key is the non-public part.

The public key is usually used to encrypt the session secret, and the corresponding private key is used to perform digital signature verification and data decryption.

Application Layer

Developers can use interfaces to easily implement rich DApps and personalized wallets. VISION protocol completely follows the Google Protobuf to implement, therefore naturally supports multi-language extensions.


Excessive insignificant transactions cause network congestion, which happens in other public blockchain projects like Ethereum everyday, and it delays transaction confirmation. To avoid the network congestion, Vision Network allows each account to initiate a limited number of transactions for free with PHOTON Points.

PHOTON Points allows you to perform transactions on the VISION without paying any gas fees. Every account is distributed with 5000 PHOTON Points every 24 hours. Higher transaction frequency requires more PHOTON Points, which can be obtained by freezing VS.

A transaction is transmitted and stored in the form of a byte array inVision Network. The PHOTON Points consumed by a transaction is proportional to the size of the byte array in this transaction. For example if the byte array length of a transaction is 100, then the transaction needs to consume 100 PHOTON Points.


Blocks are used to store your transaction information. A complete block includes block size, block header, transaction counter, and transactions. When a transaction is broadcasted to the network, the nodes pick up the transaction. Either miners (PoW) or Super Representatives (DPoS) would perform the hashing of the transaction. Once the correct hash is calculated, which fits the block header format, the block will be added after the previous block.

Block Rewards

First Validator's (FV) block rewards are stored in a sub-account, and First Validator can redeem their rewards at Visionscan.

SpreadMint Reward

Through personal promotion links, users make subordinates set themselves as superiors when staking spreadmint, and subordinates and individuals can get SpreadMint rewards.

Content Delivery Network

Content Delivery Network (CDN) is designed to avoid the bottlenecks and links on the Internet which may affect the speed and stability of a data transmission. Content transmission can be faster and more stable with CDN.

Cold Wallet

Cold wallet installs on "cold" devices (any network-isolated devices, e.g. computers, mobile phones, etc.). An offline cold wallet isolates the wallet private key from the internet, ensuring its security.

Consensus Mechanism

The consensus mechanism is to complete the verification and confirmation of the transaction in a short period of time through the voting among nodes; for a transaction, if several nodes with irrelevant interests can reach a consensus, then the entire network could reach the consensus.

Core Layer

VISION includes a stack-based virtual machine with an optimized instruction set, as well as numerous modules for smart contracts, account management, and consensus.

Decentralized Applications (DApps)

A decentralized application is an application that runs on a decentralized P2P network. Since DApps do not depend on a central entity for operation, this eliminates the risk of a single point of failure. Records and data from DApps are also stored on the blockchain.


Like PHOTON Points, Entropy can be obtained by freezing VS, but there are no free Entropy distributed to every account. Different from PHOTON Points which is used in transactions, Entropy represents how much CPU resources are consumed during an execution of a smart contract.

1 Entropy equals 1 millisecond of a CPU spending in a smart contract execution. Depending on the complexity of a smart contract, the longer the execution time, the more Entropy the account have to spend for.

Freeze Operation

Freezes a specified number of VS to get VISION Power for voting. Freezing also generates PHOTON Point and Entropy. The amount of PHOTON Point and Entropy generated by freezing is the amount of frozen VS multiplied by the corresponding number of frozen days. Frozen VS cannot be circulated and cannot be used for transactions.

Google Protobuf

ProtoBuf is a flexible and efficient language-independent structured data representation method that can be used to represent communication protocols and data storage. Compared to XML, ProtoBuF is smaller, faster and simpler. You can use the ProtoBuf compiler to generate source code for specific languages (such as C++, Java, Python, etc., ProtoBuf currently supports mainstream programming languages) for serialization and deserialization.


GRPC is a language-neutral, platform-neutral, open source remote procedure call (RPC) system. In gRPC, a client application can directly call a server-side application on a different machine as if it were a local object, making it easier to create distributed applications and services. Like many RPC systems, gRPC is based on the idea of defining a service that specifies the methods (including parameters and return types) that can be called remotely. Implement this interface on the server side and run a gRPC server to handle client calls. Having a stub on the client can be the same as the server.

Hot Wallet

Hot wallet is known as a wallet connected to the internet. Hot wallet is said to be more vulnerable than cold wallet, as user's private key might be exposed due to potential technical security breaches or attacks by hackers, but it is more convenient to use than cold wallet.


JDK is a software development kit for the Java language, primarily for Java applications on mobile devices and embedded devices. JDK is the core of the entire Java development, it contains the JAVA runtime environment (JVM + Java system class library) and JAVA tools.


The KhaosDB used by VISION stores all newly generated bifurcation chains for a certain period of time. When there is a need to switch the main chain, with the support of KhaosDB, the verification node can quickly switch the effective chain to the new main chain.

Rocks DB

In order to meet both access speed and rapid development requirements, VISION will adopt Rocks DB in the early stage of development, making VISION a fully tailored database.

Private Testnet

Test private network: Other developers configure their own network id, server ip, and test according to the tutorial deployment files provided by VISION. Only developers participating in the deployment have access.


Remote Procedure Call (RPC) is a protocol one program can use to request a service from a program located in another computer on a network without having to understand the network's details. A procedure call is also sometimes known as a function call or a subroutine call.


Scalability is one of the features of the VISION network. Being scalable means that a system or network has the ability to handle an increasing amount of work, or has the potential to expand through this capability.

Smart Contracts

A smart contract is a computer protocol with a purpose to digitally verify the negotiation of a contract. They not only define the rules and penalties related to an agreement in the same way that a traditional contract does, but it can also automatically enforce those obligations. If and when the pre-defined rules are met, the agreement is automatically enforced. The smart contract code facilitates, verifies, and enforces the negotiation or performance of an agreement or transaction. It is the simplest form of decentralized automation.

Storage Layer

VISION's technical team designed a unique distributed storage protocol for VISION, including block storage and state storage. In the design of the storage layer, VISION introduced the idea of a graph database to more easily meet the needs of real-world diverse data storage.


VRC‌20 is a technical standard used for smart contracts on the VISION blockchain for implementing tokens with the VISION Virtual Machine (VVM). It’s fully compatible to ERC‌-20. Interface is as follows:

contract VRC20Interface {
function totalSupply() public constant returns (uint);
function balanceOf(address tokenOwner) public constant returns (uint balance);
function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
function transfer(address to, uint tokens) public returns (bool success);
function approve(address spender, uint tokens) public returns (bool success);
function transferFrom(address from, address to, uint tokens) public returns (bool success);

event Transfer(address indexed from, address indexed to, uint tokens);
event Approval(address indexed tokenOwner, address indexed spender, uint tokens);

VRC10 is a technical token standard supported by VISION blockchain natively, without VISION Virtual Machine (VVM) involves.