Giter VIP home page Giter VIP logo

core's Introduction

Openmesh Core

This is the repository of Openmesh Core which can operate as standalone software or as apart of an Xnode.

What is Openmesh Core?

Openmesh core is node software for interacting with the openmesh network to collect, seed and fetch data chosen by the Openmesh DAO. The core operates within an Intel SGX trusted execution environment, which it uses to prove to other nodes that it is running the same software.

Usage

Default usage:

go run main.go

Specify customised configuration file:

go run main.go -config <path-to-config>/config.yml

The default value for -config is ./config.yml.

Build and run:

go build -o openmesh-core
./openmesh-core -config <path-to-config>/config.yml

System Requirements

Further testing is required to determine the specs needed to run this software. TO-DO

Project Configuration

  • p2p: Libp2p networking configurations.
    • addr: Libp2p listening address, 0.0.0.0 for localhost.
    • port: Libp2p listening port, 0 for random port.
    • groupName: For classifying nodes. Only nodes with the same groupName can discover each other.
    • peerLimit: How many peers this node can have (inclusive).

Project Layout Guide

  • Root directory:
    • config.yml: Project configuration file (see the sections above for usage).
    • internal/: Unexported (private) libraries.
      • config/: Project configuration support.
      • core/: Top-level instance and libraries.
      • networking/: Networking supporting libraries (for both overlay networking and inter-node networking).
        • p2p/: P2P networking implementations (based on libp2p).
    • main.go: The main function.
    • Potential exported (public) libraries.

Openmesh Core Architecture

The openmesh core currently consists of the following software stack:

  1. CometBFT engine for consensus
  2. BadgerDB for storage
  3. LibP2P for networking

core's People

Contributors

dowdt avatar harrys522 avatar classmateada avatar harshu4 avatar rajathkotyal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.