Categorygithub.com/gattaca-com/oracle-evm
module
0.0.0-20220328184738-3922e60573cf
Repository: https://github.com/gattaca-com/oracle-evm.git
Documentation: pkg.go.dev

# README

Oracle EVM

Avalanche is a network composed of multiple blockchains. Each blockchain is an instance of a Virtual Machine (VM), much like an object in an object-oriented language is an instance of a class. That is, the VM defines the behavior of the blockchain.

The OracleEVM is a customised EVM that uses stateful pre-compiles to create gas efficient access to high fidelity financial information in every block.

How it works:

  1. Validators stream deterministic financial data from the decentralised pyth network on solana
  2. During block production, the financial data is included in the block header
  3. Validators vote on the validity of the block (including the contained financial data)
  4. Financial data is written into the state db when blocks are accepted by nodes
  5. Stateful pre-compiles make data directly accessible from smart contracts

The main benefits of the OracleEVM are:

  • The conservation of block space
  • Very gas efficient access to financial data via pre-compiles
  • Validity of financial data is enforced by vm block verification and consensus

The Subnet EVM runs in a separate process from the main AvalancheGo process and communicates with it over a local gRPC connection.

Running test network

You can intitialize a local test network using run.sh script in scripts/run.sh

# Packages

Package accounts implements high level Ethereum account management.
No description provided by the author
No description provided by the author
Package consensus implements different Ethereum consensus engines.
No description provided by the author
Package core implements the Ethereum consensus protocol.
Package eth implements the Ethereum protocol.
Package ethclient provides a client for the Ethereum RPC API.
Package ethdb defines the interfaces for an Ethereum data store.
Package ethereum defines interfaces for interacting with Ethereum.
No description provided by the author
Package miner implements Ethereum block creation and mining.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Package rpc implements bi-directional JSON-RPC 2.0 on multiple transports.
No description provided by the author
No description provided by the author
Package trie implements Merkle Patricia Tries.
No description provided by the author
No description provided by the author