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:
- Validators stream deterministic financial data from the decentralised pyth network on solana
- During block production, the financial data is included in the block header
- Validators vote on the validity of the block (including the contained financial data)
- Financial data is written into the state db when blocks are accepted by nodes
- 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