Architecture Design

Three main modules:

1004

external data source
VictorLink node
Vision blockchain
These are the main components of the VictorLink oracle node architecture, which we will introduce one by one below.

External source data

External data sources represent data available outside the native blockchain, such as centralized exchanges, centralized oracles, API interfaces of stock exchanges, etc.

VictorLink node

VictorLink nodes run task processing, monitor contract requests on the chain (monitoring in Event mode), obtain data from external data sources, and then submit data results to the blockchain.

Vision blockchain

Blockchain nodes mainly refer to the API services provided by Vision Blockchain, including Fullnode API and Event API services. Through these APIs, VictorLink nodes can listen to specific contract events to start tasks, and can also sign broadcast transactions through API services and return data to consumer contracts.

VictorLink request model

create request

1390

process the request
The events of the oracle contract will asynchronously trigger the following processes:

1320

Aggregate Request Model

In practical applications, it is often necessary to aggregate multiple oracles to obtain more accurate results while filtering out outliers.

For example, the price aggregation function, which aggregates the average or median price from oracle services provided by multiple exchanges.

Price aggregation related logic reference:https://github.com/vision-consensus/victorlink/blob/master/vvm-contracts/v1.0/VisionUser.sol