Giter Site home page Giter Site logo

reputation-graph's Introduction

Reputation Graph

This project designed to store an acyclic graph composed of objects and calculate the reputation of an object within the graph. It utilizes Rust and SurrealDB, providing support for both WebAssembly (WASM) and Python 3 through PyO3.

Features

  • Storage of acyclic graph structures
  • Reputation calculation for individual objects within the graph
  • Utilizes Rust for high-performance and reliability
  • Compatible with SurrealDB for efficient data management

Integration

The project offers integration with the following environments:

  • WebAssembly (WASM): Enables usage within web applications for client-side computation.
  • Python 3: Provides a Python interface through PyO3, allowing seamless integration with Python projects and workflows.

Usage

To use the reputation-graph project, follow these steps:

  1. Install the necessary dependencies and tools.
  2. Integrate the project into your desired environment (WASM or Python 3).
  3. Utilize the provided functionalities to store acyclic graphs and perform reputation calculations for objects within the graph.

Dependencies

The project relies on the following components:

  • Rust: Provides the core functionality and performance optimizations.
  • SurrealDB: Offers efficient data management and storage for the acyclic graph structures.

Getting Started

To get started with the reputation-graph project, refer to the documentation and examples provided in the respective environment (WASM or Python 3).

Install

maturin build --release --features pyo3-bindings

wasm-pack build --release --target web -- --features wasm-bindings

For Python3.11 - Linux - x86_64

pip3 install https://github.com/reputation-systems/sigma-reputation-graph/raw/master/target/wheels/sigma_reputation_graph-0.0.0-cp311-cp311-manylinux_2_35_x86_64.whl

reputation-graph's People

Contributors

jse07 avatar

Stargazers

 avatar

Watchers

 avatar

reputation-graph's Issues

Apply polarization in the reputation proofs

Apply polarization in the proofs, this way a boolean attribute indicates whether it is in favor or against the pointer of said proof.
Likewise, limit the amount to positive values.

This will prevent double expenses with tests having both positive and negative amounts.

Compile WASM with storage feature

SurrealDB does not have the capability to use a database in the browser with Rust-WASM API, only JS. Therefore, it will need to be implemented when available.

Python nodo spending error: Too many open files.

Throws this error on spend.rs

thread '<unnamed>' panicked at src/database/spend.rs:28:16: Invalid response or error connection from the database: Db(Tx("IO error: While open a file for appending: /home/jse/Projects/compute-reputation-graph/reputation.db/013046.dbtmp: Too many open files")) note: run with RUST_BACKTRACE=1environment variable to display a backtrace Exception in thread Thread-1 (manager_thread): Traceback (most recent call last): File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner self.run() File "/usr/lib/python3.11/threading.py", line 975, in run self._target(*self._args, **self._kwargs) File "/home/usuario/nodo/src/manager/maintain_thread.py", line 90, in manager_thread maintain_containers() File "/home/usuario/nodo/src/manager/maintain_thread.py", line 48, in maintain_containers submit_reputation_feedback(token=token, amount=10) File "/home/usuario/nodo/src/reputation_system/simple_reputation_feedback.py", line 13, in submit_reputation_feedback lib_spend("", amount, pointer) pyo3_runtime.PanicException: Invalid response or error connection from the database: Db(Tx("IO error: While open a file for appending: /home/jse/Projects/compute-reputation-graph/reputation.db/013046.dbtmp: Too many open files"))

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.