LEO (Low Ethereum Orbit) is an Ethereum Portal Network client.

LEO

LEO (Low Ethereum Orbit) is an Ethereum Portal Network client.

What makes LEO different from other Portal Network clients is that it uses libp2p for the networking layer. There are several reasons behind this decision but the main driver is to make Ethereum state more accessible.

Contributing

Found a bug or have a feature request? Open an issue.

LEO follows the Contributor Covenant Code of Conduct.

Maintainers

@nasdf

License

LEO is licensed under GNU Affero General Public License v3.0

Similar Resources

A Binance Smart Chain client based on the go-ethereum fork

A Binance Smart Chain client based on the go-ethereum fork

Dec 31, 2022

A Binance Smart Chain client based on the go-ethereum fork

Binance Smart Chain The goal of Binance Smart Chain is to bring programmability and interoperability to Binance Chain. In order to embrace the existin

Feb 8, 2022

Yet another Binance Smart Chain client based on TrustFi Network

TrustFi Smart Chain The goal of TrustFi Smart Chain is to bring programmability and interoperability to Binance Chain. In order to embrace the existin

Mar 27, 2021

Streaming Fast on Ethereum

Streaming Fast on Ethereum

Stream Ethereum data like there's no tomorrow

Dec 15, 2022

a Golang sdk for working with DeFi protocols, and ethereum compatible blockchains

a Golang sdk for working with DeFi protocols, and ethereum compatible blockchains

A golang sdk for working with DeFi protocols and general utilities for working with ethereum-compatible blockchains. packages bclient bindings cli con

Dec 15, 2022

run ABI encoded data against the ethereum blockchain

Run EVM code against a database at a certain block height - Note You can't run this against a running geth node - because that would share the db and

Nov 11, 2021

Go implementation of Ethereum proof of stake

Prysm: An Ethereum Consensus Implementation Written in Go This is the core repository for Prysm, a Golang implementation of the Ethereum Consensus spe

Jan 1, 2023

Ethereum Dapp Go API

Web3 Go Ethereum Dapp Go API, inspired by web3.js. Report Bug ยท Pull Request Introduction This is the Ethereum Golang API which connects to the Generi

Nov 29, 2022

Ethereum on StreamingFast

Ethereum on StreamingFast Requirements (clone repos, build stuff...) Install Geth git clone [email protected]:streamingfast/go-ethereum.git cd go-ethereu

Dec 23, 2022
Comments
  • Things that don't obviously map cleanly onto this new architecture.

    Things that don't obviously map cleanly onto this new architecture.

    A: Transaction Gossip

    The portal network design for transaction gossip requires that:

    • nodes can limit how much of the mempool they are expected to process
    • nodes that want to view the full mempool can do so

    The current designs for this involve actually shaping the network topology around these two needs. It isn't obvious to me how this can be accomplished using the functionality provided by libp2p

    B: O(1) access to the state

    We need these things:

    • queries can be made under a specific state root
    • we query by key which is the full path into the trie where the leaf should live
    • the response is contains both the leaf and a proof that anchors the returned data to the state root it should be under.

    First I'll start with a completely naive solution that does seem to map fine to the new architecture.

    We will store things roughly as (key, state_root) => (leaf, proof), which means that we will key off of both the state root, and the key in the trie, and we will store both the leaf value and the proof. For this to work without anything extra fancy we must push a full new copy of the state into the network at every single block, anchoring each leaf to the state root (regardless of whether the value has changed since the previous block).

    In the DHT-portal network, we get around this by having nodes store a proof that they are continually updating as new data shows up in new blocks. This gives us both efficiency of storage since we don't have to store duplicate values that haven't changed, as well as efficient data ingress since we only have to pipe in the new/updated state data.

    It isn't clear to me how we can accomplish similar things using IPLD/bitswap.

  • Narrow down JSON RPC methods

    Narrow down JSON RPC methods

    We need to figure out which of the Ethereum JSON RPC routes the portal network can support. There's currently a list of all routes in docs/json-rpc.md.

Related tags
This library aims to make it easier to interact with Ethereum through de Go programming language by adding a layer of abstraction through a new client on top of the go-ethereum library.

Simple ethereum client Simple ethereum client aims to make it easier for the developers to interact with Ethereum through a new layer of abstraction t

May 1, 2022
Jan 7, 2023
Ethereum-vanity-wallet - A fork of https://github.com/meehow/ethereum-vanity-wallet but the key can be exported to a JSON keystore file

ethereum-vanity-wallet See https://github.com/meehow/ethereum-vanity-wallet This version: doesn't display the private key let's you interactively expo

Jan 2, 2022
Go-ethereum - Official Golang implementation of the Ethereum protocol

Go Ethereum Official Golang implementation of the Ethereum protocol. Automated b

Jan 4, 2022
Ethereum Consortium Network Deployments Made Easy
 Ethereum Consortium Network Deployments Made Easy

Ethereum Consortium Network Deployments Made Easy Overview The next phase of our support of blockchain on Microsoft Azure is the release of the Ethere

Dec 20, 2020
Smart.go is a pure Golang library to access disk low-level S.M.A.R.T. information

Smart.go is a pure Golang library to access disk low-level S.M.A.R.T. information. Smart.go tries to match functionality provided by smartctl but with golang API.

Dec 27, 2022
Huobi Eco Chain client based on the go-ethereum fork

The Huobi Open Platform is a unified infrastructure platform based on the technical, traffic and ecological resources of the Huobi Group, and will be gradually open to the blockchain industry.

Dec 31, 2022
A phoenix Chain client based on the go-ethereum fork,the new PoA consensus engine is based on the VRF algorithm.

Phoenix Official Golang implementation of the Phoenix protocol. !!!The current version is for testing and developing purposes only!!! Building the sou

Apr 28, 2022
Tool for monitoring your Ethereum clients. Client-agnostic as it queries the standardized JSON-RPC APIs
Tool for monitoring your Ethereum clients. Client-agnostic as it queries the standardized JSON-RPC APIs

e7mon Tool for monitoring your Ethereum clients. Client-agnostic as it queries the standardized JSON-RPC APIs. However, the execution client should be

Dec 20, 2022
A Commander for Go implementation of official Ethereum Client

Young A Commander for Go implementation of official Ethereum Client by zhong-my. Overview Young Dependencies Young stands on the shoulder of many grea

Oct 14, 2021